This section introduces decompilers currently available to users. Some of them are commonly used in reverse engineering pratice, for example, Ghidra, JEB, and Hex-Rays. Others are not yet complete. Some are still under development. The readers can try out each tool at dogbolt.org.
- Ghidra
- Hex-Rays
- JEB
- RetDec
- angr
- Binary Ninja
- Boomerang
- RecStudio
- Reko
- Relyze
- Snowman
This section introduces theses or books about decompilation.
This section introduces compiler related knowledge.
This section introduces the theory of program analysis.
This section introduces the work of decompilation framework.
This section introduces the intermediate representation designed for reverse engineering.
- LLVM IR
- Ghidra Pcode
- VEX
- Hex-Rays microcode
- BAP BIL
- REIL
- ESIL
- LLIL
- BTIL
This section introduces the papers aim to reconstruct the type information of variable, including general type and struct.
This section introduces the work of control flow reconstruction.
This section introduces the work of debug information recovery including identifier recogonizing and renaming.
This section introduces the evaluation related work of decompilation.
This section introduces the work aim to recover the object-oriented related features in C++.
This section introduces the work of AI-based decompilation.
This section introduces the work aim to recover the features of specific application scenarios.
Other topics in decompilation.