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

klibio/ecd

 
 

Repository files navigation

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 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).

Supported Eclipse Versions

Enhanced Class Decompiler requires at least Eclipse 4.8 (Photon) or newer.

How to install Enhanced Class Decompiler?

Drag and Drop installation: Drag to your running Eclipse workspace.

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. Click on button "Add..." to add an new repository,
  4. Enter name as "Enhanced Class Decompiler Update Site" and enter location as "https://ecd-plugin.github.io/update", then click on button "OK",
  5. Check "Enhanced Class Decompiler",
  6. Next, next, next... and restart.

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"

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?

Requiremnent: JDK 11 or newer (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/ecd-plugin/ecd
  2. Run cd ecd
  3. Run mvn clean package

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".
  3. Open the org.sf.feeling.decompiler.updatesite project in the Package Explorer
  4. Open the file site.xml within the project
  5. Press "Build All"
  6. Copy the jar files generated in the build/features and build/plugins folder of the project into the correspondent folders of your normal Eclipse installation.

Plugin Signature

Since version 3.3.0 ECD is signed by a self-signed 4096 bit RSA key:

  • Subject: CN=ECD Software Distribution,OU=ECD,O=ECD
  • SHA-1 fingerprint: 2D DB EE 7E 07 32 EB 0D 7C F2 FF C6 68 A0 C4 B8 B9 58 40 29
  • SHA-256 fingerprint: 8A 68 55 D3 91 B7 6F 95 DA D1 1E DF 1C 38 8D 38 F1 8A 0C A2 97 E5 12 85 DD 5B 05 9C C3 21 1B D4
  • Certificate file: ecd.cer

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 (cnfree2000@hotmail.com) - initial API and implementation
  • Robert Zenz
  • Pascal Bihler
  • Nick Lombard
  • Jan Peter Stotz

Changelog

  • Version 3.4.0

    • Updated Embedded Decompilers
      • Fernflower updated to 232.10203.10
  • Version 3.3.0

    • ECD releases are now signed with a self-signed certificate
    • Removed Jad decompiler (decompiler was released 2001)
    • Vineflower plugin and feature added
    • Updated Embedded Decompilers
      • CFR to version 0.152 (JDK 14 support)
      • Procyon to version 0.6.0
  • Version 3.2.2

    • Fixed some inconsistencies regarding version numbers and the update site
    • Upgraded some service URL to HTTPS
  • Version 3.2.1

    • Updated Embedded Decompilers
      • CFR to version 0.15.1 (JDK 14 support)
      • Procyon to version 0.5.36
  • Version 3.2.0

    • Updated Embedded Decompilers
      • JD-Core to version 1.1.3 (JDK 12 support)
  • Version 3.1.1

    • #44 Fixed that setting breakpoints might not work.
    • #52 Fixed that hyperlinks might have oddly.
  • Version 3.1.0

    • Updated Embedded Decompilers
      • CFR to version 0_130
    • Verified and updated embedded decompilers
    • Fixed that activating a tab with a decompiled source would reset the selected line location
    • Fixed and tested compatibility with Eclipse Photon
    • Tested compatibility with JDK11.
  • Version 3.0.0

    • Removed adware code fragments
    • Removed self-update feature (Eclipse handles updates fine)
    • Removed extra-header in code (Issue upstream#2)
    • Display information about class being decompiled in editor title (Issue #3)
    • Made plug-in work with Java9 BETA JDT core

About

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

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Java 59.8%
  • HTML 40.1%
  • Shell 0.1%