文章目录
- 前言
- 一、ProGuard工具简介
- 二、混淆过程
- 1.将Java项目导出成jar文件
- 2.混淆
- 三、验证混淆结果
- 1.jad介绍及安装
- 2.将.class文件反编译成.java文件
前言
目前的研究方向是代码混淆这一块,这两天在找一些业内广泛使用的Java代码混淆工具。刚用了ProGuard,做个总结。
一、ProGuard工具简介
ProGuard是一个压缩、优化和混淆Java字节码文件的免费的工具,它可以删除无用的类、字段、方法和属性。可以删除没用的注释,最大限度地优化字节码文件。它还可以使用简短的无意义的名称来重命名已经存在的类、字段、方法和属性。常常用于Android开发用于混淆最终的项目,增加项目被反编译的难度。(摘自百度百科)
我的理解是:ProGuard主要注重外形混淆,对变量名、方法名等做简单替换。
二、混淆过程
1.将Java项目导出成jar文件
1.在Eclipse中右键项目,选中Export
2.选择Java-》JAR file
需要注意的是,此处需要手动设置生成的jar文件保存目录及名称。
在实际的项目中是需要选择主类文件,然后就可以使用java -jar test.jar直接运行项目了。由于本例的重点是代码混淆,因此选择与不选择都可以。
2.混淆
在网上找了一个汉化版的ProGuard工具,其实使用英文版也可以锻炼自己的英文能力。(网盘链接: https://pan.baidu.com/s/1eNj5YmUt3Z2Sl8XfIFZ5sQ 提取码: my5b)
三、验证混淆结果
1.jad介绍及安装
a.由于混淆后的文件也是jar,jar文件中是.class文件,我们无法阅读,因此使用jad进行反编译成可阅读的java文件。
b.需要先安装jad:http://www.varaneckas.com/jad/ 自行选择下载版本。下载后解压到自己选定的目录下即可。
c.配置到环境变量中。
cmd-》jad 可知是否配置成功。
2.将.class文件反编译成.java文件
先要将jar文件解压,再进行后续步骤。
转化完成。
转化完成后,经过对比,发现在一定程度上对代码进行了混淆。