Eclipse中安装反编译工具Fernflower(Enhanced Class Decompiler)

IntelliJ IDEA一个吸引人的地方在于,他有比较好的反编译工具,这让Eclipse用户牙痒痒。但不要紧,本文介绍如何在Eclipse IDE中使用IntelliJ IDEA的反编译工具Fernflower。

为啥需要反编译

很多jar不提供源码,那么打开class是这个鸟样。

img

不具备人类可读性。因此需要反编译。

什么是Fernflower

那么我是怎么知道Fernflower的呢?你随便用IntelliJ IDEA打开一个jar中的class文件,可以看到下面的信息,这就是IEDA中的反编译工具Fernflower。

img

看官网介绍Fernflower(https://github.com/JetBrains/intellij-community/tree/master/plugins/java-decompiler/engine)

1Fernflower is the first actually working analytical decompiler for Java and probably for a high-level programming language in general 2 3 4“Fernflower是第一个真正为Java工作分析反编译器,通常也适用于一般的高级编程语言”

看介绍是很牛批的样子,当然实际也是。

如何获取Fernflower

非常遗憾的是,Fernflower是IntelliJ IDEA独家所有,那我是怎么搞定的呢?

我先在eclipse市场找了下,没有找到Fernflower,却找到了Enhanced Class Decompiler

img

看官网介绍(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

img

2. 离线安装

获取离线安装包zip文件(见附件),在“Add Repository”中指定该zip文件即可。

img

3. 可选组件

一般就选Core就够用了,不嫌多就全选上。

img

装完重启Eclipse就能看到这个工具了。

img

怎么使用Fernflower

右键class文件,使用如何在Eclipse IDE中安装FernFlower打开即可

img

反编译成功!看到庐山真面目了。

img

来源:https://waylau.com/eclipse-install-fernflower/

欢迎关注公众号 【码农开花】一起学习成长 我会一直分享Java干货,也会分享免费的学习资料课程和面试宝典 回复:【计算机】【设计模式】【面试】有惊喜哦

点赞
收藏

评论区

加载中...

相关推荐

MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1

文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s

Oracle 分组与拼接字符串同时使用

SELECTT.,ROWNUMIDFROM(SELECTT.EMPLID,T.NAME,T.BU,T.REALDEPART,T.FORMATDATE,SUM(T.S0)S0,MAX(UPDATETIME)CREATETIME,LISTAGG(TOCHAR(

皕杰报表之UUID

​在我们用皕杰报表工具设计填报报表时,如何在新增行里自动增加id呢?能新增整数排序id吗?目前可以在新增行里自动增加id,但只能用uuid函数增加UUID编码,不能新增整数排序id。uuid函数说明:获取一个UUID,可以在填报表中用来创建数据ID语法:uuid()或uuid(sep)参数说明:sep布尔值,生成的uuid中是否包含分隔符'',缺省为

手写Java HashMap源码

HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程22

前端性能优化 - 雅虎军规

无论是在工作中,还是在面试中,web前端性能的优化都是很重要的,那么我们进行优化需要从哪些方面入手呢?可以遵循雅虎的前端优化35条军规,这样对于优化有一个比较清晰的方向.35条军规1.尽量减少HTTP请求个数——须权衡2.使用CDN(内容分发网络)3.为文件头指定Expires或CacheControl,使内容具有缓存性。4.避免空的

.net程序反编译工具(ILSpy)

ILSpy是SharpDevelop小组的反编译工具,ILSPY这个开源工具的目的就是代替reflector的,它可以反编译出比reflector更好的C代码。PC官方版!(https://oscimg.oschina.net/oscnet/b35fba9fc6ada998d12775b18290c2348dc.png)C反编译工具ilsp

Eclipse中安装反编译工具Fernflower(Enhanced Class Decompiler) - HelloWorld