The Interactive Decompiler can break down code into high-level code by applying low-level refactorings.
The software comes with impressive key features that make the decompilation task easier. One can import Intel IA32 Assembly code, visualize and export quasi-C language code, and have a context-sensitive refactoring browser to a set of low-level refactorings. The software provides the facility to manipulate the Control Flow Graph (CFG) and the Abstract Syntax Tree (AST). For developers, it has an extensible data type for program representation, and it has an easily extensible architecture to add new program metadata, new processors, new refactorings, or new visualizations with ease. It has an embedded language helpful in describing the refactorings and other transformations, making it easy to modify the refactorings while running the program.
The software has a few limitations that one needs to keep in mind before using it. The IA32 instruction set is not fully supported, as the floating-point and SIMD instructions are not yet translated. Additionally, not all refactorings are implemented, and some have only a partial implementation. Data flow analysis is limited to register variables only. Lastly, the implementation of several necessary refactorings is still missing due to a lack of time.
The requirements for using the software include Python (2.4 or greater), PyGTK (2.10 or greater), Graphviz, pyparsing, and pydot. Overall, the Interactive Decompiler project is an excellent software that provides users with impressive decompilation features.
Version 0.2: N/A