java反编译jar包与class

近些天一直在接minecarft的插件,但都是别人的插件,之前为都是用idea导入到lib中来进行反编译查看,属实麻烦,当然也可以用JDGUI,因为客户需求是需要重构一些功能所以说我就只能改别人编译好的jar包,这个时候就不方便了,JDGUI和idea都是只能查看不能修改,所以说需要自己建包,一个class一个class复制,很麻烦。我在bukkit群里问了一下大佬,大佬说用CFR好用.于是就开始研究之旅了

1.常用的反编译java工具

1.cfr工具

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

2.procyon

这个暂时没搜到

3.luyten

luyten只是把procyon用gui包装了一下

2.开始使用cfr反编译

支持主流java特性-java 8 lambdas表达式,java7字符串切换,最主要的他是用java6编写,这个就有点厉害了。

笔者还发现,他可以反编译类的注解,jd-gui无法反编译的 ,cfr却游刃有余。经过一番测试,毫不犹豫的把它收录到逆向兵器库。

使用方法比较简单,如下:

1
java -jar cfr_0_121.jar test.jar --outputdir c:/test