在脑海中假想一下,在你苦苦经历 81 难,摸爬滚打研制的技术轮子,终于成型得以问世,遂打个 JAR 包投放于万网之中 。可是没过几天,同样功能的轮子出现在你的眼前,关键是核心代码都一样,此时你的内心是否会像一万只草泥马奔腾而过呢?
面对此景,我们有没有办法,去混淆一些核心代码,来捍卫自己劳动成果呢?
作为臣服于 JAVA 的子民们,一切又都是那么的幸福,诸多开源的轮子帮你解决了这个问题,今天不妨尝试用一用 ProGuard 这款轮子 。
ProGuard 是一个压缩(shrink)、优化(optimize)和混淆(obfuscate) Java 字节码文件的免费的工具 。它可以删除无用的类、字段、方法和属性,可以删除没用的注释,最大限度地优化字节码文件 。它还可以使用简短的无意义的名称来重命名已经存在的类、字段、方法和属性 。常常用于Android 开发用于混淆最终的项目,增加项目被反编译的难度——摘自百度百科 。

文章插图
如官方图示(看不清,懵懂就行)
- ProGuard 会对输入的 JAR 文件按照压缩、优化、混淆、预验证的顺序依次进行处理,最后得到输出 JAR 文件;
- ProGuard 使用依赖类库(Library jars)来辅助对 Input jars 类之间的依赖关系进行解析,但是依赖类库本身不会被处理,也不会被包含到 Output jars 中 。
推荐阅读
- 加湿器可以放在床头旁边吗 加湿器不能放在墙边上吗
- 如何绕过大写过滤器实现XSS攻击
- PHP包管理器Composer实现原理
- 农科院研究员指导 泡茶定要选对容器
- 如何正确使用打蛋器 打蛋器怎么用
- 穴位减肥器按哪个穴位
- 电暖气不太热是什么原因 电暖器不热是什么原因
- 路由器的放置会影响信号吗 路由器旁边放什么影响信号
- 无线路由器的常见故障有哪些?
- 路由器300M 450M 1200M双频是啥意思?这样挑选让你网络极速顺畅
