Skip to content
/ ecd Public
forked from ecd-plugin/ecd

An Eclipse Plugin to integrate different Class Decompiler seamlessly into the development workflow

License

Notifications You must be signed in to change notification settings

nbauma109/ecd

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

CodeQL Update version Github Release Coverage Status

Downloads from Github releases :

Github Downloads (all releases) Github Downloads (latest release)

Downloads from Jitpack :

Jitpack Downloads Jitpack Downloads

Download from Jitpack

Enhanced Class Decompiler

Enhanced Class Decompiler integrates JD, FernFlower, Vineflower, 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.

Description

Enhanced Class Decompiler is a plug-in for the Eclipse platform. It integrates JD, FernFlower, Vineflower, CFR, Procyon seamlessly with Eclipse, allows you to display all the Java sources during your debugging process, even if you do not have them all, and you can debug these class files without source code directly.

Why a fork?

  • Compatibility with latest version of Eclipse over backward compatibility : upstream project aims at supporting all versions of Eclipse which is not maintainable from my point of view (2b13e85, b518dd3, f2b6022, 8538745, 8b47e95)
  • Usage of forked versions of decompilers : I need this freedom to bring bug fixes as some of the decompilers are not maintained anymore, or rarely maintained (see also this Why a fork ? section)
  • Source attach plugin comes with some enhancements (see below) but it was removed in upstream project (#103, 5a9a574)
  • Broken functions "Show Byte Code" and "Show Disassembler" are removed (bytecode is available natively in Eclipse in menu Window -> Show View -> Bytecode) but still present in upstream project
  • Some significant refactorings in upstream project made rebasing next to impossible without risk of regression (e3d0e4e, 94a317a, 6c3710c)

Why is this plug-in "enhanced"?

This is an ad-free fork of the Eclipse Decompiler Plugin. So we enhanced it by removing all code which might compromise your privacy or security (to the best of our knowledge).

How to install Enhanced Class Decompiler?

Drag and Drop installation:

If you have currently the "Eclipse" Class Decompiler installed, it is recommended to uninstall that plug-in first and remove the corresponding update site from your Eclipse installation.

  1. Launch Eclipse,
  2. Click on "Help > Install New Software...",
  3. Drag and Drop enhanced-class-decompiler-x.y.z.zip
  4. Check the components to install,
  5. Click on "Next" and "Finish" buttons.
  6. A warning dialog windows appear because plug-in is not signed. Click on "Install anyway" button.

How to check the file associations?

  1. Click on "Window > Preferences > General > Editors > File Associations"
  2. "*.class" : "Class Decompiler Viewer" is selected by default.
  3. "*.class without source" : "Class Decompiler Viewer" is selected by default.

How to configure Enhanced Class Decompiler?

  1. Click on "Window > Preferences > Java > Decompiler"

Source attach:

You may configure a private Nexus repository with credentials (user/password) to download and attach sources automatically :

image

You may select from a list of available public repositories :

image

You may use this option "Wait for sources to be downloaded before trying to decompile" to avoid decompiling code for which you have sources.

image

Use this icon to switch decompiler while a class file is still open. Once a file is closed and re-opened, the source is cached, it is no more possible to switch decompiler.

image

How to uninstall Enhanced Class Decompiler?

  1. Click on "Help > About Eclipse > Installation Details > Installation Software",
  2. Select "Enhanced Class Decompiler",
  3. Click on "Uninstall...".

How to build from source?

Requirement: JDK 21 (make sure JAVA_HOME environment variable points to an appropriate JDK)

If you want to test the latest features of this plugin, you have to build it from source. For this, proceed as following:

  1. git clone https://github.com/nbauma109/ecd
  2. build with ./build.sh on Linux or build.bat on Windows

If you want to use Eclipse and help developing, continue like this:

  1. Install Eclipse for RCP and RAP Developers
  2. Import all projects into Eclipse by selecting File > Import > General > Existing Projects into Workspace > Next and enter the parent of the cloned directory as "root directory".

Licenses

The main plugin and the org.sf.feeling.decompiler.jd project are licensed under GPL 3, the other feature plugins are licensed under the Eclipse Public License v1.0

Code partially based on:

Used libraries:

Contributors

  • Chen Chao ([email protected]) - initial API and implementation
  • Robert Zenz
  • Pascal Bihler
  • Nick Lombard
  • Jan Peter Stotz
  • Nicolas Baumann (@nbauma109)

About

An Eclipse Plugin to integrate different Class Decompiler seamlessly into the development workflow

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Java 54.0%
  • HTML 44.8%
  • Shell 1.1%
  • Batchfile 0.1%