java反编译和混淆

 

Java程序运行时是动态连接的,因此编译成的目标文件中包含有符号表, 使得Java程序很容易被反编译。我常用的工具有:cavaj,JAD,jd-gui.exe。比较好用的是jd-gui.exe。他是可视化的界面,可以加载一个jar包,查看他的package结构以及反编译出来的class文件,还可以一键倒出所有的class文件到java src文件。

 jd-gui

 

 混淆器可以打乱class文件中的符号信息,使反向工程变得非常困难。

常用的工具有:jocky,proguard还有retroguard。下边介绍一下proguard:

在输入输出页中设定要混淆的jar和要输出到目的的jar文件

输入输出

 

 

 

 在其他选项页中设定是否混淆类名等属性。

 然后在处理页中直接点击执行

 

 

 11

 

 必要时去掉一些警告。

 

 

 

 2

 

 经过混淆后的jar文件再用jd-gui.exe打开,发现包,类名,方法名等变得难以阅读。

并且包也变得小了。比如我用了一个4.8M的jar经过压缩和混淆后变得不足3M。

 

如有问题可以和我联系。

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值