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

Stella981
• 阅读 816

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

为啥需要反编译

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

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

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

什么是Fernflower

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

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

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

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

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

2. 离线安装

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

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

3. 可选组件

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

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

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

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

怎么使用Fernflower

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

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

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

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

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

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

点赞
收藏
评论区
推荐文章
blmius blmius
3年前
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
皕杰报表之UUID
​在我们用皕杰报表工具设计填报报表时,如何在新增行里自动增加id呢?能新增整数排序id吗?目前可以在新增行里自动增加id,但只能用uuid函数增加UUID编码,不能新增整数排序id。uuid函数说明:获取一个UUID,可以在填报表中用来创建数据ID语法:uuid()或uuid(sep)参数说明:sep布尔值,生成的uuid中是否包含分隔符'',缺省为
待兔 待兔
3个月前
手写Java HashMap源码
HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程22
Jacquelyn38 Jacquelyn38
3年前
2020年前端实用代码段,为你的工作保驾护航
有空的时候,自己总结了几个代码段,在开发中也经常使用,谢谢。1、使用解构获取json数据let jsonData  id: 1,status: "OK",data: 'a', 'b';let  id, status, data: number   jsonData;console.log(id, status, number )
Souleigh ✨ Souleigh ✨
3年前
前端性能优化 - 雅虎军规
无论是在工作中,还是在面试中,web前端性能的优化都是很重要的,那么我们进行优化需要从哪些方面入手呢?可以遵循雅虎的前端优化35条军规,这样对于优化有一个比较清晰的方向.35条军规1.尽量减少HTTP请求个数——须权衡2.使用CDN(内容分发网络)3.为文件头指定Expires或CacheControl,使内容具有缓存性。4.避免空的
Wesley13 Wesley13
3年前
.net程序反编译工具(ILSpy)
ILSpy是SharpDevelop小组的反编译工具,ILSPY这个开源工具的目的就是代替reflector的,它可以反编译出比reflector更好的C代码。PC官方版!(https://oscimg.oschina.net/oscnet/b35fba9fc6ada998d12775b18290c2348dc.png)C反编译工具ilsp
Stella981 Stella981
3年前
Android 反编译
一、Apk反编译得到Java源代码下载上述反编译工具包,打开apk2java目录下的dex2jar0.0.9.9文件夹,内含apk反编译成java源码工具,以及源码查看工具。apk反编译工具dex2jar,是将apk中的classes.dex转化成jar文件源码查看工具jdgui,是一个反编译工具,可以直接查看反编译后的jar包源代码
Wesley13 Wesley13
3年前
35岁是技术人的天花板吗?
35岁是技术人的天花板吗?我非常不认同“35岁现象”,人类没有那么脆弱,人类的智力不会说是35岁之后就停止发展,更不是说35岁之后就没有机会了。马云35岁还在教书,任正非35岁还在工厂上班。为什么技术人员到35岁就应该退役了呢?所以35岁根本就不是一个问题,我今年已经37岁了,我发现我才刚刚找到自己的节奏,刚刚上路。
为什么mysql不推荐使用雪花ID作为主键
作者:毛辰飞背景在mysql中设计表的时候,mysql官方推荐不要使用uuid或者不连续不重复的雪花id(long形且唯一),而是推荐连续自增的主键id,官方的推荐是auto_increment,那么为什么不建议采用uuid,使用uuid究
Python进阶者 Python进阶者
9个月前
Excel中这日期老是出来00:00:00,怎么用Pandas把这个去除
大家好,我是皮皮。一、前言前几天在Python白银交流群【上海新年人】问了一个Pandas数据筛选的问题。问题如下:这日期老是出来00:00:00,怎么把这个去除。二、实现过程后来【论草莓如何成为冻干莓】给了一个思路和代码如下:pd.toexcel之前把这