首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Working maven模糊示例

问Working maven模糊示例
EN

Stack Overflow用户
提问于 2014-01-22 14:38:18
回答 1查看 25.4K关注 0票数 7

我只想混淆简单的maven java应用程序。我使用maven-proguard-plugin。必须对所有类main/java进行模糊处理。我尝试了不同的配置,但没有成功。最后一个是:

代码语言:javascript
复制
    <build>
    <plugins>
        <plugin>
            <groupId>com.github.wvengen</groupId>
            <artifactId>proguard-maven-plugin</artifactId>
            <version>2.0.6</version>
            <dependencies>
                <dependency>
                    <groupId>net.sf.proguard</groupId>
                    <artifactId>proguard-base</artifactId>
                    <version>4.10</version>
                    <scope>runtime</scope>
                </dependency>
            </dependencies>
            <executions>
               <execution>
                   <phase>package</phase>
                   <goals><goal>proguard</goal></goals>
               </execution>
            </executions>
            <configuration>
                <proguardVersion>4.10</proguardVersion>
                <options>
                    <option>-keep class *{*;}</option>
                </options>
                <libs>
                    <lib>${java.home}/lib/rt.jar</lib>
                </libs>
            </configuration>
        </plugin>
    </plugins>
</build>

结果-所有类都存在于目标jar中,但没有混淆,jad很好地对其进行了反编译。如何做正确的混淆?无法理解--只是混淆所有源码都是非常不常见的任务吗?所有其他插件开箱即用。为什么我必须在这个选项中输入一些奇怪的选项?我已经花了一天了。我希望约定胜过配置!:)

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-01-22 16:12:41

Maven这样一个伟大的东西:)。你可以做出你想要的,甚至不理解的,你想要的。在我读完the introduction之后,我明白这是一个愚蠢的问题。保持参数是非常重要的。在这里,传入不能更改的公共方法。当然,插件本身并不能理解你打算使用什么方法。正确的配置:

代码语言:javascript
复制
<build>
    <plugins>
        <plugin>
            <groupId>com.github.wvengen</groupId>
            <artifactId>proguard-maven-plugin</artifactId>
            <version>2.0.6</version>
            <dependencies>
                <dependency>
                    <groupId>net.sf.proguard</groupId>
                    <artifactId>proguard-base</artifactId>
                    <version>4.10</version>
                </dependency>
            </dependencies>
            <executions>
               <execution>
                   <phase>package</phase>
                   <goals><goal>proguard</goal></goals>
               </execution>
            </executions>
            <configuration>
                <proguardVersion>4.10</proguardVersion>
                <options>
                    <option>-keep public class myapp.Main{public static void main(java.lang.String[]);}</option>
                </options>
                <libs>
                    <lib>${java.home}/lib/rt.jar</lib>
                    <lib>${java.home}/lib/jce.jar</lib>
                </libs>
            </configuration>
        </plugin>
    </plugins>
</build>
票数 14
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21275911

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档