在日常应用系统开发中,某些时候为了安全的需要,以防止代码被第三方进行反编译处理,因此需要将Java
代码进行混淆处理。
在Java
语言中,常用的代码混淆工具有:ProGuard
、Allatori Java Obfuscator
、VirboxProtector
、ipaguard
和DashO
等。
在这些代码混淆工具中,ProGuard
可以算得上是一款广受欢迎的Java
代码混淆免费工具,它不仅可以压缩和优化Java
代码,还能有效混淆代码结构。即ProGuard
工具不仅可以删除无用的类、字段、方法、属性与注释,最大限度地优化字节码文件,还可以使用简短的无意义的名称来重命名已经存在的类、字段、方法和属性。
ProGuard处理流程如下图所示:
1)压缩(Shrink
):检测并删除未使用的类、字段、方法和属性;
2)优化(Optimize
):分析并优化方法的字节码;
3)混淆(obfuscate
):使用简短无意义的名称,如a、b、c
等重命名类、方法和属性。