java反编译 混淆_Java反编译反混淆神器 - CFR

最近有大量jar包需要反编译后使用,但是由于jar包中的类被混淆过了,直接反编译以后的里面所有的变量都是一个名字。所以这里介绍一个反混淆神器:CRF。

用法相当简单,这是一个可执行jar包,把要反编译的jar传为参数即可。比如我要反编译的jar是aaa-bbb.1.0.jar,所在位置是~/lib下面,则运行

java -jar cfr-1.5.jar ~/lib/aaa-bbb.1.0.jar

就能在控制台看到输出了。

当然我们可以重定向到文件:

java -jar cfr-1.5.jar ~/lib/aaa-bbb.1.0.jar >> dec.txt

所有的类都是在同一个文件里,我也不知道有啥方法可以直接生成多个Java文件。

上面这样运行后并没有反混淆,里面的变量名字依然一样。我们需要多加一个参数:

--renamedupmembers true

望文生义都能知道参数的意思是把重名的变量改个名:

java -jar cfr-1.5.jar ~/lib/aaa-bbb.1.0.jar --renamedupmembers true >> dec.txt

所以这样就可以了。

接下来是最后一个问题:这样反编译的结果中,所有的中文都被转为unicode了,如何解决呢?可以增加一个参数:

--hideutf false

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值