仅混淆Java方法列表

时间:2014-09-16 14:46:28

标签: java proguard

我试图混淆JavaFX应用程序但事实证明,在编译和测试应用程序之后,有太多例外的Java方法缺失。

<plugin>
                <groupId>com.github.wvengen</groupId>
                <artifactId>proguard-maven-plugin</artifactId>
                <version>2.0.7</version>
                <dependencies>
                    <dependency>
                        <groupId>net.sf.proguard</groupId>
                        <artifactId>proguard-base</artifactId>
                        <version>5.0</version>
                    </dependency>
                </dependencies>
                <executions>
                    <execution>
                        <phase>package</phase>
                        <goals>
                            <goal>proguard</goal>
                        </goals>
                    </execution>
                </executions>
                <configuration>
                    <proguardVersion>5.0</proguardVersion>
                    <obfuscate>true</obfuscate>
                    <injarNotExistsSkip>true</injarNotExistsSkip>
                    <injar>${project.build.finalName}.jar</injar>
                    <outjar>${project.build.finalName}.jar</outjar>
                    <!--
                    <outputDirectory>${project.build.directory}</outputDirectory>
                    -->
                    <options>
                        <option>-keep public class test.ofluscationtest.MainApp{public static void main(java.lang.String[]);}</option>
                        <!-- <option></option> -->
                    </options>
                    <libs>
                        <lib>${java.home}/lib/rt.jar</lib>
                        <lib>${java.home}/lib/jce.jar</lib>
                        <lib>${java.home}/lib/ext/jfxrt.jar</lib>
                        <lib>${java.home}/lib/jsse.jar</lib>
                    </libs>
                </configuration>
            </plugin>

有没有办法配置Proguard插件来混淆Java方法列表?没有找到jar文件中的任何Java代码。

1 个答案:

答案 0 :(得分:2)

我不确定你是否可以混淆一些方法(很可能不是)芽我确定你可以选择你想要混淆的类

-keep class !com.myapp.myclass { *; }

因此,您可以通过这种方式设计代码(如果可能)并保持其他部分不变。

请记住这一点。它不会是一些强烈的混淆。更多的是你混淆它变得越强。当谈到去混淆时,很容易接近原始的源代码。