Hex-Rays v7.2 vs. v7.1 Decompiler Comparison Page
Below you will find side-by-side comparisons of v7.1 and v7.2 decompilations. Please maximize the window too see both columns simultaneously.
The following examples are displayed on this page:
NOTE: these are just some selected examples that can be illustrated as side-by-side differences. There are many other improvements and new features that are not mentioned on this page.
Magic divisions in 64-bit code
In the past the Decompiler was able to recognize magic divisions in 32-bit code. We now support magic divisions in 64-bit code too.
More aggressive 'if' to 'boolean' folding
More aggressive folding of if_one_else_zero constructs; the output is much shorter and easier to grasp.
Better type of 'this' argument
The decompiler tries to guess the type of the first argument of a constructor. This leads to improved listing.
Improved union field selection
The decompiler has a better algorithm to find the correct union field. This reduces the number of casts in the output.
Improved recognition of 'for' loops
We improved recognition of 'for' loops, they are shorter and much easier to understand.
Added support for shifted pointers
Please note that the code on the left is completely illegible; the assembler code is probably easier to work with in this case. However, the code on the right is very neat. JFYI, below is the class hierarchy for this example: