Introduction
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).
- Architecture definitions (
-
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).
- A knowledge database to represent program binaries that can be populated
using third-party tools (