Enhanced Class Decompiler

Add this URL to your Eclipse Installation to reach this solution's update site.

2024-06 (4.32), 2024-03 (4.31), 2023-12 (4.30), 2023-09 (4.29), 2023-06 (4.28), 2023-03 (4.27), 2022-12 (4.26), 2022-09 (4.25), 2022-06 (4.24), 2022-03 (4.23), 2021-12 (4.22), 2021-09 (4.21), 2021-06 (4.20), 2024-09 (4.33)

https://ecd-plugin.github.io/update/

Learn more...
Solution Description

Enhanced Class Decompiler integrates CFR, FernFlower, JD, Procyon, Vineflower 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, byte code view and the syntax of JDK8 lambda expression.

It is based on the popular (delisted) "Eclipse Class Decompiler" Plugin, but members of the open-source community enhanced it by removing all code which might compromise your privacy or security (i.e. everything discussed in https://0x10f8.wordpress.com/2017/08/07/reverse-engineering-an-eclipse-… and everything else which seemed suspicious) to bring back the great core plugin functionality to all Eclipse users.

Github Project Page: https://ecd-plugin.github.io

(Code-)Reviews and pull requests welcome!
All (!) source is in this Git repository: https://github.com/ecd-plugin/ecd

Additional Details

Eclipse Versions: 2024-06 (4.32), 2024-03 (4.31), 2023-12 (4.30), 2023-09 (4.29), 2023-06 (4.28), 2023-03 (4.27), 2022-12 (4.26), 2022-09 (4.25), 2022-06 (4.24), 2022-03 (4.23), 2021-12 (4.22), 2021-09 (4.21), 2021-06 (4.20), 2024-09 (4.33)

Platform Support: Windows, Mac, Linux/GTK

Development Status: Production/Stable

Date Created: Saturday, September 9, 2017 - 16:01

License: EPL

Date Updated: Friday, June 14, 2024 - 11:54

Submitted by: Pascal Bihler

Screenshot
Date Ranking Installs Clickthroughs
October 2024 15/479 374 3
September 2024 15/642 3720 31
August 2024 15/641 3515 35
July 2024 14/663 3878 41
June 2024 14/681 4232 55
May 2024 15/682 4230 55
April 2024 16/687 4300 50
March 2024 14/694 5064 52
February 2024 13/687 4509 51
January 2024 13/691 5040 60
December 2023 14/671 4481 35
November 2023 15/686 4828 34
View Data for all Listings

Marketplace Drag to Install Button

By adding the following code below to your website you will be able to add an install button for Enhanced Class Decompiler.

HTML Code:

Markdown Syntax:

Output:

Drag to your running Eclipse* workspace. *Requires Eclipse Marketplace Client

Reviews Add new review

please help i wanted to edit this plugin for lag with a bit of code my friend showed me but im too dumb to figure out how to edit things. I can only ctrl+f and replace things to change stuff but i can't add any lines. my other friend's minecraft server is dying slowly due to not having enough ram and this plugin can help reduce the lag so playing on the server is bareable.

In reply to by Mindaugas Jaraminas

Hi, I had the same issue. I went to Preferences->General->Editors->File Associations, selected both "*.class" and "*.class without source" associating them to Class Decompiler Viewer as default. In Preferences->Java->Decompiler check that the Default Class Decompiler suits your environment. Hope this helps.

When stepping into stacks which doesn't have source code the decompiler editor is not opened for those class files. Instead the "no source found" editor page is shown on Eclipse 4.14 and 4.15.

I'm fighting with the issue for long time, and can't find the solution. 

I just did the clean Eclipse 2019-09 installation and added ECD to it. Even though the flag "Set Class Decompiler Viewer as the Default 'Java Class File' content type editor" is set looks it doesn't have any effect.

Yes, I can go to "File Associations" and set Decompiler Viewer for both "*.class" and "*.class without the source" file types, and it works but only temporary till the next restart. 

After I restart Eclipse it sets the OOTB Class File Viewer for both *.class types. 

Any idea how to fix it? I tried all possible combinations, created new workspaces and etc. - nothing helped. the same issue happened with the older Eclipse versions as well

It is annoying to manually associate types each time I restarted Eclipse.

A fresh install of 2019 09 but the context menu entry for opening any decompiler is disabled for any .class file.

Enabling Decompiler on main menu let open a .clas file with a decompiler, but the editor crashes with an error. 

In reply to by Jacopo Torrini

It works fine with Eclipse 2019 09. Decompiler version:   3.1.1.201811062102   .Eclipse: Version: 2019-09 R (4.13.0) Build id: 20190917-1200. I'm using FernFlower decompiler, but I'm sure others will work as well.

The only problem  I can't solve is to permanently set "Class Decompiler Viewer" for *.class associations. After I set it the decompiler works fine, but after the restart Eclipse restores "Class File Viewer" as default association for *.class. I tried multiple different steps to update the class default association, but after each start Eclipse restores it to the "Class File Viewer", and I don't know how to prevent it from doing it. Any advice will be appreciated (note in decompiler settings I have the Startup flag checked to set the Decompiler as default viewer - it doesn't help)

In reply to by Pavel Kouzmitcheu

I have the same combination of versions here regarding Eclipse (for committers) and the ECD plugin. While I can see the ECD settings in the overall Preferences dialog (Window / Preferences), I cannot see the menu items for displaying decompiled class files or attaching sources fetched online. The plugin has turned useless for me with 2019-09. Any advice?

This tool was great until I moved to Eclipse 2019-06. Now I get these 2 errors, which are proving a real pain in working with libraries :(

  1. Editor could not be initialized (on each F3 key press) - see details on post to eclipse:  <a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=549227#c1">ECD (Enhanced Class Decompiler) on Eclipse 2019-06 generates java src with filename != class name, the IDE errors and does not open the source code</a>
  2. The public type <type> must be defined in its own file ( less frequent )

Typical files generated:

/c/dcr/dev/java/dcr/.decompiler/bin/com/dcr/ordersvc/rule/programtrade/ProgTrdData$CustomMarshalHandler.class
/c/dcr/dev/java/dcr/.decompiler/bin/com/dcr/ordersvc/rule/programtrade/ProgTrdData.class
/c/dcr/dev/java/dcr/.decompiler/bin/com/dcr/ordersvc/soap/Trading.class
/c/dcr/dev/java/dcr/.decompiler/src/com/dcr/ordersvc/rule/programtrade/ProgTrdData1563179530181.java
/c/dcr/dev/java/dcr/.decompiler/src/com/dcr/ordersvc/soap/Trading1563179507766.java

 

In general, this plugin is satisfying, and the feature to automatically show Maven sources instead of decompiling is great. However there's one annoying thing about it: the plugin actually saves the attached sources path in the native Eclipse project configuration. This is bad for version control, please don't do that

Instead, supply the source code through the same channel the plugin supplies the decompilation result. Again, the feature is great and I don't want to disable it.

Good plugin. Very helpfull.

I have tried to install it manually by /dropins folder and many other ways without url. If somebody know what need to download for manually installation - pls comment here.

Does this work on 2018-09 (4.9)? I tried all instructions and install/restart multiple times. It does not work. It used to work on neon.

Eclipse version: Version: Oxygen.2 Release (4.7.2)

OS: Mac OS High Sierra(10.13.6 (17G65))

I just read through the interesting blog about how this plugin came into picture and I am excited to use this plugin on my eclipse. But somehow it doesn't decompile. It was installed without a problem but it doesn't show up under Java in Preferences(as in Screenshot). 

What is wrong here?

This tool really works. I manage to save an old project (written on java 8). Thanks! It read also lambda expressions without problem.

By the way I use Oxygen.3a Release (4.7.3a).

Happy coding!

Works fine when opening a .class file from the project tree.

But when I'm debugging an application and reach a file for which I don't have a source, the decompiler editor is not opened. Instead I see a "Source not found." editor with "Edit Source Lookup Path.." button.

.class and .class without source are associated with the Class Decompiler Viewer as suggested in the documentation.

 

Any setting that I missed. 

Eclipse Neon.3 Release (4.6.3)

Hi Guys

Everytime I try to download the plugin via MarketPlace, I get the following error:

Unable to read repository at url: ecd-plugin.github.io/update/content.xml.
sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target

 

I am using Eclipse Oxygen 1a (4.7.1a), please assist.....

In reply to by Simon McClenahan

This is a misleading error message from eclipse and is usually triggered by a errornous network configuration - in fact, in can be any network problem.

Did you check if you need a proxy configured in Eclipse? If the problem persist, navigate manually to https://ecd-plugin.github.io/update/ download the jar files and place them in the features and plugins folde rof your eclipse installation.