#ida #binary-file #reverse-engineering #idalib #vuln-dev

bin+lib augur

Reverse engineering assistant that extracts strings and related pseudo-code from a binary file

9 releases

new 0.5.1 Mar 10, 2025
0.5.0 Mar 3, 2025
0.2.3 Feb 28, 2025
0.1.2 Feb 13, 2025
0.1.0 Jan 24, 2025

#2331 in Command line utilities

Download history 84/week @ 2025-01-19 26/week @ 2025-01-26 133/week @ 2025-02-02 109/week @ 2025-02-09 258/week @ 2025-02-16 241/week @ 2025-02-23 199/week @ 2025-03-02

812 downloads per month

MIT license

21KB
186 lines

augur

build doc

"In fact I've actually triggered buffer overflows by just entering my real name."

-- A.

Augur is a blazing fast IDA Pro headless plugin that extracts strings and related pseudo-code from a binary file. It stores pseudo-code of functions that reference strings in an organized directory tree.

Features

  • Blazing fast, headless user experience courtesy of IDA Pro 9 and Binarly's idalib Rust bindings.
  • Support for binary targets for any architecture implemented by IDA Pro's Hex-Rays decompiler.
  • Decompilation feature based on the decompile_to_file API exported by haruspex.
  • Pseudo-code of each function that references a specific string is stored in a separate directory.

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 augur as follows:
    $ export IDASDKDIR=/path/to/idasdk
    $ export IDADIR=/path/to/ida # if not set, the build script will check common locations
    $ cargo install augur
    

Note: in addition to the latest IDA SDK and IDA Pro itself, a recent version of LLVM/Clang is required (see idalib documentation).

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 augur as follows:
    $ git clone https://github.com/0xdea/augur
    $ cd augur
    $ export IDASDKDIR=/path/to/idasdk # or edit .cargo/config.toml
    $ export IDADIR=/path/to/ida # if not set, the build script will check common locations
    $ cargo build --release
    

Note: in addition to the latest IDA SDK and IDA Pro itself, a recent version of LLVM/Clang is required (see idalib documentation).

Usage

  1. Make sure IDA Pro is properly configured with a valid license.
  2. Run augur as follows:
    $ augur <binary_file>
    
  3. Find the extracted pseudo-code of each decompiled function in the binary_file.str directory, organized by string:
    $ vim <binary_file>.str
    $ code <binary_file>.str
    

Compatibility

  • IDA Pro 9.0.241217 - Latest compatible: v0.2.3.
  • IDA Pro 9.1.250226 - Latest compatible: current version.

Note: only the unix target family is currently supported, check idalib documentation if you're interested in a windows port.

Changelog

TODO

Dependencies

~3–14MB
~177K SLoC