IntelliJ IDEA一个吸引人的地方在于,他有比较好的反编译工具,这让Eclipse用户牙痒痒。但不要紧,本文介绍如何在Eclipse IDE中使用IntelliJ IDEA的反编译工具Fernflower。
为啥需要反编译
很多jar不提供源码,那么打开class是这个鸟样。
不具备人类可读性。因此需要反编译。
什么是Fernflower
那么我是怎么知道Fernflower的呢?你随便用IntelliJ IDEA打开一个jar中的class文件,可以看到下面的信息,这就是IEDA中的反编译工具Fernflower。
看官网介绍Fernflower(https://github.com/JetBrains/intellij-community/tree/master/plugins/java-decompiler/engine)
Fernflower is the first actually working analytical decompiler for Java and probably for a high-level programming language in general
“Fernflower是第一个真正为Java工作分析反编译器,通常也适用于一般的高级编程语言”
看介绍是很牛批的样子,当然实际也是。
如何获取Fernflower
非常遗憾的是,Fernflower是IntelliJ IDEA独家所有,那我是怎么搞定的呢?
我先在eclipse市场找了下,没有找到Fernflower,却找到了Enhanced Class Decompiler
看官网介绍(https://marketplace.eclipse.org/content/enhanced-class-decompiler)
Enhanced Class Decompiler integrates JD, Jad, FernFlower, CFR, Procyon seamlessly with Eclipse and allows Java developers to debug class files without source code directly. It also integrates with the eclipse class editor, m2e plugin, supports Javadoc, reference search, library source attaching, byte code view and the syntax of JDK8 lambda expression.
简言之,Enhanced Class Decompiler集JD、Jad、FernFlower、CFR、Procyon等各种反编译工具之大成。换言之,FernFlower就是我Enhanced Class Decompiler的一个子集呗。
呵呵,好一招曲线救国。用Enhanced Class Decompiler变相用了FernFlower。
如何在Eclipse IDE中安装Fernflower
1. 在线安装
这是最简单的方式。使用Eclipse的同学都懂。
安装地址是: https://ecd-plugin.github.io/update
2. 离线安装
获取离线安装包zip文件(见附件),在“Add Repository”中指定该zip文件即可。
3. 可选组件
一般就选Core就够用了,不嫌多就全选上。
装完重启Eclipse就能看到这个工具了。
怎么使用Fernflower
右键class文件,使用如何在Eclipse IDE中安装FernFlower打开即可
反编译成功!看到庐山真面目了。