使用cfr和procyon反编译Java

Java的反编译工具很多,但今天笔者只介绍下cfr和procyon

首先放上cfr的官方网站:

http://www.benf.org/other/cfr/


还有procyon的官方网站


https://bitbucket.org/mstrobel/procyon/wiki/Java%20Decompiler


那么是如何使用的呢?


我们现在要将一个里面全是class文件的example.jar进行反编译,通过DOS进入到cfr_0_79.jar所在的目录,然后运行命令,示例如下:


cfr:

[java]  view plain  copy
  1. D:\软件>java -jar cfr_0_79.jar D:\lib\example.jar -–outputdir D:\data\example  


procyn:

[java]  view plain  copy
  1. D:\软件>java -jar procyn.jar D:\lib\example.jar -o out  




有点麻烦对不对?别急,现在新版的apktool就可cd到任何目录下使用apktool命令,那我们可不可以也这样呢?


新建一个文本文件,用记事本打开,复制一下代码:

[java]  view plain  copy
  1. @echo off  
  2. if "%PATH_BASE%" == "" set PATH_BASE=%PATH%  
  3. set PATH=%CD%;%PATH_BASE%;  
  4. java -jar -Duser.language=en "%~dp0\cfr.jar" %1 %2 %3 %4 %5 %6 %7 %8 %9  



然后保存为cfr.bat文件,再把这个cfr.java和cfr.bat复制到C:\Windows目录下,这样我们就可以在任何目录下使用了。procyon只需要把以上代码中的cfr.jar改为procyon.jar即可。


现在想编译哪个文件就cd到哪个文件的目录下,然后直接使用

[java]  view plain  copy
  1. cfr example.jar  
[java]  view plain  copy
  1. procyon example.jar  


[java]  view plain  copy
  1. cfr example.class  
[java]  view plain  copy
  1. procyon example.clas  


要想输出文件呢就可以这样

[java]  view plain  copy
  1. cfr example.jar --outputdir D:\example\example  
[java]  view plain  copy
  1. cfr example.class --outputdir D:\example\example  


procyon是这样

[java]  view plain  copy
  1. procyon example.jar -o out  
[java]  view plain  copy
  1. procyon example.class -o out  



 

是不是方便很多了呢?另外个人推荐使用procyon


参考资料:

http://blog.csdn.net/aunixtoyou/article/details/51052155

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值