Eclipse中安装反编译工具Fernflower的方法(Enhanced Class Decompiler)
作者:老卫的博客 发布时间:2021-09-12 09:01:13
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打开即可
反编译成功!看到庐山真面目了。
来源:https://waylau.com/eclipse-install-fernflower/


猜你喜欢
- 一、静态静态的定时任务可以直接使用注解@Scheduled,并在启动类上配置@EnableScheduling即可@PostMapping(
- 最近在做项目的过程中 需要用JWT做登录和鉴权 查了很多资料 都不甚详细有的是需要在application.yml里进行jwt的配置 但我在
- 完美地模仿了2048游戏,是根据网友的一个2048改的。Block.javaimport javax.swing.*;import java
- 1. Date.compareTo()java.util.Date提供了在Java中比较两个日期的经典方法compareTo()。如果两个日
- 在默认情况下,对象的Equals(object o)方法(基类Object提供),是比较两个对象变量是否引用同一对象。我们要必须我自己的对象
- 前言在前面的文章中其实大家也已经看到我使用过collect(Collectors.toList()) 将数据最后汇总成一个 List 集合。
- 一、前言一个完整的Java应用程序,当程序在运行时,即会调用该程序的一个入口函数来调用系统的相关功能,而这些功能都被封装在不同的class文
- BufferedInputStream 介绍BufferedInputStream 是缓冲输入流。它继承于FilterInputStream
- 在java中的整数类型有四种,分别是 byte short int long 其中byte只有一个字节 0或1,在此不详细讲解。
- 目录1、表达式目录树2、构建表达式目录树3、使用Expression来进行不同对象的相同名字的属性映射4、表达式目录树构建SQL删选&nbs
- JavaScript 中需要创建函数的话,有两种方法:函数声明、函数表达式,各自写法如下:// 方法一:函数声明function foo()
- 简介SpringBoot提供了HATEOAS的便捷使用方式,本文详细讲解SpringBoot提供的这些基本方法。链接LinksHATEOAS
- 本文实例为大家分享了java音乐播放器的具体代码,供大家参考,具体内容如下这个是源码结构介绍这个是界面,有点简陋,见笑了,但是基本上的东西都
- 1、在java的构造方法中提供了 异常链.. 也就是我们可以通过构造方法不断的将 异常串联成一个异常链... 之所以需
- 前言好记性不如烂笔头,日期时间类那么花哨不如记下来多看两眼。提示:以下是本篇文章正文内容,下面案例可供参考一.日期时间类的包代码如下(示例)
- 前言 OFD是国家标准版式文档格式,于2016年生效。OFD文档国家标准参见《电子文件存储与交换格式版式文档》。既然是国家标准,O
- 1.什么是WebSocketWebSocket协议是基于TCP的一种新的网络协议。它实现了浏览器与服务器全双工(full-duplex)通信
- Info.CodePage Info.Name Info.
- 本文实例为大家分享了openoffice+jodconverter-code-3.0-bate4实现ppt转图片的具体代码,供大家参考,具体
- 条件(也称为条件队列 或条件变量)为线程提供了一个含义,以便在某个状态条件现在可能为 true 的另一个线程通知它之前,一直挂起该线程(即让