反编译 jdk1.8 工具
javak开发的小伙伴应该都知道,java反编译用【jd-gui.exe】来进行编译非常方便快捷,而且还轻量。
但是最近切换环境,换成用jdk1.8来进行开发,那么问题就出来了。用jd-gui.exe反编译的时候竟然显示不出来了!!!
网上搜了下资料,发现可能有两个问题
- 1.jd-gui.exe只支持jdk1.7及以下的版本。
2.jdk1.8小版本问题(有同事同样是jdk1.8就能解析)
最后不得以换了个工具,【Procyon-Decompiler】完美解决,哈哈。
在代码支撑方面,JDK 1.7引入了字符串Switch、泛型接口改进等新功能,1.8增加了lambda表达式、方法传递、多重注解等新特性,这使得反编译工具的编写难度加大,Procyon-Decompiler支持JDK1.8类的反编译,在很多方面做得非常不错:
字符串的Switch
枚举声明方面
注解方面
匿名类、内部类
Java8新接口规范
Java8 Lambda表达式
Java8 方法传递
另外它在反编译后输出多种类型的结果,如Java源码、原始字节码、字节码AST
下载jar包,本机命令行运行
java -jar C:\procyon-decompiler-0.5.29.jar F:\***.class
保存源代码
java -jar C:\procyon-decompiler-0.5.29.jar F:\***.class -o f: