Java 混淆器

本文介绍了如何使用ProGuard这个免费工具来混淆Java字节码,保护开发者的劳动成果。ProGuard可以压缩、优化和混淆代码,常用于Android开发中的代码混淆。文章展示了在Mac OS上启动ProGuard的步骤,以及配置和运行混淆过程。混淆后的JAR包通过JD-GUI查看,显示混淆效果良好。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

【这是一猿小讲的第 60 篇原创分享】

在脑海中假想一下,在你苦苦经历 81 难,摸爬滚打研制的技术轮子,终于成型得以问世,遂打个 JAR 包投放于万网之中。可是没过几天,同样功能的轮子出现在你的眼前,关键是核心代码都一样,此时你的内心是否会像一万只草泥马奔腾而过呢?

面对此景,我们有没有办法,去混淆一些核心代码,来捍卫自己劳动成果呢?

作为臣服于 Java 的子民们,一切又都是那么的幸福,诸多开源的轮子帮你解决了这个问题,今天不妨尝试用一用 ProGuard 这款轮子。

ProGuard 是一个压缩(shrink)、优化(optimize)和混淆(obfuscate) Java 字节码文件的免费的工具。它可以删除无用的类、字段、方法和属性,可以删除没用的注释,最大限度地优化字节码文件。它还可以使用简短的无意义的名称来重命名已经存在的类、字段、方法和属性。常常用于Android 开发用于混淆最终的项目,增加项目被反编译的难度——摘自百度百科。

640?wx_fmt=png

如官方图示(看不清,懵懂就行)

  • ProGuard 会对输入的 JAR 文件按照压缩、优化、混

proguard4.10 官方版软件,免费下载 1、官网地址:http://proguard.sourceforge.net/ 截止2013-12-15 官网正式版本为4.10, 提供4.11Beat版 2、 解压 proguard4.10.zip ,运行官方例子如下: cd examples java -jar ../lib/proguard.jar @proguard.pro 运行之后在examples目录下生成 proguard_out.jar 3、新手入门请参照本目录下文档《ProGuard代码混淆操作说明.docx》 先牛刀小试一下,混淆自己本地的工程,支持jar,war,ear,目录(class)等方式 4、proguard常见参数标签的用法在《proguard标签的用法.pdf》 5、混淆只是 proguard 功能之一,其它还有压缩、优化等 6、proguard混淆首先得根据自己工程具体情况 来决定,哪些类需要混淆,哪些 类不能混淆,对包名、类名、方法名、参数名、变量名等其它信息 如何处理 可以通过参数 配置。 7、别忘记加上参数 printmapping obf.map 混淆结束后,处理前与处理后对应关系会记录在obf.map中,文件名可以自定义 参照附件中《obf.map》 注:该文档自动生成 8、《testjava.pro》是我自己的配置文档(一个helloWorld),仅供参考 9、日记《success-log.txt》 混淆有利有弊,混淆须谨慎 1、混淆后的代码出错,如何精确快速定位?如果对系统架构,编程,数据配置等非常清楚,请忽 略 2、为了保护源码不外泄,义无反顾,我们只能选择混淆,那么Proguard,就是不错的选择!
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值