# java-decompiler/jd-gui

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/java-decompiler-jd-gui).**

15,024 stars · 2,479 forks · Java · gpl-3.0

## Links

- GitHub: https://github.com/java-decompiler/jd-gui
- awesome-repositories: https://awesome-repositories.com/repository/java-decompiler-jd-gui.md

## Description

This project is a desktop application designed for the reverse engineering and inspection of compiled Java code. It functions as a graphical interface that translates Java bytecode back into readable source code, allowing users to examine the internal logic of class files and archives when original source files are unavailable.

The tool provides a structured environment for navigating complex file hierarchies, including nested archives like JAR and WAR files. By maintaining an in-memory representation of loaded classes, it enables rapid searching and cross-referencing of code elements. The application also supports a modular architecture, allowing for the dynamic loading of external libraries to extend its core functionality.

Beyond basic decompilation, the software facilitates security auditing, legacy system maintenance, and general code review. It provides a visual workspace for inspecting methods, fields, and organizational structures within compiled binaries. The application is distributed as a standalone desktop utility with a standard graphical interface for file navigation and code display.

## Tags

### Development Tools & Productivity

- [Java Decompiler GUIs](https://awesome-repositories.com/f/development-tools-productivity/java-decompiler-guis.md) — Provides a graphical interface for reconstructing readable Java source code from compiled class files for debugging.
- [Java Bytecode Viewers](https://awesome-repositories.com/f/development-tools-productivity/java-bytecode-viewers.md) — Provides a desktop application for browsing and inspecting the internal structure of compiled Java classes and JAR files.
- [Java Reverse Engineering Tools](https://awesome-repositories.com/f/development-tools-productivity/java-reverse-engineering-tools.md) — Provides a utility for translating compiled Java bytecode back into high-level source code for security audits.
- [Source Code Viewers](https://awesome-repositories.com/f/development-tools-productivity/source-code-viewers.md) — Translates compiled class files back into readable source code to inspect methods and fields through a graphical interface. ([source](https://github.com/java-decompiler/jd-gui/blob/master/README.md))

### Operating Systems & Systems Programming

- [Decompilers](https://awesome-repositories.com/f/operating-systems-systems-programming/binary-analysis-capabilities/decompilers.md) — Converts compiled binary files back into readable source code to inspect application logic. ([source](https://github.com/java-decompiler/jd-gui#readme))

### Programming Languages & Runtimes

- [Decompilers](https://awesome-repositories.com/f/programming-languages-runtimes/compiler-interpreter-internals/compiler-infrastructure/intermediate-representations/bytecode/decompilers.md) — Translates compiled bytecode instructions back into high-level source code by mapping patterns to language constructs.
- [Bytecode](https://awesome-repositories.com/f/programming-languages-runtimes/compiler-interpreter-internals/compiler-infrastructure/intermediate-representations/bytecode.md) — Reconstructs readable source code from compiled class files to inspect application logic.

### Security & Cryptography

- [Security Testing and Auditing](https://awesome-repositories.com/f/security-cryptography/vulnerability-assessment-testing/security-testing-auditing.md) — Examines compiled class files to identify potential vulnerabilities or hidden behaviors within third-party libraries.

### Part of an Awesome List

- [Reverse Engineering Tools](https://awesome-repositories.com/f/awesome-lists/devtools/reverse-engineering-tools.md) — Standalone graphical utility for displaying Java source code.
- [Reverse Engineering and Decompilation](https://awesome-repositories.com/f/awesome-lists/security/reverse-engineering-and-decompilation.md) — Standalone graphical interface for Java decompilation.
- [Reverse Engineering Tools](https://awesome-repositories.com/f/awesome-lists/security/reverse-engineering-tools.md) — Standalone Java decompiler for viewing class files.

### Data & Databases

- [Archive Browsers](https://awesome-repositories.com/f/data-databases/file-asset-management/game-archive-browsers/archive-browsers.md) — Provides file explorer interfaces for navigating internal code structures within compiled archives. ([source](https://github.com/java-decompiler/jd-gui#readme))
- [Code Structure Models](https://awesome-repositories.com/f/data-databases/in-memory-indexes/code-structure-models.md) — Maintains structured in-memory representations of loaded classes for rapid searching and cross-referencing.

### Software Engineering & Architecture

- [Legacy Code Recovery](https://awesome-repositories.com/f/software-engineering-architecture/maintenance-automations/legacy-code-recovery.md) — Facilitates debugging and updates for older applications by recovering source code from compiled archives.

### User Interface & Experience

- [Binary File Loaders](https://awesome-repositories.com/f/user-interface-experience/file-selection-interfaces/binary-file-loaders.md) — Enables opening and browsing binary class files or archives through file selection interfaces. ([source](https://github.com/java-decompiler/jd-gui/blob/master/README.md))
