EN
ENNA

RetDec

MIT

๐Ÿงฌ Reverse Engineering ยท C++

RetDec is a retargetable machine-code decompiler based on LLVM, developed by Avast. It converts executable files (PE, ELF, COFF, Mach-O, Intel HEX, and raw binaries) back to high-level C code from x86, ARM, MIPS, PIC32, and PowerPC architectures. RetDec performs compiler and packer detection, static library signature matching, instruction idiom translation, type recovery, and control flow structuring to produce readable decompiled output. Unlike architecture-specific decompilers, RetDec's LLVM-based intermediate representation allows it to support multiple architectures with a single analysis pipeline. It includes both a command-line decompiler and an IDA Pro plugin, and can output C code with recovered variable names, types, and function signatures. RetDec is particularly useful for analyzing firmware, embedded systems, and malware targeting non-x86 architectures.

8.5kstars
985forks
441issues
Updated 9mo ago

Installation

from source

$ git clone https://github.com/avast/retdec && cd retdec && mkdir build && cd build && cmake .. && make -j$(nproc)

Download

$ Download pre-built binaries from GitHub releases

Use Cases

  • Decompiling firmware binaries from ARM, MIPS, and other embedded architectures
  • Analyzing malware targeting non-x86 platforms with C output
  • Recovering source code from legacy binaries with lost source
  • Bulk decompilation of binary samples for automated analysis pipelines
  • Understanding compiled code structure through LLVM-based intermediate analysis

Tags

decompilerllvmmulti-archarmmipsfirmware

Alternatives & Comparisons

More in Reverse Engineering