E-SPIN business partner Hex-Rays Hex-Rays Decompiler brings binary software analysis within reach of millions of programmers by converts native processor executable programs and code into a human readable C-like pseudocode text on the fly.
In comparison to low level assembly language, high level language representation in the Decompiler has several advantages:
- concise: requires less time to read it
- structured: program logic is more obvious
- dynamic: variable names and types can be changed on the fly
- familiar: no need to learn the assembly language
- cool: the most advanced decompiler ever built!
The pseudocode text is generated on the fly. Our technology is fast enough to analyze 99% of functions within a couple of seconds.
Currently the decompiler supports compiler generated code for the x86, x64, ARM32, ARM64, and PowerPC processors. We plan to port it to other platforms in the future. The programmtic API allows our customers to improve the decompiler output. Vulnerability search, software validation, coverage analysis are the directions that immediately come to mind.
The decompiler runs on MS Windows, Linux, and Mac OS X. The GUI and text IDA versions are supported.
Hex-Rays Decompiler is a decompiler that transforms binary applications into a high level readable text. Unlike disassemblers, which perform the same task at a lower level, the decompiler output is concise, closer to the standard way programmers use to write applications. This alone can save hours of work because analysts mentally map the disassembly output to high-level concepts. Decompiler frees them of this routine and boring task. Since the decompiler output is similar to high level languages, any regular C/C++ programmer can understand it.
Hex-Rays is the first decompiler that can handle real world applications. It embodies more than ten years of proprietary research and implements unpublished algorithms and innovative ideas. Its output is clean, well structured, and easily modifiable.
Hex-Rays comes with one year of technical support by email, free bugfixes and updates. At the end of the support period you will be entitled to a substantial discount for the next support period.
Facts about Hex-Rays Decompiler:
- The decompiler supports 32-bit compiler-generated Intel x86 code
- It can handle code generated by any mainstream C/C++ compiler
- It is very fast. Most functions are analyzed instantaneously
- It has interactive and batch modes
- It is shipped as an IDA Pro plugin. IDA 5.8 or higher is required
- Floating point instructions (also XMM/MMX/SSE*) are supported
- 16-bit and 64-bit code are not yet supported
- There is an ARM edition as well as x86
- Exception handling is not supported in the current version
In comparison to low level assembly language, high level language representation in Hex-Rays has several advantages:
The decompiler supports 32-bit compiler generated x86 code
It can handle code generated by any mainstream C/C++ compiler
It is very fast. Most functions are analyzed instantaneously
It has interactive and batch modes
It is shipped as an IDA Pro plugin. IDA 5.1 or higher is required to run it – Floating point instructions (as well as XMM/MMX/SSE* instructions) are not supported in the current version
Exception handling is not supported in the current version
Since decompilation in general is an unsolvable problem, the output is not 100% reliable (which is the case with disassemblers as well)