Tool

RetDec

Avast's retargetable machine-code decompiler built on LLVM. It takes ELF, PE, Mach-O, COFF, AR, Intel HEX or raw code for 32-bit x86, ARM, MIPS, PIC32 and PowerPC or 64-bit x86-64 and ARM64, recovers functions, types and C++ class hierarchies, and emits C or a Python-like language with call and control-flow graphs.

Requirements & limits

  • README warns that RetDec is in limited maintenance mode: pull requests are reviewed with priority, issues get delayed reactions and are not actively solved unless they concern basic maintenance, and only very limited development continues. The latest release is v5.0 (2022-12-08); the reviewed master commit of 2026-05-26 is 81 commits ahead of it and still declares version 5.0.
  • Release packages cover Linux, macOS and Windows; README lists Windows 7+, Linux, macOS and experimental FreeBSD, with about 5–6 GB per installation. Source builds need a C++17 compiler (GCC 7+, Visual Studio 2017 15.7+ or full Xcode on macOS 10.15+), OpenSSL 1.1.1+, Python 3.4+ and, outside Windows, autotools; CMakeLists.txt requires CMake 3.13, not README's 3.6. The build downloads pinned Capstone, Keystone, YARA and yaramod, an Avast LLVM fork and a 2019 support package.
  • Input is the user's own executable, object file, archive or raw machine code. Since v5.0 the decompiler is also a set of CMake libraries for other projects, and separate retdec-idaplugin and retdec-r2plugin repositories embed it in IDA and radare2.
  • GitHub Actions builds Release and Debug builds on Ubuntu 22.04, Windows (MSYS2) and macOS, then runs the separate retdec-regression-tests suite. README calls nightly builds unguaranteed, with possible regressions, and Docker support community-maintained.
  • MIT (Avast Software). The modified PeLib keeps its zlib/libpng license, and LICENSE-THIRD-PARTY lists the other components, including Keystone used under its FOSS exception to GPLv2.

About this entry

Type
Tool
Category
Native analysis tools
Relationship
Foundation tool
Targets
Binary

Sources reviewed

The description was reviewed against primary sources. This does not establish runtime testing, security auditing or verified compatibility.

Report an outdated entry Suggest a translation fix

Primary sources

  1. README.md GitHub · avast/retdec · Revision 9450585
  2. CHANGELOG.md GitHub · avast/retdec · Revision 9450585
  3. CMakeLists.txt GitHub · avast/retdec · Revision 9450585
  4. cmake/deps.cmake GitHub · avast/retdec · Revision 9450585
  5. .github/workflows/retdec-ci.yml GitHub · avast/retdec · Revision 9450585
  6. .github/workflows/common/prepare-retdec-tests.sh GitHub · avast/retdec · Revision 9450585
  7. LICENSE GitHub · avast/retdec · Revision 9450585
  8. LICENSE-PELIB GitHub · avast/retdec · Revision 9450585
  9. LICENSE-THIRD-PARTY GitHub · avast/retdec · Revision 9450585
  10. https://github.com/avast/retdec/releases/tag/v5.0

More in Native binaries

All 74 entries in Native binaries