Freedom251 › Decompiler Software
Krakatau

What Krakatau is
Krakatau is a free Linux toolkit for working with Java bytecode. Its assembler and disassembler convert Java class files into editable human-readable text and back, including for obfuscated code. Users can also write bytecode manually to create class files, inspect low-level binary details and compare Java binaries.
The assembler supports the Java 19 bytecode specification and some undocumented features in older JVM versions. Its syntax mostly extends Jasmin, with minor incompatibilities. A roundtrip mode retains enough encoding detail for bit-for-bit identical reassembly, though the output is harder to read. The assembler and disassembler can process JAR or ZIP archives containing class files or assembly files. The v2 decompiler remains a work in progress, and the project directs users to v1 for decompilation; decompilation works best on older code and lacks support for some Java 8 and later features, including lambdas. Installation requires Rust and Cargo, cloning the repository and building in release mode. Krakatau is marked GPL-3.0 licensed, and its GitHub releases page lists no releases.
Who it suits
It suits developers who need to inspect, disassemble, edit or assemble Java bytecode, including obfuscated classes. Decompilation may suit users working with older code, subject to its feature limitations.
What it does well
- Assembler and disassembler handle obfuscated code.
- Can create class files from manually written bytecode.
- Supports Java 19 bytecode specification.
- Archive processing covers JAR and ZIP files.
What to know first
- The v2 decompiler is a work in progress.
- Some Java 8+ features, including lambdas, are unsupported.
- Installation requires Rust, Cargo and a source build.
- No GitHub releases are available.
Limits
Krakatau is free, with no paid plans listed. Decompilation is limited: v2 is a work in progress, and the decompiler does not support some Java 8 and later features, including lambdas.
Plans
| Plan | Billed and limits | Price |
|---|---|---|
| Free and open source | No paid plans listed | Free |
As github.com lists them, read 8 Oct 2026. The maker's own page has the final word.
Getting started
- Open the Krakatau GitHub repository.
- Install Rust and Cargo.
- Clone the repository.
- Run cargo build --release.
Verdict
Krakatau offers bytecode editing, inspection and archive handling, with support for obfuscated code. Its decompiler limitations and source-build installation requirements matter, especially for users who need newer Java features.
Questions
Is Krakatau free?
Yes. It is listed as free, with a price of $0 and no paid plans listed.
Is Krakatau open source?
The repository is marked as GPL-3.0 licensed.
What can Krakatau do with Java bytecode?
It can decompile, assemble and disassemble Java bytecode, create class files from manually written bytecode, and inspect or compare low-level binary details.
Does it support decompiling newer Java code?
The v2 decompiler is a work in progress, and the project directs users to v1 for decompilation. The decompiler lacks support for some Java 8 and later features, including lambdas.
Which platform is listed?
Linux.
How do I install it?
Installation requires Rust and Cargo, cloning the repository, and running cargo build --release.
Facts from Krakatau's own pages
- Archive handling
- The assembler and disassembler can process JAR or ZIP archives containing Java class files or assembly files. · github.com, 8 Oct 2026
- Bytecode editing
- Its assembler and disassembler convert Java class files to editable human-readable text and back, including for obfuscated code. · github.com, 8 Oct 2026
- Bytecode support
- The assembler supports the Java 19 bytecode specification and some undocumented features in older JVM versions. · github.com, 8 Oct 2026
- Create class files
- Users can create class files from scratch by writing bytecode manually. · github.com, 8 Oct 2026
- Decompiler limitation
- The decompiler does not support some Java 8+ features such as lambdas and works best on older code. · github.com, 8 Oct 2026
- Decompiler status
- The v2 decompiler is a work in progress and the README directs users to Krakatau v1 for decompilation. · github.com, 8 Oct 2026
- Distribution
- The GitHub releases page states that there are no releases available. · github.com, 8 Oct 2026
- Inspect binaries
- The project can examine and compare low-level details of Java binaries. · github.com, 8 Oct 2026
- Installation
- Installation requires Rust and Cargo, then cloning the repository and running cargo build --release. · github.com, 8 Oct 2026
- Jasmin syntax
- Krakatau assembler syntax is mostly a superset of Jasmin syntax, with minor incompatibilities. · github.com, 8 Oct 2026
- License
- The repository is marked as GPL-3.0 licensed. · github.com, 8 Oct 2026
- Obfuscated code
- The disassembler is designed to handle highly obfuscated code and its output can be reassembled. · github.com, 8 Oct 2026
- Purpose
- Krakatau provides tools to decompile, assemble, and disassemble Java bytecode. · github.com, 8 Oct 2026
- Roundtrip mode
- Roundtrip disassembly preserves enough encoding detail for bit-for-bit identical reassembly, but makes output harder to read. · github.com, 8 Oct 2026
Where Krakatau stands on Freedom251
- Decompiler Software#18 of 24