Header menu logo B2R2

B2R2.FrontEnd.BinFile.ELF Namespace

Contains types and functions for working with ELF file types.

Type/Module Description

ARMLinkerSymbol

Represents an ARM-specific symbol type for ELF binaries, which are used to distinguish between ARM and Thumb instructions. For other CPU architectures, this will be set to None.

Augmentation

Represents the CIE augmetation data.

CallSiteRecord

Represents a callsite record in the LSDA. Each callsite record contains information about a callsite, including its position, length, landing pad, etc.

CanonicalFrameAddress

Represents the CFA, machine-independent representation of the current frame address. For example, (esp+8) on x86.

CFAInstruction

Represents call frame instructions used for virtually unwinding stack.

CFI

Represents the Call Frame Information (CFI), which is the main information block of .eh_frame. This exists roughly for every object file, although one object file may have multiple CFIs. Each CFI record contains a CIE record followed by 1 or more FDE records.

CIE

Represents the Common Information Entry (CIE).

DTag

Represents the dyanmic array entry kinds.

DWOperation

Represents DWARF operation expressions.

DynamicArrayEntry

Represents a dynamic array entry in the .dynamic section of ELF binaries.

ELFType (Module)

Provides helper functions for ELFType

ELFType (Type)

Represents the ELF file type, such as ET_REL, ET_EXEC, etc.

ExceptionFrame

Represents the exception frame, which is a list of CFI records.

ExceptionHeaderApplication

Represents the application type of the value in the DWARF exception header encoded as the upper 4 bits of a byte.

ExceptionHeaderValue

Represents the format of a value in the DWARF exception header encoded as the lower 4 bits of a byte.

FDE

Represents the Frame Description Entry (FDE).

Header

Represents the ELF header. This type corresponds to "struct ElfN_Ehdr" in the ELF specification.

LSDA

Represents the LSDA (Language Specific Data Area), which consists of a list of callsite records.

LSDATable

Represents a map from the address of the LSDA to the LSDA itself. LSDATable is used to store the parsed LSDA entries from the `.gcc_except_table` section of the ELF file.

MachineType

Represents the target machine architecture of the ELF file.

OSABI (Module)

Provides helper functions for OSABI

OSABI (Type)

Represents the operating system or ABI used by the ELF file.

ProgramHeader

Represents a program header in ELF. A program header describes a segment of the program.

ProgramHeaderType (Module)

Provides functions to convert program header type to a string

ProgramHeaderType (Type)

Represents what kind of segment this array element describes or how to interpret the array element's information.

RelocationARMv7

Represents a relocation type for ARMv7.

RelocationARMv8

Represents a relocation type for ARMv8.

RelocationEntry

Represents a relocation entry.

RelocationInfo

Represents relocation information, which internally stores a collection of relocation entries indexed by their addresses.

RelocationKind (Module)

Provides active patterns for matching against architecture-specific relocation kinds.

RelocationKind (Type)

Represents the relocation type of ELF.

RelocationMIPS

Represents a relocation type for MIPS.

RelocationPARISC

Represents a relocation type for PARISC.

RelocationPPC32

Represents a relocation type for PPC.

RelocationRISCV

Represents a relocation type for RISCV.

RelocationS390

Represents a relocation type for S390.

RelocationSH4

Represents a relocation type for SH4.

RelocationX64

Represents a relocation type for x86-64.

RelocationX86

Represents a relocation type for x86.

Section

Provides constants for ELF section names.

SectionFlags (Module)

Provides functions to convert section flags to string.

SectionFlags (Type)

Represents miscellaneous attributes of a section.

SectionHeader

Represents a section header in ELF.

SectionHeaderIdx

Represents the relevant section header index of a symbol. Every symbol table entry is defined in relation to some section.

SectionType (Module)

Provides functions to convert section types to string representations.

SectionType (Type)

Represents the ELF section header type.

Symbol

Represents the symbol type of ELF.

SymbolBind (Module)

Provides functions to convert a SymbolBind to a string and vice versa.

SymbolBind (Type)

Represents a symbol's binding, which determines the linkage visibility and behavior.

SymbolStore

Represents the main data structure for storing ELF symbol information.

SymbolType (Module)

Provides functions to convert a SymbolType to a string and vice versa.

SymbolType (Type)

Provides a general classification for the associated entity.

SymbolVisibility (Module)

Provides functions to convert a SymbolVisibility to a string and vice versa.

SymbolVisibility (Type)

Represents a symbol's visibility

SymVerInfo

Represents the version information of a symbol.

UnwindingAction

Represents unwinding action that can be performed to restore a register value during stack unwinding. This is referred to as "register rules" in the DWARF specification.

UnwindingEntry

Represents an entry (a row) of the call frame information table (i.e., unwinding table).

UnwindingRule

Represents a rule describing how a register or return address is saved on the stack frame. We can use the rule to find the value for the register in the previous frame.

UnwindingTarget

Represents a unwinding target, which can be either a return address or a normal register.

Type something to start searching.