Jon*_*Jon 3 java obfuscation netbeans
我对混淆很新,并且对蚂蚁没有很多经验.有人为我提供了一种使用ProGuard(或任何其他开源混淆器)来混淆常规Java应用程序的方法.目前我正在使用NetBeans 6.5.1,只有在创建JAVA ME时才能看到混淆能力,而不是像我一样创建Java应用程序.我看过http://wiki.netbeans.org/DevFaqModuleObfuscation,但不明白他们在说什么.
感谢您的任何意见.
您指向的常见问题解答是混淆NetBeans模块.这是一个非常复杂的用例,因此我假设它不是您感兴趣的常规应用程序.
非常简单:模糊处理过程会更改类,方法和字段的名称,从而使应用程序的逆向工程变得更加困难.
这会导致一些问题:
此外,proguard剥离未使用的代码.如果您有任何已使用但未直接引用的类,您也必须使用-keep它们.
proguard文档包含一个如何模糊简单应用程序的示例.以下是解释的示例(名称较少混淆):
-injars application.jar # obfuscate all the classes in the named jars
-outjars obfuscated.jar # save all the obfuscated classes to the named jar
-libraryjars <java.home>/lib/rt.jar # these are all the libraries that the application uses
-printmapping obfuscation.map # save a file linking the original names to the obfuscated ones
# this helps understanding stack traces from the obfuscated application
# we need to keep our main class and the application entry point
-keep public class com.mycompany.Application {
public static void main(java.lang.String[]);
}
Run Code Online (Sandbox Code Playgroud)
除非您指定-dontshrink,否则proguard将删除未保留或未从任何保留代码引用的任何代码.因此,在上面的配置中,将删除主方法未引用(间接)的任何代码.
Proguard包含一个Ant任务,可用于与NetBeans工作流集成.我建议先手动进行实验,但不要使用Ant,因为这会使一个复杂的因素退出过程.使用NetBeans构建应用程序jar,然后尝试使用上述配置进行模糊处理(如果需要,可以填充).确保测试混淆的应用程序,因为无数的东西可能会出错.在进行了有效的proguard配置后,尝试将Ant任务添加到构建文件中,以自动化NetBeans中的混淆过程.
| 归档时间: |
|
| 查看次数: |
6550 次 |
| 最近记录: |