[GH-ISSUE #2258] A recommended list of open-source decompilers #747

Open
opened 2026-10-15 18:27:54 +00:00 by bsakaguchi · 6 comments
Owner

Originally created by @CVFA on GitHub (Oct 12, 2026).
Original GitHub issue: https://github.com/morluto/rea/issues/2258

This issue contains a huge list of open-source decompilers, with the goal of providing a wider variety of decompilers.

This issue was created specifically to provide alternatives to proprietary products such as IDA Pro, Hopper Disassembler, and JEB.

1. C, C++, Rust, and Go (Native Binaries)

For languages that compile directly to machine code (Assembly), there is no perfect "1:1 decompiler" due to compiler optimization, but these are the industry-standard open-source tools:

  • Redress: This is a specific open-source tool designed to analyze Go binaries from which symbols have been stripped.
  • GoReSym: Developed by Mandiant, this tool focuses on recovering metadata and symbol tables directly from the Go compiler code.
  • RetDec (Maintained by Avast / Gen Digital)
    • Focus: C and C++ (x86, ARM, MIPS architectures).
    • Why it's the best: It is a retargetable decompiler based on the LLVM infrastructure. It is fantastic for converting binaries back into structured C++ code, and is widely used for malware analysis and recovering the logic of legacy programs.
  • Rizin (with rz-ghidra)
    • Focus: Native binaries (Open-source alternative to IDA Pro).
    • Why it's the best: An active community fork of Radare2, Rizin focuses on usability. Integrated with the Ghidra engine (rz-ghidra), it offers a very fast graphical interface (Cutter) for decompiling C/C++ and Go binaries.

2. Java

Java bytecode preserves a lot of structural information, allowing for near-perfect decompilations.

  • CFR (Class File Reader)
    • Why it's the best: Written in Java, CFR is famous for flawlessly handling modern language features (such as Records, Pattern Matching, and Switch Expressions in Java 17/21+). It doesn't need the original source code to deduce complex generic variables.
  • Fernflower
    • Why it's the best: Originally created by JetBrains, it is now open-source and forms the core of the IntelliJ IDEA Community Edition decompiler. It is extremely fast and generates very clean source code, making it the choice of many security analysts for analyzing .jar libraries.
  • Procyon
    • Why it's the best: Excellent for handling complex lambda expressions and compilations generated by JVM-based languages (such as Scala or Clojure) that export to Java bytecode.

3. C# / .NET

Just like Java, .NET assemblies (.dll, .exe) contain rich metadata.

  • ILSpy
    • Why it's the best: It is the absolute industry standard for open-source .NET tooling. ILSpy reads metadata, PDBs (debug files), and converts complex assemblies back into C# or VB.NET with uncanny accuracy. It is actively maintained and supports the latest versions of .NET (Core / 5+).
  • dnSpyEx
    • Why it's the best: The legendary dnSpy has been archived, but the community fork dnSpyEx is still alive in 2026. In addition to decompiling C#, it allows you to edit the assembly, inject breakpoints, debug, and recompile the modified binary directly within the interface.

4. Python

Decompiling Python is notoriously difficult because the bytecode (.pyc) changes drastically with each Python release and the original source code (AST) is lost.

  • PyLingual: Currently, this is the most advanced open-source tool for decompiling CPython bytecode (.pyc files) from version 3.6 onward. Recent academic studies and security reports highlight PyLingual for its extremely high success rate in reconstructing the original source code.
  • pycdc (Python Bytecode Disassembler and Decompiler)
    • Why it's the best: Written in C++, pycdc is currently the most robust tool. It supports the most modern versions of Python 3.x (including the recent 2025/2026 releases), handling the new bytecode instructions that pure Python scripts cannot decipher.
  • decompyle3 / uncompyle6
    • Why they are useful: Although uncompyle6 focuses on legacy (Python 2.x and early 3.x) and decompyle3 targets intermediate versions (Python 3.7-3.8), they remain essential in 2026 for analyzing old malware and legacy scripts from enterprise systems.

5. Kotlin and Android (JVM / ART Ecosystem)

  • JADX (Dex to Java Decompiler)
    • Focus: .apk, .dex, and .jar files (Android apps and Kotlin code).
    • Why it's the best: JADX is irreplaceable for mobile app reverse engineering. It takes Android's Dalvik/ART bytecode and converts it directly into clean Java code. In 2026, its heuristics for "translating" Kotlin syntax back into readable Java are vital, given that Kotlin is the dominant language on Android.

6. JavaScript / TypeScript

JS is interpreted, so the "decompiler" actually acts as an unbundler and deobfuscator.

  • Webcrack
    • Why it's the best: With the modern web (2026) dominated by complex bundlers, Webcrack is the essential open-source tool. It reverses the obfuscation and bundling of tools like Webpack, Turbopack, Next.js, and Vite, reconstructing the original TypeScript/JavaScript folder and module structure.
  • de4js
    • Why it's useful: Focused on deobfuscating malicious or protected scripts (using eval, base64 packers, etc.) directly in the browser or via CLI.

7. WebAssembly (Wasm)

  • WasmDec
    • Why it's the best: An open-source tool that translates .wasm binaries back into C-like pseudocode, allowing analysts to understand the logic of heavy web applications or C/C++/Rust-compiled plugins running in the browser.

This issue may contain duplicate decompilers; if so, please reply to this issue.

Originally created by @CVFA on GitHub (Oct 12, 2026). Original GitHub issue: https://github.com/morluto/rea/issues/2258 This issue contains a huge list of open-source decompilers, with the goal of providing a wider variety of decompilers. This issue was created specifically to provide alternatives to proprietary products such as IDA Pro, Hopper Disassembler, and JEB. ### 1. C, C++, Rust, and Go (Native Binaries) For languages that compile directly to machine code (Assembly), there is no perfect "1:1 decompiler" due to compiler optimization, but these are the industry-standard open-source tools: * **Redress**: This is a specific open-source tool designed to analyze Go binaries from which symbols have been stripped. * **GoReSym**: Developed by Mandiant, this tool focuses on recovering metadata and symbol tables directly from the Go compiler code. * **RetDec** (Maintained by Avast / Gen Digital) * **Focus:** C and C++ (x86, ARM, MIPS architectures). * **Why it's the best:** It is a retargetable decompiler based on the LLVM infrastructure. It is fantastic for converting binaries back into structured C++ code, and is widely used for malware analysis and recovering the logic of legacy programs. * **Rizin (with rz-ghidra)** * **Focus:** Native binaries (Open-source alternative to IDA Pro). * **Why it's the best:** An active community fork of Radare2, Rizin focuses on usability. Integrated with the Ghidra engine (`rz-ghidra`), it offers a very fast graphical interface (Cutter) for decompiling C/C++ and Go binaries. ### 2. Java Java bytecode preserves a lot of structural information, allowing for near-perfect decompilations. * **CFR (Class File Reader)** * **Why it's the best:** Written in Java, CFR is famous for flawlessly handling modern language features (such as Records, Pattern Matching, and Switch Expressions in Java 17/21+). It doesn't need the original source code to deduce complex generic variables. * **Fernflower** * **Why it's the best:** Originally created by JetBrains, it is now open-source and forms the core of the **IntelliJ IDEA Community Edition** decompiler. It is extremely fast and generates very clean source code, making it the choice of many security analysts for analyzing `.jar` libraries. * **Procyon** * **Why it's the best:** Excellent for handling complex lambda expressions and compilations generated by JVM-based languages (such as Scala or Clojure) that export to Java bytecode. ### 3. C# / .NET Just like Java, .NET assemblies (`.dll`, `.exe`) contain rich metadata. * **ILSpy** * **Why it's the best:** It is the absolute industry standard for open-source .NET tooling. ILSpy reads metadata, PDBs (debug files), and converts complex assemblies back into C# or VB.NET with uncanny accuracy. It is actively maintained and supports the latest versions of .NET (Core / 5+). * **dnSpyEx** * **Why it's the best:** The legendary *dnSpy* has been archived, but the community fork **dnSpyEx** is still alive in 2026. In addition to decompiling C#, it allows you to *edit* the assembly, inject breakpoints, debug, and recompile the modified binary directly within the interface. ### 4. Python Decompiling Python is notoriously difficult because the bytecode (`.pyc`) changes drastically with each Python release and the original source code (AST) is lost. * **PyLingual**: Currently, this is the most advanced open-source tool for decompiling CPython bytecode (`.pyc` files) from version 3.6 onward. Recent academic studies and security reports highlight PyLingual for its extremely high success rate in reconstructing the original source code. * **pycdc (Python Bytecode Disassembler and Decompiler)** * **Why it's the best:** Written in C++, `pycdc` is currently the most robust tool. It supports the most modern versions of Python 3.x (including the recent 2025/2026 releases), handling the new bytecode instructions that pure Python scripts cannot decipher. * **decompyle3 / uncompyle6** * **Why they are useful:** Although `uncompyle6` focuses on legacy (Python 2.x and early 3.x) and `decompyle3` targets intermediate versions (Python 3.7-3.8), they remain essential in 2026 for analyzing old malware and legacy scripts from enterprise systems. ### 5. Kotlin and Android (JVM / ART Ecosystem) * **JADX (Dex to Java Decompiler)** * **Focus:** `.apk`, `.dex`, and `.jar` files (Android apps and Kotlin code). * **Why it's the best:** JADX is irreplaceable for mobile app reverse engineering. It takes Android's Dalvik/ART bytecode and converts it directly into clean Java code. In 2026, its heuristics for "translating" Kotlin syntax back into readable Java are vital, given that Kotlin is the dominant language on Android. ### 6. JavaScript / TypeScript JS is interpreted, so the "decompiler" actually acts as an unbundler and deobfuscator. * **Webcrack** * **Why it's the best:** With the modern web (2026) dominated by complex bundlers, Webcrack is the essential open-source tool. It reverses the obfuscation and bundling of tools like Webpack, Turbopack, Next.js, and Vite, reconstructing the original TypeScript/JavaScript folder and module structure. * **de4js** * **Why it's useful:** Focused on deobfuscating malicious or protected scripts (using eval, base64 packers, etc.) directly in the browser or via CLI. ### 7. WebAssembly (Wasm) * **WasmDec** * **Why it's the best:** An open-source tool that translates `.wasm` binaries back into C-like pseudocode, allowing analysts to understand the logic of heavy web applications or C/C++/Rust-compiled plugins running in the browser. --- **This issue may contain duplicate decompilers; if so, please reply to this issue.**
Author
Owner

@ElectroIoT commented on GitHub (Oct 12, 2026):

good one

<!-- gh-comment-id:6129281732 --> @ElectroIoT commented on GitHub (Oct 12, 2026): good one
Author
Owner

@coygeek commented on GitHub (Oct 12, 2026):

Thanks @CVFA for putting this list together. It covers nearly every major target class in one place. To make it easier to act on, I've added the repository behind each entry, a few corrections, related repos not on the list, and the gaps this exposes in REA today.

Star counts and activity were checked on 2026-10-12. All of these tools are open source on GitHub.

Repos for each tool in the list

Native (C/C++/Rust/Go)

Java

  • CFR: leibnitz27/cfr (2.7k stars). Last release 0.152 (2021).
  • Fernflower: JetBrains/fernflower (4.4k stars). A read-only mirror; the live source is intellij-community/plugins/java-decompiler/engine.
  • Procyon: mstrobel/procyon (1.2k stars). No pushes since 2022.

.NET

Python

Android, JS and Wasm

Corrections

  • RetDec: the README says the project is "in a limited maintenance mode due to a lack of resources".
  • Fernflower: Stiver wrote it, and JetBrains has maintained it since 2014 (credits). Vineflower is the actively maintained fork.
  • pycdc: its opcode tables stop at Python 3.13 (bytes/), so 2025/2026 releases are not supported. PyLingual covers 3.6+.
  • uncompyle6: it covers Python 1.0 through 3.8, not only 2.x and early 3.x.
  • Webcrack: it unpacks webpack and browserify bundles only (docs). It has no Turbopack, Vite or Next.js unpacker.
  • WASM: WABT removed wasm-decompile in 1.0.42 (WebAssembly/wabt#2769). With wasmdec unmaintained, no maintained CLI on this list turns .wasm into C-like pseudocode.

Other repos worth adding

Native

Java and Android

.NET and Unity

Python

JS, mobile frameworks and Wasm

Gaps this exposes in REA

REA already uses Ghidra, JADX (APK only), Apktool, Wakaru and WABT. It can also call ILSpy's ilspycmd as an optional verification step. The list points to these gaps on main. Per CONTRIBUTING.md, each one needs its own scope issue before implementation.

  1. Python bytecode has no support. #367 is closed as completed, but commit c93422a89 removed its bytecodeProvider.ts scaffold. It should be reopened or replaced. Candidates: PyLingual, with pycdc as a fallback and pyinstxtractor for frozen executables. Tracked in #2296.
  2. Standalone .class and .jar files are not covered, since JADX in REA accepts only APKs. Vineflower or CFR could fill this under #1558. Proposed first slice: comment on #1558.
  3. Stripped Go binaries get only build info. docs/go-binaries.md declares function names and types out of scope. GoReSym (MIT license, JSON output) recovers both without a deep provider. Tracked in #2297.
  4. WASM has no pseudocode output. The pinned WABT 1.0.42 has no wasm-decompile. ghidra-wasm-plugin through the existing Ghidra provider looks like the shortest path. Tracked in #2298.
  5. .NET output stops at metadata and CIL. ilspycmd is already wired in for verification. Promoting it to an optional C# source, labeled as inference, would close this gap. Tracked in #2299.
  6. No way to compare decompilers. decompiler-explorer shows one function's output from several decompilers side by side. #2300 proposes the same for REA's Hopper, Ghidra and IDA providers in a single call.

Update: these gaps are now filed as #2296 (Python), #2297 (Go), #2298 (WASM), #2299 (.NET C#) and #2300 (cross-provider comparison). The Java gap is a proposed slice on #1558, which already covered it.

<!-- gh-comment-id:6130226337 --> @coygeek commented on GitHub (Oct 12, 2026): Thanks @CVFA for putting this list together. It covers nearly every major target class in one place. To make it easier to act on, I've added the repository behind each entry, a few corrections, related repos not on the list, and the gaps this exposes in REA today. Star counts and activity were checked on 2026-10-12. All of these tools are open source on GitHub. ### Repos for each tool in the list **Native (C/C++/Rust/Go)** - Redress: [goretk/redress](https://github.com/goretk/redress) (1.2k stars) - GoReSym: [mandiant/GoReSym](https://github.com/mandiant/GoReSym) (1.1k stars) - RetDec: [avast/retdec](https://github.com/avast/retdec) (8.6k stars). In limited maintenance; the last release is v5.0 (2022). - Rizin: [rizinorg/rizin](https://github.com/rizinorg/rizin) (4.0k stars) - rz-ghidra: [rizinorg/rz-ghidra](https://github.com/rizinorg/rz-ghidra) (1.0k stars) - Cutter: [rizinorg/cutter](https://github.com/rizinorg/cutter) (20.0k stars) **Java** - CFR: [leibnitz27/cfr](https://github.com/leibnitz27/cfr) (2.7k stars). Last release 0.152 (2021). - Fernflower: [JetBrains/fernflower](https://github.com/JetBrains/fernflower) (4.4k stars). A read-only mirror; the live source is `intellij-community/plugins/java-decompiler/engine`. - Procyon: [mstrobel/procyon](https://github.com/mstrobel/procyon) (1.2k stars). No pushes since 2022. **.NET** - ILSpy: [icsharpcode/ILSpy](https://github.com/icsharpcode/ILSpy) (26.6k stars) - dnSpyEx: [dnSpyEx/dnSpy](https://github.com/dnSpyEx/dnSpy) (11.2k stars). Active; v6.6.0 shipped in June 2026. **Python** - PyLingual: [syssec-utd/pylingual](https://github.com/syssec-utd/pylingual) (1.4k stars). First release v0.0.1 in September 2026. - pycdc: [zrax/pycdc](https://github.com/zrax/pycdc) (4.6k stars). No releases. - decompyle3: [rocky/python-decompile3](https://github.com/rocky/python-decompile3) (1.3k stars) - uncompyle6: [rocky/python-uncompyle6](https://github.com/rocky/python-uncompyle6) (4.3k stars) **Android, JS and Wasm** - JADX: [skylot/jadx](https://github.com/skylot/jadx) (50.9k stars) - Webcrack: [j4k0xb/webcrack](https://github.com/j4k0xb/webcrack) (3.0k stars) - de4js: [lelinhtinh/de4js](https://github.com/lelinhtinh/de4js) (1.6k stars). **Archived** since 2021. - WasmDec: [wwwg/wasmdec](https://github.com/wwwg/wasmdec) (0.4k stars). No commits since 2018. ### Corrections - **RetDec:** the [README](https://github.com/avast/retdec#readme) says the project is "in a limited maintenance mode due to a lack of resources". - **Fernflower:** Stiver wrote it, and JetBrains has maintained it since 2014 ([credits](https://github.com/JetBrains/fernflower#credits)). [Vineflower](https://github.com/Vineflower/vineflower) is the actively maintained fork. - **pycdc:** its opcode tables stop at Python 3.13 ([`bytes/`](https://github.com/zrax/pycdc/tree/master/bytes)), so 2025/2026 releases are not supported. PyLingual covers 3.6+. - **uncompyle6:** it covers Python 1.0 through 3.8, not only 2.x and early 3.x. - **Webcrack:** it unpacks webpack and browserify bundles only ([docs](https://github.com/j4k0xb/webcrack/blob/master/apps/docs/src/concepts/unpack.md)). It has no Turbopack, Vite or Next.js unpacker. - **WASM:** WABT removed `wasm-decompile` in 1.0.42 ([WebAssembly/wabt#2769](https://github.com/WebAssembly/wabt/pull/2769)). With wasmdec unmaintained, no maintained CLI on this list turns `.wasm` into C-like pseudocode. ### Other repos worth adding **Native** - [NationalSecurityAgency/ghidra](https://github.com/NationalSecurityAgency/ghidra) (84.8k stars): the engine behind rz-ghidra and r2ghidra. - [radareorg/radare2](https://github.com/radareorg/radare2) (25.0k stars): the project Rizin forked from. - [angr/angr](https://github.com/angr/angr) (9.1k stars): a Python analysis framework with its own decompiler. - [albertan017/LLM4Decompile](https://github.com/albertan017/LLM4Decompile) (7.1k stars): decompilation with large language models. - [decompiler-explorer/decompiler-explorer](https://github.com/decompiler-explorer/decompiler-explorer) (2.7k stars): runs many decompilers on the same input (dogbolt.org). - [uxmal/reko](https://github.com/uxmal/reko) (2.6k stars): a maintained decompiler that supports many architectures. - [crypto2011/IDR](https://github.com/crypto2011/IDR) (1.2k stars): reconstructs Delphi programs. **Java and Android** - [iBotPeaches/Apktool](https://github.com/iBotPeaches/Apktool) (25.8k stars) - [Konloch/bytecode-viewer](https://github.com/Konloch/bytecode-viewer) (15.7k stars): runs CFR, Fernflower, Procyon, JADX and Krakatau side by side. - [java-decompiler/jd-gui](https://github.com/java-decompiler/jd-gui) (15.2k stars) - [pxb1988/dex2jar](https://github.com/pxb1988/dex2jar) (13.1k stars) - [Col-E/Recaf](https://github.com/Col-E/Recaf) (7.4k stars) - [androguard/androguard](https://github.com/androguard/androguard) (6.3k stars) - [Vineflower/vineflower](https://github.com/Vineflower/vineflower) (2.4k stars) - [Storyyeller/Krakatau](https://github.com/Storyyeller/Krakatau) (2.3k stars) **.NET and Unity** - [Perfare/Il2CppDumper](https://github.com/Perfare/Il2CppDumper) (9.5k stars) - [de4dot/de4dot](https://github.com/de4dot/de4dot) (7.4k stars): a deobfuscator. Archived but still widely used. - [SamboyCoding/Cpp2IL](https://github.com/SamboyCoding/Cpp2IL) (3.0k stars): an actively maintained IL2CPP tool. **Python** - [extremecoders-re/pyinstxtractor](https://github.com/extremecoders-re/pyinstxtractor) (4.5k stars): extracts `.pyc` files from PyInstaller executables before decompiling. - [rocky/python-xdis](https://github.com/rocky/python-xdis) (0.4k stars): the bytecode layer under decompyle3 and uncompyle6. **JS, mobile frameworks and Wasm** - [WebAssembly/wabt](https://github.com/WebAssembly/wabt) (8.2k stars) - [jehna/humanify](https://github.com/jehna/humanify) (3.3k stars): renames minified identifiers with an LLM. - [worawit/blutter](https://github.com/worawit/blutter) (2.7k stars): recovers Flutter/Dart AOT code. - [relative/synchrony](https://github.com/relative/synchrony) (1.3k stars): reverses javascript-obfuscator output. - [P1sec/hermes-dec](https://github.com/P1sec/hermes-dec) (1.2k stars): decompiles React Native Hermes bytecode. - [pionxzh/wakaru](https://github.com/pionxzh/wakaru) (1.0k stars) - [nneonneo/ghidra-wasm-plugin](https://github.com/nneonneo/ghidra-wasm-plugin) (0.4k stars): decompiles WASM inside Ghidra. ### Gaps this exposes in REA REA already uses Ghidra, JADX (APK only), Apktool, Wakaru and WABT. It can also call ILSpy's `ilspycmd` as an optional verification step. The list points to these gaps on `main`. Per [CONTRIBUTING.md](https://github.com/morluto/rea/blob/main/CONTRIBUTING.md#contribution-scope), each one needs its own scope issue before implementation. 1. **Python bytecode has no support.** #367 is closed as completed, but commit `c93422a89` removed its `bytecodeProvider.ts` scaffold. It should be reopened or replaced. Candidates: PyLingual, with pycdc as a fallback and pyinstxtractor for frozen executables. Tracked in #2296. 2. **Standalone `.class` and `.jar` files are not covered**, since JADX in REA accepts only APKs. Vineflower or CFR could fill this under #1558. Proposed first slice: [comment on #1558](https://github.com/morluto/rea/issues/1558#issuecomment-6130457537). 3. **Stripped Go binaries get only build info.** [docs/go-binaries.md](https://github.com/morluto/rea/blob/main/docs/go-binaries.md) declares function names and types out of scope. GoReSym (MIT license, JSON output) recovers both without a deep provider. Tracked in #2297. 4. **WASM has no pseudocode output.** The pinned WABT 1.0.42 has no `wasm-decompile`. ghidra-wasm-plugin through the existing Ghidra provider looks like the shortest path. Tracked in #2298. 5. **.NET output stops at metadata and CIL.** `ilspycmd` is already wired in for verification. Promoting it to an optional C# source, labeled as inference, would close this gap. Tracked in #2299. 6. **No way to compare decompilers.** decompiler-explorer shows one function's output from several decompilers side by side. #2300 proposes the same for REA's Hopper, Ghidra and IDA providers in a single call. **Update:** these gaps are now filed as #2296 (Python), #2297 (Go), #2298 (WASM), #2299 (.NET C#) and #2300 (cross-provider comparison). The Java gap is a proposed slice on #1558, which already covered it.
Author
Owner

@ltfish commented on GitHub (Oct 12, 2026):

FYI angr supports decompiling Rust binaries into Rust pseudocode and Go binaries into Go pseudocode (as of angr 10.0.3). I'm working on integrating angr into rea. Will open a PR soon.

<!-- gh-comment-id:6134123659 --> @ltfish commented on GitHub (Oct 12, 2026): FYI angr supports decompiling Rust binaries into Rust pseudocode and Go binaries into Go pseudocode (as of angr 10.0.3). I'm working on integrating angr into rea. Will open a PR soon.
Author
Owner

@matbrgz commented on GitHub (Oct 12, 2026):

Ecosystem Evaluation & Integration Roadmap Notes

Thank you for compiling this comprehensive reference of open-source decompilation tooling.

Per REA's provider guidelines (AGENTS.md and CONTRIBUTING.md):

  • Go Symbols (GoReSym / Redress): Directly relevant to #2297 for parsing pclntab and recovering stripped Go structures.
  • Java / Android (JADX / CFR): Bridges with the JVM/Android roadmap (#1558, #2377).
  • Integration Boundary: REA integrates backends via standardized MCP / CLI contracts maintaining the bring-your-own philosophy. New candidates require explicit maintainer scope review before adding execution dependencies.
<!-- gh-comment-id:6134372576 --> @matbrgz commented on GitHub (Oct 12, 2026): ### Ecosystem Evaluation & Integration Roadmap Notes Thank you for compiling this comprehensive reference of open-source decompilation tooling. Per REA's provider guidelines (`AGENTS.md` and `CONTRIBUTING.md`): - **Go Symbols (`GoReSym` / `Redress`):** Directly relevant to #2297 for parsing `pclntab` and recovering stripped Go structures. - **Java / Android (`JADX` / `CFR`):** Bridges with the JVM/Android roadmap (#1558, #2377). - **Integration Boundary:** REA integrates backends via standardized MCP / CLI contracts maintaining the bring-your-own philosophy. New candidates require explicit maintainer scope review before adding execution dependencies.
Author
Owner

@HypergamyDenier commented on GitHub (Oct 13, 2026):

Should be noted for java further decompilers could be found here https://github.com/morluto/rea/issues/1558
https://github.com/Storyyeller/Krakatau Java decompiler, assembler, and disassembler (note that v1 may have a more mature decompiler https://github.com/Storyyeller/Krakatau/tree/master)
https://github.com/Vineflower/vineflower Fork of the Fernflower decompiler focusing on accuracy
https://github.com/nbauma109/procyon fork with some stuff that upstream abandoned Procyon misses.

Vineflower/Cfr/Fernflower are the most realistic choices. CFR also has an --antiobf flag to handle heavy obfuscation

<!-- gh-comment-id:6144387094 --> @HypergamyDenier commented on GitHub (Oct 13, 2026): Should be noted for java further decompilers could be found here https://github.com/morluto/rea/issues/1558 https://github.com/Storyyeller/Krakatau Java decompiler, assembler, and disassembler (note that v1 may have a more mature decompiler https://github.com/Storyyeller/Krakatau/tree/master) https://github.com/Vineflower/vineflower Fork of the Fernflower decompiler focusing on accuracy https://github.com/nbauma109/procyon fork with some stuff that upstream abandoned Procyon misses. Vineflower/Cfr/Fernflower are the most realistic choices. CFR also has an --antiobf flag to handle heavy obfuscation
Author
Owner

@CVFA commented on GitHub (Oct 17, 2026):

Oh, and if the project's name itself is an acronym for “Reverse engineering of anything”, we can't forget about bundles of web frameworks:
Name: Wakaru
Source code: https://github.com/pionxzh/wakaru
Description: Specialized in rebuilding modern JavaScript code and separating bundles into individual modules. Supports Webpack 4/5, Turbopack, esbuild, Bun, Browserify and Rollup/Vite compatible output. It also retrieves JavaScript constructs transformed by Babel, TypeScript, and SWC.

Name: webcrack
Source code: https://github.com/j4k0xb/webcrack
Description: Reverse engineering tool for JavaScript that combines deobfuscation, deminification and unbundling of Webpack and Browserify bundles. It's especially interesting when the code has been obfuscated as well as compiled.

<!-- gh-comment-id:6230280709 --> @CVFA commented on GitHub (Oct 17, 2026): Oh, and if the project's name itself is an acronym for “Reverse engineering of anything”, we can't forget about bundles of web frameworks: **Name**: Wakaru **Source code**: https://github.com/pionxzh/wakaru **Description**: Specialized in rebuilding modern JavaScript code and separating bundles into individual modules. Supports Webpack 4/5, Turbopack, esbuild, Bun, Browserify and Rollup/Vite compatible output. It also retrieves JavaScript constructs transformed by Babel, TypeScript, and SWC. **Name**: webcrack **Source code**: https://github.com/j4k0xb/webcrack **Description**: Reverse engineering tool for JavaScript that combines deobfuscation, deminification and unbundling of Webpack and Browserify bundles. It's especially interesting when the code has been obfuscated as well as compiled.
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
morluto/rea#747
No description provided.