应公司要求,研究了一下混淆器ProGuard。遇到了不少的问题。
1、内存溢出,使用指令启动混淆器
java -jar proguard.jar @configuration.pro
java -Xms128m -Xmx192m -jar proguardgui.jar configuration.pro
2、注解被模糊
-keepattributes *Annotation*
3、部分参数传递时没有通过request取值,被模糊后取不到参数
-keep parameter names
4、war包混淆后丢失class,将工程打成jar包混淆,然后将混淆后的class文件覆盖war包中的class,工程运行正常,不知道是否有隐患
5、需要注意的是在混淆的时候要将所有需要的jar都放在Library里面,包括所用到的jar依赖的其他jar包
6、为了怎家混淆难度,可在
ava -jar proguard.jar @configuration.pro后再加上 -./dictionaries/windows.txt这样生成的类名都是window系统命名系统严令禁止的名字,反编译时就更增加难度了.
对于模糊的结果不是很满意,继续研究