# skylot/jadx

**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/skylot-jadx).**

47,324 stars · 5,433 forks · Java · apache-2.0

## Links

- GitHub: https://github.com/skylot/jadx
- awesome-repositories: https://awesome-repositories.com/repository/skylot-jadx.md

## Topics

`android` `decompiler` `dex` `java`

## Description

Jadx is a comprehensive Java decompilation suite designed to transform compiled binary application files into readable source code. It functions as a static analysis workbench, providing a graphical interface for navigating, searching, and inspecting the internal logic of complex software packages. By utilizing a bytecode-to-Java pipeline, the project reconstructs high-level logical structures from low-level binary instructions, making it a primary tool for Android application reverse engineering.

The project distinguishes itself through a sophisticated control flow reconstruction engine and a symbolic deobfuscation engine that restores original code structure by renaming obfuscated identifiers. Beyond its graphical interface, Jadx offers a binary analysis library that allows developers to embed automated decompilation and source code extraction directly into custom security pipelines and software workflows. These capabilities enable detailed application security auditing and the investigation of mobile malware by tracing interactions across large, complex codebases.

The platform includes extensive tooling for code navigation, such as cross-referencing class and method usage, jumping to declarations, and mapping dependencies within binary projects. To support the analysis of massive packages, it incorporates performance-oriented features like disk-backed caching, in-memory indexing, and configurable package exclusion to manage memory consumption and processing speed.

## Tags

### Programming Languages & Runtimes

- [Decompilers](https://awesome-repositories.com/f/programming-languages-runtimes/decompilers.md) — Converts compiled binary application files into readable source code for analysis and reverse engineering.
- [Binary Decompilers](https://awesome-repositories.com/f/programming-languages-runtimes/binary-decompilers.md) — Converts compiled binary files into readable source code to simplify reverse engineering. ([source](https://github.com/skylot/jadx#readme))
- [Binary Analysis Libraries](https://awesome-repositories.com/f/programming-languages-runtimes/binary-analysis-libraries.md) — Provides core components for embedding automated binary-to-source extraction into custom software.
- [Analysis Integration APIs](https://awesome-repositories.com/f/programming-languages-runtimes/analysis-integration-apis.md) — Enables embedding automated binary analysis and source code extraction directly into custom software workflows. ([source](https://github.com/skylot/jadx#readme))

### Development Tools & Productivity

- [Static Analysis Workbenches](https://awesome-repositories.com/f/development-tools-productivity/static-analysis-workbenches.md) — Provides a graphical interface for inspecting, searching, and debugging the internal logic of binary software.
- [Decompiled Code Browsers](https://awesome-repositories.com/f/development-tools-productivity/decompiled-code-browsers.md) — Allows browsing decompiled source code with support for custom comments and snippet extraction. ([source](https://github.com/skylot/jadx/wiki/JADX-GUI-Key-bindings))
- [Code Search Tools](https://awesome-repositories.com/f/development-tools-productivity/code-search-tools.md) — Locates every reference to a specific class, method, or field throughout the entire codebase. ([source](https://github.com/skylot/jadx/wiki/jadx-gui-features-overview))
- [Input Processing Utilities](https://awesome-repositories.com/f/development-tools-productivity/input-processing-utilities.md) — Loads binary data and applies specific decompiler arguments to transform raw files into readable source code. ([source](https://github.com/skylot/jadx/wiki/Use-jadx-as-a-library))
- [Navigation Utilities](https://awesome-repositories.com/f/development-tools-productivity/navigation-utilities.md) — Provides direct navigation to the definition of classes, methods, or fields to explore implementation details. ([source](https://github.com/skylot/jadx/wiki/jadx-gui-features-overview))

### Mobile Development

- [Mobile Reverse Engineering Tools](https://awesome-repositories.com/f/mobile-development/mobile-reverse-engineering-tools.md) — Analyzes compiled mobile application binaries to understand internal logic and hidden functionality.

### Software Engineering & Architecture

- [Control Flow Analysis Engines](https://awesome-repositories.com/f/software-engineering-architecture/control-flow-analysis-engines.md) — Transforms low-level binary instructions into high-level logical structures through iterative graph construction.
- [Control Flow Analysis Tools](https://awesome-repositories.com/f/software-engineering-architecture/control-flow-analysis-tools.md) — Constructs directed graphs from binary instructions to reconstruct logical execution paths and branching structures.
- [Code Transformation Tools](https://awesome-repositories.com/f/software-engineering-architecture/code-transformation-tools.md) — Provides automated manipulation of intermediate code representations to simplify logic and remove redundancies.
- [Dependency Mapping Tools](https://awesome-repositories.com/f/software-engineering-architecture/dependency-mapping-tools.md) — Traces references and interactions between classes and methods across complex binary projects.

### Security & Cryptography

- [Deobfuscation Tools](https://awesome-repositories.com/f/security-cryptography/deobfuscation-tools.md) — Renames obfuscated identifiers and restores original code structure using pattern matching and heuristic rules.
- [Malware Analysis Tools](https://awesome-repositories.com/f/security-cryptography/malware-analysis-tools.md) — Inspects suspicious application packages to identify malicious behavior and track data exfiltration.
- [Security Auditing Tools](https://awesome-repositories.com/f/security-cryptography/security-auditing-tools.md) — Reviews compiled software to verify security compliance and identify flaws in data handling.

### System Administration & Monitoring

- [Assembly Debuggers](https://awesome-repositories.com/f/system-administration-monitoring/assembly-debuggers.md) — Inspects and modifies register values, object fields, and execution breakpoints during runtime. ([source](https://github.com/skylot/jadx/wiki/Smali-debugger))

### Data & Databases

- [In-Memory Indexes](https://awesome-repositories.com/f/data-databases/in-memory-indexes.md) — Maintains a searchable map of classes and methods to enable rapid navigation across large codebases.

### DevOps & Infrastructure

- [Automated Analysis Pipelines](https://awesome-repositories.com/f/devops-infrastructure/automated-analysis-pipelines.md) — Integrates programmatic decompilation into custom pipelines to process large volumes of binary files automatically.
