What is New
Want to see all news? Click here.
New Version: 1.730 Jun 2014
A new version of the retargetable decompiler has just arrived! It contains many new features and enhancements. Among the most important ones belong added support for decompiling files with no file format containing just raw machine code (like firmware), improved reconstruction of complex data types (such as arrays and structures), and enhanced generation of variable names and symbolic constants. We have also created a Twitter profile for our decompiler.
A list of changes:
- added support for decompiling files with no file format containing just raw machine code (like firmware). You can try it by selecting the "Raw Machine Code" input type in our decompilation service.
- added a reconstruction of function names from dynamically linked libraries (DLL) based on ordinal numbers
- added a reconstruction of variables and constants stored over multiple registers
- added emission of global variable addresses into the generated source code
- added support for generating pointers to functions and arrays of function pointers into the generated source code
- added a detection and reconstruction of RTTI tables when decompiling programs written in C++. When RTTI tables are detected, we emit the class names and methods in comments into the generated source code.
- added new optimizations:
i += 1and
i -= 1are generated as
- simplified the passing of arrays to functions (
- added a renaming of variables based on usual names of parameters of standard-library functions. For example, a variable passed as the first argument of
- extended the conversion of constants passed to functions from standard libraries to their symbolic names. For example, instead of
signal(2, 1), we now generate
- improved the reconstruction of complex data types, such as arrays and structures
- improved the reconstruction of local variables
- improved the support for decompiling programs built with Microsoft Visual C++ (reconstruction of functions, arguments, and other program constructs)
- improved the default generator of variable names. Instead of fruit names, it now emits variables names
vXfor global variables, function parameters, and other local variables, respectively.
- improved the reconstruction of switch statements
- improved the detection and use of debugging information in the DWARF format (the original language and used compiler)
- it is now possible to select the format of the generated call and control-flow graphs (the supported formats are SVG, PNG, and PDF)
- fix the generation of
continue/breakstatements to outer loops (in C,
continue/breakstatements only apply to the innermost loop)
- fix the reconstruction of
scanf()calls with more exotic string formats
- many additional small enhancements and bug fixes