Header menu logo B2R2

B2R2.FrontEnd Namespace

Contains the APIs for the B2R2 front-end, which is responsible for parsing, disassembling, and lifting binaries.

Type Description

BinHandle

Represents the main data structure for accessing a chunk of binary code. It provides ways to read raw data from the binary through addresses and to access binary file metadata through the IBinFile interface. It also provides ways to parse/lift instructions from the binary through LiftingUnit.

CallingConvention

Provides a set of functions to obtain calling convention information for different architectures. This includes the list of volatile registers, the register used for syscall return values, and the register used for syscall numbers.

ExceptionInfo

Represents parsed exception information of a binary code. We currently only support ELF binaries.

GroundWork

Provides a set of functions to create fundamental components, such as parsers and IR builders, to use the B2R2 front-end.

IInstructionCollectable

Provides an interface for collecting instructions.

InstructionCandidate

Represents one or more candidate instructions located at the same address. There could be two instructions at the same address when considering the operation mode of ARM CPU: one for ARM and the other for Thumb mode.

InstructionCollection

Represents a collection of lifted instructions. When this class is instantiated, it will automatically lift all possible instructions from the given binary, and store them in the internal collection. This is shared across all functions.

LiftingUnit

Represents a basic unit for lifting binaries, which can be used to parse, disassemble, and lift instructions. To lift a binary in parallel, one needs to create multiple lifting units.

LinearSweepInstructionCollector

Represents a linear sweep instruction collector, which is the most basic instruction collector performing linear sweep disassembly.

Type something to start searching.