一、舊Java反編譯工具
以前流行的反編譯工具JAD和JD-GUI(JD-Core)對于Java 5以后的版本新特性支持都不行了。
JAD
官網不在了,不再更新裂七,不支持java 5及以后版本腹暖!
JD
官網http://jd.benow.ca蝶棋、JD-Core更新于2014年锹安、JD-GUI更新于2015年瞧哟,
不支持Java 5以后的一些新特性如syntactic sugar、Lambda萤捆、Default methods等裙品!
二、新Java反編譯工具
近年來俗或,市場上出現了一些新java反編譯工具市怎,較好支持了Java 5到8新特性,如Fernflower辛慰、Procyon区匠、CFR等等。
Fernflower
開源項目https://github.com/fesh0r/fernflower
作者: Egor Ushakov
正在更新帅腌,是一個非常有前途的Java反編譯器, 是IntelliJ IDEA默認Java反編譯器驰弄,也是Android Studio的默認Java反編譯器蝠筑。
Procyon
開源項目https://bitbucket.org/mstrobel/procyon/wiki/Java%20Decompiler
作者: Mike Strobel
正在更新,支持Java 5 到 Java 8的新特性揩懒,特別擅長以下反編譯:
* 枚舉Enum
* switch字符串
* 本地類(匿名和命名)
* 注解 Annotations
* Lambdas and 方法引用 (如the :: operator)
CFR
免費,但沒有開源, http://www.benf.org/other/cfr
Author: Lee Benfield
正在更新挽封,能反編譯Java新特性(如Java 8 lambdas已球、Java 7 switch字符串)。
簡書: http://www.reibang.com/p/00ac305d808d
CSDN博客: http://blog.csdn.net/qq_32115439/article/details/54378548
GitHub博客:http://lioil.win/2017/01/12/Java-Decompiler.html
Coding博客:http://c.lioil.win/2017/01/12/Java-Decompiler.html