Skip to content

CLK-AL/jd-gui

 
 

Repository files navigation

JD-GUI

JD-GUI is a standalone graphical utility that displays Java source codes of ".class" files. You can browse the reconstructed source code with the JD-GUI for instant access to methods and fields.

Forked from

Changes in this fork 2022.3.28

  1. QuiltFlower 1.7.0 embedded and used by default instead of JD Core.
  2. Decompile jar with Quiltflower on Save All Sources (Ctrl+Alt+S) yet not individual classes which are still decompiled by JD Core.
  3. Set at org.jd.gui.service.preferencespanel.ClassFileDecompilerPreferences.decompileWithQuiltflower using org.jd.gui.service.preferencespanel.GenericPreferencesPanelProvider and org.jd.gui.service.preferencespanel.Preference implementations like org.jd.gui.service.preferencespanel.QuiltflowerFileSaverPreferencesProvider for org.jd.gui.service.preferencespanel.QuiltflowerFileSaverPreferences
  4. Code Reformatted with .idea/ProjectCodeStyle.xml
  5. Added .idea files to repository except .idea/workspace.xml
  6. Naming convention for version YYYY.MM.DD instead of 1.6.6 core 1.1.3
  7. Preferences (Ctrl+Shift+P) of SourceSaver set to false so original line numbers and metadata are not generated by default.
  8. Save All Sources (Ctrl+Alt+P) of a jar file named pkg.jar pkg-sources.jar will suggest the file name in order to comply with maven conventions.
  9. Planned changed:
    1. Integration with other decompiler libraries using preferences at app/build.gradle 2. CFR main site hosted at benf.org/other/cfr
    2. Upgrade of ANTLR services/src/main/antlr/Java.g4 using /grammars-v4/tree/master/java/java

How to build JD-GUI ?

> git clone https://github.com/java-decompiler/jd-gui.git
> cd jd-gui
> ./gradlew build 

generate :

  • "build/libs/jd-gui-x.y.z.jar"
  • "build/libs/jd-gui-x.y.z-min.jar"
  • "build/distributions/jd-gui-windows-x.y.z.zip"
  • "build/distributions/jd-gui-osx-x.y.z.tar"
  • "build/distributions/jd-gui-x.y.z.deb"
  • "build/distributions/jd-gui-x.y.z.rpm"

How to launch JD-GUI ?

  • Double-click on "jd-gui-x.y.z.jar"
  • Double-click on "jd-gui.exe" application from Windows
  • Double-click on "JD-GUI" application from Mac OSX
  • Execute "java -jar jd-gui-x.y.z.jar" or "java -classpath jd-gui-x.y.z.jar org.jd.gui.App"

How to use JD-GUI ?

  • Open a file with menu "File > Open File..."
  • Open recent files with menu "File > Recent Files"
  • Drag and drop files from your file explorer

How to extend JD-GUI ?

> ./gradlew idea 

generate Idea Intellij project

> ./gradlew eclipse

generate Eclipse project

> java -classpath jd-gui-x.y.z.jar;myextension1.jar;myextension2.jar org.jd.gui.App

launch JD-GUI with your extensions

How to uninstall JD-GUI ?

  • Java: Delete "jd-gui-x.y.z.jar" and "jd-gui.cfg".
  • Mac OSX: Drag and drop "JD-GUI" application into the trash.
  • Windows: Delete "jd-gui.exe" and "jd-gui.cfg".

License

Released under the GNU GPL v3.

About

A standalone Java Decompiler GUI

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages

  • Java 98.3%
  • ANTLR 1.3%
  • Shell 0.4%