使用proguard对Java的jar包混淆

1. 准备工作

需要准备:1.导好的jar包,2.ProguardGui工具,3.JDK

Idea提供有导出jar包的功能
Proguard的官网: https://www.guardsquare.com/proguard
前往官网后点击下载会跳转到GitHub,点击如图所示下载需要的版本
piFw2GR.png

下载好后文件夹内部如下所示
proguard

打开proguardgui.bat
o

2. ProguardGui工具的使用

打开proguard,第一次进入页面如下,如果有.pro文件点Load configuration…,没有的话点next。.pro文件定义了混淆的规则
首次进入页面

点击next,红色导入要混淆的jar包,蓝色导入最好是空的jar包,不支持输入输出一个jar包,紫色是项目要的JDK
和第三方jar包,如果是maven项目,需要使用maven命令将第三方jar包下载下来
Input/Output
点击next,在add处添加主程序的入口,其他地方对照着勾选就行
shrinking
把主程序包写在class处
副图1-add
点击ok,然后点next,下图中蓝色是指定混淆的具体的情况,有没有问题不大,橘色是重点中的重点,用于将第三方jar包给忽略,如果第三方jar包也参与混淆,那么程序调用第三方jar包的方法无法执行,其他的对照勾选就行
obfuscation
点击add后内部的设置情况
副图2-add
点击next,这里设置好就行了
optimization
点击next,如下图所示,蓝色是指定jdk版本,如果版本比他里面给的都要大,不要勾选,红色框是检测接口是否都被调用,这里要去掉勾选,如果勾选且你程序中又调用了第三方jar包,那么jar包中没有使用的接口全部都会报错,且不会生成混淆的jar包
information
点击next,下图中橙色可以查看.pro文件,因为前面的勾选和设置,这个proguardgui可以生成代码,绿色用于将这个.pro文件保存为本地的.pro文件,蓝色用于生成混淆后的jar包
pross
生成混淆后的jar包如果正常可以直接运行,至此结束,如果有bug可以点击previous回到上面任意步骤修改,最后生成会重新更新执行

如果这篇文章对你有帮助,请帮我点一个赞鼓励一下,非常感谢你的支持!

还有一件事,不要转载,你收藏一下就行了,不要大篇幅抄我的

同类参考blog链接:

  1. https://blog.csdn.net/qq_57092190/article/details/128220814
  2. https://blog.csdn.net/android_panda/article/details/18604121
  3. https://blog.csdn.net/weixin_44462773/article/details/124172382
  4. https://blog.csdn.net/QTT_CSDN/article/details/121740040
  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

拾雨_Rain

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值