1. 什么是代码混淆
代码混淆是将计算机程序的代码,转换成一种功能上等价,但是难于阅读和理解的形式的行为。防止其它用户使用反编译软件获得我方代码,增加代码的安全性。
例如我们与其它公司进行技术协作,我们需要为对方提供Jar包,但不想将源代码泄露给对方,这时可以通过代码混淆技术来对代码进行保护。
2. Android系统中怎样对jar包进行混淆
android的sdk中提供了专门进行代码混淆的工具(proguardgui.bat),文件位置:
{ANDROID_SDK}\tools\proguard\bin\proguardgui.bat,此工具是带图形界面的
1) 运行
双击运行proguardgui.bat执行文件,弹出操作界面
2)选择Next,进入Jar包选择界面
在上半部分的面板中,点击Add Input..按钮选择需要进行混淆的jar包
点击Add output...按钮选择混淆后Jar包的输出位置,如图所示,我选择的是对D:\test.jar进行混淆,混淆完成后输出到D:\output.jar
如果所要混淆的jar引用了其它jar包,需要在下面的面板进行选择,如图所示,默认会有rt.jar
选择完成后点击Next
3) 进入Shrinking面板,选择需要保护的类
对Jar包进行混淆,在Keep面板中需要将Library打上勾,如图所示,选择完成后点击Next
4)进入到Obfuscation面板,默认即可,直接点击Next
5)进入到Optimization面板,默认选项即可,直接点击Next
6) 进入到Information面板,直接点击Next
7) 进入到Process面板,点击Process按钮开始执行混淆并查看混淆结果
可以点击Save Configuration保存本次操作的配置文件,下次直接在首界面点击Load configuration按钮即可