星级评价:
日期:09-04
立即下载
ProGuard是一款非常实用的JAVA代码混淆工具,由于Android开发的应用程序主要是使用JAVA代码编写,但是JAVA代码很容易被反编译,为了很好的保护JAVA源代码,我们需要对编译好后的class文件进行混淆,这款软件就应运而生,集压缩器、优化器、混淆器、预校验器于一身。
ProGuard是一个命令行工具,并提供了图形化用户界面,它也可以结合Ant或J2ME Wireless Toolkit使用。通过ProGuard得到的更精简的jar文件意味着只需要更小的存储空间混淆环节会用无意义的短变量去重命名类、变量、方法。这些步骤让代码更精简,更高效,也更难被逆向破解。
压缩(Shrink):检测并移除代码中无用的类、字段、方法和特性(Attribute)。
优化(Optimize):对字节码进行优化,移除无用的指令。
混淆(Obfuscate):使用a,b,c,d这样简短而无意义的名称,对类、字段和方法进行重命名。
预检(Preveirfy):在Java平台上对处理后的代码进行预检,确保加载的class文件是可执行的。
ProGuar由shrink、optimize、obfuscate和preveirfy四个步骤组成,每个步骤都是可选的,我们可以通过配置脚本来决定执行其中的哪几个步骤。
混淆就是移除没有用到的代码,然后对代码里面的类、变量、方法重命名为人可读性很差的简短名字。
那么有一个问题,ProGuard怎么知道这个代码没有被用到呢?
这里引入一个Entry Point(入口点)概念,Entry Point是在ProGuard过程中不会被处理的类或方法。在压缩的步骤中,ProGuard会从上述的Entry Point开始递归遍历,搜索哪些类和类的成员在使用,对于没有被使用的类和类的成员,就会在压缩段丢弃,在接下来的优化过程中,那些非Entry Point的类、方法都会被设置为private、static或final,不使用的参数会被移除,此外,有些方法会被标记为内联的,在混淆的步骤中,ProGuard会对非Entry Point的类和方法进行重命名。
那么这个入口点怎么来呢?就是从ProGuard的配置文件来,只要这个配置了,那么就不会被移除。
除了在压缩操作删除的无用类,字段和方法外,ProGuard也能在字节码级提供性能优化,内部方法有:
常量表达式求值
删除不必要的字段存取
删除不必要的方法调用
删除不必要的分支
删除不必要的比较和instanceof验证
删除未使用的代码
删除只写字段
删除未使用的方法参数
像push/pop简化一样的各种各样的peephole优化
在可能的情况下为类添加static和final修饰符
在可能的情况下为方法添加private, static和final修饰符
在可能的情况下使get/set方法成为内联的
当接口只有一个实现类的时候,就取代它
选择性的删除日志代码
实际的优化效果是依赖于你的代码和执行代码的虚拟机的。简单的虚拟机比有复杂JIT编译器的高级虚拟机更有效。无论如何,你的字节码会变得更小。
仍有一些明显需要优化的技术不被支持:
使非final的常量字段成为内联
像get/set方法一样使其他方法成为内联
将常量表达式移到循环之外
Optimizations that require escape analysis
其他版本
本类下载排名 总 月
小蜜蜂写作 V4.32 免费安装版
266次软件大小:202.43 MB
更新日期:2024-08-09
RemoteApp Tool V5.3.0.0 中文版
255次软件大小:668.62 KB
更新日期:2024-08-05
Office 2021 LTSC 专业增强版
246次软件大小:3.84 GB
更新日期:2024-08-13
Supermemo 18 汉化版
238次软件大小:5.84 MB
更新日期:2024-08-09
哔哩哔哩会员番剧解锁工具 V1.0 免费版
223次软件大小:1.97 MB
更新日期:2024-08-07
快手(Aardio) V29.8 绿色免费版
223次软件大小:9.83 MB
更新日期:2024-08-09
Office LTSC ProPlus 2021 V2021.6 中文免费版
220次软件大小:4.50 MB
更新日期:2024-08-11
FineReport V8.0.3 绿色版
217次软件大小:182.09 MB
更新日期:2024-08-09
方方格子(Excel插件) V3.6.8.2 官方版
199次软件大小:94.33 MB
更新日期:2024-08-07
DPS数据处理系统 V18.10 免费版
194次软件大小:50.93 MB
更新日期:2024-08-07
宏达废品回收公司管理系统 V1.1 非注册版
12次软件大小:4.25 MB
更新日期:2024-08-08
UOS激活码破解工具 V1.0 绿色免费版
11次软件大小:2 KB
更新日期:2024-08-11
Nik Color Efex Pro4.0破解激活工具 V1.0 免费版
9次软件大小:43.66 MB
更新日期:2024-08-13
Rslogix500 V8.10 授权破解版
9次软件大小:428 MB
更新日期:2024-08-09
NiceLabel完美破解版 V5.2.2 免激活码版
8次软件大小:68.42 MB
更新日期:2024-08-07
螺栓设计软件 V1.0 绿色版
8次软件大小:256 KB
更新日期:2024-06-24
Pix4Dmapper破解文件 V4.0 绿色免费版
8次软件大小:172.79 MB
更新日期:2024-07-26
Advanced System Font Changer(系统字体更换工具) V2.0.0.5 中文版
7次软件大小:116.50 KB
更新日期:2024-07-29
ProGuard(JAVA代码混淆工具) V5.3.3 最新免费版
7次软件大小:2.92 MB
更新日期:2024-06-26
Resource Progress Bar(程序负载显示工具) V1.3 绿色英文版
7次软件大小:47.63 KB
更新日期:2024-08-07
装机必备
最新软件
热门软件推荐
软件专题 更多+