JAVA最突出的跨平台优势使得它不能被编译成本地代码,而要以中间代码的形式运行在虚拟机环境中,这使得JAVA的反编译要比别的高级语言容易实现,并且反编译的代码经过优化后几乎可以与源代码相媲美。jd-gui就是一款反编译工具,支持jar级编译,对未经处理过的class文件,反编译出来的代码与源码几乎一样。防止反编译的方法也有很多种,比如:对class文件进行加密、转化成本地代码通过jni技术调用、代码混淆等。但是这些都只是增加了反编译的难度,不能绝对防止反编译。
这里我们使用Proguard工具对代码混淆处理,使得我们的代码反编译时没那么容易。关于java混淆的原理可以参考http://jiqing0311.iteye.com/blog/364190博文。
1、首先下载Proguard,可以去http://proguard.sourceforge.net/#downloads.html官网上下载,proguard解压之后即可使用。
2、启动Proguard,打开bin文件夹,点击proguardgui.bat文件启动Proguard。
3、处理成功之后,利用jd-gui反编译工具来看看处理之后的效果
Proguard4.10:http://download.csdn.net/detail/a78460750/6522975