#fugue #framework #fugue-bytes

fugue-bytes

A binary analysis framework written in Rust

1 unstable release

0.2.2 May 9, 2023

#1585 in Encoding

Download history 57/week @ 2024-12-20 13/week @ 2024-12-27 74/week @ 2025-01-03 139/week @ 2025-01-10 161/week @ 2025-01-17 25/week @ 2025-01-24 51/week @ 2025-01-31 70/week @ 2025-02-07 46/week @ 2025-02-14 109/week @ 2025-02-21 76/week @ 2025-02-28 62/week @ 2025-03-07 53/week @ 2025-03-14 63/week @ 2025-03-21 59/week @ 2025-03-28 49/week @ 2025-04-04

239 downloads per month
Used in 28 crates (6 directly)

MIT license

10KB
251 lines

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

~0.4–1MB
~23K SLoC