Home

Awesome

haruspex

build doc

"Hacking is the discipline of questioning all your assumptions all of the time."

-- Dave Aitel

Haruspex is a blazing fast IDA Pro headless plugin that extracts pseudo-code generated by IDA Pro's decompiler in a format that should be suitable to be imported into an IDE or parsed by static analysis tools such as Semgrep or weggli.

Features

Blog post

See also

Installing

The easiest way to get the latest release is via crates.io:

  1. Download, install, and configure IDA Pro (see https://hex-rays.com/ida-pro).
  2. Download and extract the IDA SDK (see https://docs.hex-rays.com/developer-guide).
  3. Install haruspex as follows:
    $ export IDASDKDIR=/path/to/idasdk90
    $ export IDADIR=/path/to/ida # if not set, the build script will check common locations
    $ cargo install haruspex
    

Compiling

Alternatively, you can build from source:

  1. Download, install, and configure IDA Pro (see https://hex-rays.com/ida-pro).
  2. Download and extract the IDA SDK (see https://docs.hex-rays.com/developer-guide).
  3. Compile haruspex as follows:
    $ git clone https://github.com/0xdea/haruspex
    $ cd haruspex
    $ export IDASDKDIR=/path/to/idasdk90 # or edit .cargo/config.toml
    $ export IDADIR=/path/to/ida # if not set, the build script will check common locations
    $ cargo build --release
    

Usage

  1. Make sure IDA Pro is properly configured with a valid license.
  2. Run haruspex as follows:
    $ haruspex <binary_file>
    
  3. Find the extracted pseudocode of each decompiled function in the binary_file.dec directory.

Tested with

Note: not tested on Windows, check idalib documentation if you want to try it yourself.

Changelog

TODO