#fugue #framework #fugue-db

fugue-db

A binary analysis framework written in Rust

2 releases

0.2.16 Oct 26, 2024
0.2.15 May 9, 2023

#1655 in Database interfaces

Download history 87/week @ 2024-12-11 92/week @ 2024-12-18 15/week @ 2024-12-25 43/week @ 2025-01-01 97/week @ 2025-01-08 129/week @ 2025-01-15 103/week @ 2025-01-22 40/week @ 2025-01-29 48/week @ 2025-02-05 59/week @ 2025-02-12 46/week @ 2025-02-19 67/week @ 2025-02-26 41/week @ 2025-03-05 74/week @ 2025-03-12 22/week @ 2025-03-19 80/week @ 2025-03-26

236 downloads per month
Used in 11 crates (6 directly)

MIT and maybe LGPL-3.0+

590KB
16K SLoC

Fugue logo

Fugue Binary Analysis Framework

DOI

Fugue is a binary analysis framework in the spirit of B2R2 and BAP, with a focus on providing reusable components to rapidly prototype new binary analysis tools and techniques.

Fugue is built around a core collection of crates, i.e., fugue-core. These crates provide a number of fundamental capabilities:

  • Data structures and types:

    • Architecture definitions (fugue-arch).
    • Bit vectors (fugue-bv).
    • Floating point numbers (fugue-fp).
    • Endian-aware conversion to and from various primitive types (fugue-bytes).
  • Program representations and abstractions:

    • A knowledge database to represent program binaries that can be populated using third-party tools (fugue-db).
    • Disassembly and lifting to intermediate representations (fugue-ir).

Prerequisites

git submodule init
git submodule update --recursive

Build

cargo build

Dependencies

~9–21MB
~330K SLoC