A retargetable machine-code decompiler based on LLVM, supporting multiple architectures and file formats.
RetDec is a retargetable machine-code decompiler that converts compiled binaries back into high-level source code representations like C or a Python-like language. It solves the problem of analyzing and understanding executable files without access to original source code, which is crucial for reverse engineering, security auditing, and malware research. Built on LLVM, it supports a wide range of architectures and file formats.
Security researchers, malware analysts, reverse engineers, and software developers who need to analyze or audit binary executables for vulnerabilities, compatibility, or educational purposes.
Developers choose RetDec for its retargetable design that works across multiple architectures and file formats without limitations, its advanced features like C++ class hierarchy reconstruction and library code removal, and its open-source nature which allows for customization and integration into security toolchains.
RetDec is a retargetable machine-code decompiler based on LLVM.
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Supports 32-bit and 64-bit architectures including x86, ARM, MIPS, and PowerPC, enabling analysis across diverse platforms without vendor lock-in.
Reconstructs C++ class hierarchies, utilizes debugging information like DWARF and PDB, and removes library code via signatures for accurate source recovery.
Handles multiple formats such as ELF, PE, Mach-O, COFF, and raw machine code, eliminating barriers for analyzing various binary types.
Built on LLVM with CMake integration and library APIs, allowing customization and embedding into security toolchains or other projects.
The project is in limited maintenance due to resource constraints, with issues responded to quarterly and minimal active development, as warned in the README.
Requires building from source with heavy dependencies like OpenSSL, Python, and autotools, which can be error-prone and time-consuming for non-experts.
Primarily a command-line tool; users must rely on external plugins for IDA or Radare2 for graphical interfaces, adding extra steps.
Slow development means fewer updates and new features compared to competitors, potentially missing optimizations or support for newer binary formats.