Skip to content

Structures

Structures exported from the disassembler are found in program.structures. A structure is composed of its members and most of the information found in the disassembler is extracted.

Note

The type system includes structures, unions, enums, arrays, pointers, and typedefs. Use the is_* boolean properties (e.g. t.is_struct, t.is_union, t.is_enum) to check the kind of a type object. See the Types page for full details.

Segments

The segments exported from the disassembler are available under program.segments

Strings

Strings are accessible per-function via func.strings, per-block via block.strings, and per-instruction via inst.strings. There is no program-level strings property -- iterate over functions to collect all strings in the binary.

Executable

The executable file is accessible via program.executable. It provides methods to read raw bytes, strings, and integers from the binary file using file offsets (not virtual addresses). Use program.address_to_offset(addr) to convert a virtual address to a file offset first.