Java代码编译后生成的.class 中包含有源代码中的所有信息(不包括注释),所以按照正常方式编译的Java .class文件可以很轻易地被反编译。通常情况下,反编译可以利用现有的工具jd-gui.exe或者jad.exe。
有些情况下,为了保护java源码不被别人看到,通常会使用加密手段对java源码进行加密,加密的方式可以利用加密工具(比如java代码混淆工具)、使用加密算法(如DES算法)修改classloader对编译好的.class文件进行加密。(注:这里推荐一款java代码混淆器,可以混淆函数变量、类、方法名以实现代码加密:ProGuard)
本文使用ProGuard对java代码进行加密:
(1)解压下载的ProGuard,解压后进入lib文件把proguard.jar拷贝到自己新建的文件夹里如图。