RetDec is a retargetable machine-code decompiler based on LLVM that converts compiled binaries back into high-level source code across multiple architectures and file formats.
The tool addresses the problem of understanding and analyzing compiled executables by reconstructing their source code representation. It works by performing static analysis on binary files to extract structural information, then applying signature-based techniques to identify and remove library code, reconstruct function boundaries, and recover high-level constructs like C++ class hierarchies. The decompiler outputs results in C or a Python-like language, and can generate call graphs and control-flow graphs for further analysis.
RetDec suits security researchers, reverse engineers, and malware analysts who need to understand compiled binaries without source code access. It is particularly valuable for analyzing executables across diverse architectures and formats without being locked to a single target. The tool's support for compiler and packer detection, debugging information extraction, and symbol demangling makes it effective for analyzing both stripped and unstripped binaries. Anyone adopting it should be aware that the project operates in limited maintenance mode with delayed issue response, though pull requests receive priority review.
The project accepts contributions and prioritizes their review. Basic project maintenance continues with only very limited active development. Issues receive responses with delays up to one quarter and are not actively solved unless they relate to core maintenance needs.