28 ProGuard混淆介绍
28.1ProGuard简介
JAVA源代码(.java文件)通常被编译为字节码(.class文件)。通常情况下,编译后的字节码仍然包含了大量的调试信息:源文件名、行号、字段名、方法名、参数名和变量名等,这些信息使得APP很容易被反编译和通过逆向工程获得完整的程序代码。
ProGuard是一个压缩、优化和混淆Java字节码文件的免费的工具:
可以删除无用的类、字段、方法和属性。
可以删除没用的注释,最大限度地优化字节码文件。
还可以使用简短的无意义的名称来重命名已经存在的类、字段、方法和属性。
常常用于Android开发用于混淆最终的项目,增加项目被反编译的难度。
ProGuard对Java类中的代码进行以下四步的处理:
1压缩(Shrink):用于检测和删除没有使用的类,字段,方法和属性。
2优化(Optimize):对字节码进行优化,并且移除无用指令。
3混淆(Obfuscate):使用a,b,c等无意义的名称,对类,字段和方法进行重命名。
4预检(Preveirfy):是在Java平台上对处理后的代码进行预检。

ProGuard是一款免费的Java字节码压缩、优化和混淆工具,主要用于减少APP体积并增加反编译难度。它通过删除无用代码、优化字节码、混淆类名等方式提高代码安全性。在Android开发中,ProGuard常用于混淆项目,包括压缩、优化、混淆和预检四个步骤,确保代码难以被逆向工程解析。
352

被折叠的 条评论
为什么被折叠?



