State-of-the-art binary code analysis tools

The decompiler comes in 7 different flavors:

  • x86 decompiler (32-bit code)
  • x64 decompiler (64-bit code)
  • ARM decompiler (32-bit code)
  • ARM64 decompiler (64-bit code)
  • PowerPC decompiler (32-bit code)
  • PowerPC64 decompiler (64-bit code)
  • MIPS decompiler (O32 and N32 ABI)

Currently the decompiler can handle compiler generated code. Manually crafted code may be decompiled too but the results are usually worse than for compiler code. Support for other processors will eventually be added (no deadlines are available, sorry).

Below are the most important limitations of our decompilers (all processors):

  • exception handling is not supported
  • type recovery is not performed
  • global program analysis is not performed

Limitations specific to x86:

  • only 32-bit code can be analyzed with ida32

Limitations specific to x64:

  • only 64-bit code can be analyzed with ida64

Limitations specific to ARM32:

  • only 32-bit code can be analyzed with ida32
  • hard-float abi is not supported

Limitations specific to ARM64:

  • only 64-bit code can be analyzed with ida64

Limitations specific to PPC:

  • only 32-bit code can be analyzed with ida32
  • Vector/DFP/VSX/SPE instructions are not supported

Limitations specific to MIPS:

  • only 32-bit code can be analyzed
  • only O32 and N32 ABI are supported
  • only 32-bit FPR in O32 and 64-bit FPR in N32 are supported