types module¶
- class ArrayBuilder(handle: LP_BNTypeBuilder, platform: Optional[Platform] = None, confidence: int = 255)[source]¶
Bases:
TypeBuilder
- Parameters:
- classmethod create(type: Union[TypeBuilder, Type], element_count: int, platform: Optional[Platform] = None, confidence: int = 255) ArrayBuilder [source]¶
- Parameters:
- Return type:
- property children: List[TypeBuilder]¶
- property element_type: TypeBuilder¶
- class ArrayType(handle, platform: Optional[Platform] = None, confidence: int = 255)[source]¶
Bases:
Type
- classmethod create(element_type: Type, count: int, platform: Optional[Platform] = None, confidence: int = 255) ArrayType [source]¶
- property count¶
Type count (read-only)
- class BaseStructure(type: Union[ForwardRef('NamedTypeReferenceType'), ForwardRef('StructureType')], offset: int, width: int = 0)[source]¶
Bases:
object
- Parameters:
type (NamedTypeReferenceType) –
offset (int) –
width (int) –
- type: NamedTypeReferenceType¶
- class BoolBuilder(handle: LP_BNTypeBuilder, platform: Optional[Platform] = None, confidence: int = 255)[source]¶
Bases:
TypeBuilder
- Parameters:
- class BoolType(handle, platform: Optional[Platform] = None, confidence: int = 255)[source]¶
Bases:
Type
- class BoolWithConfidence(value: bool, confidence: int = 255)[source]¶
Bases:
object
- classmethod from_core_struct(core_struct: BNBoolWithConfidence) BoolWithConfidence [source]¶
- Parameters:
core_struct (BNBoolWithConfidence) –
- Return type:
- static get_core_struct(value: Union[bool, BoolWithConfidence], confidence: int = 255) BNBoolWithConfidence [source]¶
- Parameters:
value (Union[bool, BoolWithConfidence]) –
confidence (int) –
- Return type:
BNBoolWithConfidence
- class CharBuilder(handle: LP_BNTypeBuilder, platform: Optional[Platform] = None, confidence: int = 255)[source]¶
Bases:
IntegerBuilder
- Parameters:
- class CharType(handle, platform: Optional[Platform] = None, confidence: int = 255)[source]¶
Bases:
IntegerType
- class CoreSymbol(handle: LP_BNSymbol)[source]¶
Bases:
object
- Parameters:
handle (LP_BNSymbol) –
- property binding: SymbolBinding¶
Symbol binding (read-only)
- property handle¶
- property type: SymbolType¶
Symbol type (read-only)
- class EnumerationBuilder(handle: LP_BNTypeBuilder, enum_builder_handle: LP_BNEnumerationBuilder, platform: Optional[Platform] = None, confidence: int = 255)[source]¶
Bases:
TypeBuilder
- Parameters:
- append(name: str, value: Optional[int] = None) EnumerationBuilder [source]¶
- Parameters:
- Return type:
- classmethod create(members: Optional[Union[List[Tuple[str, int]], List[str], List[EnumerationMember]]] = None, width: Optional[int] = None, arch: Optional[Architecture] = None, sign: Union[bool, BoolWithConfidence] = False, platform: Optional[Platform] = None, confidence: int = 255) EnumerationBuilder [source]¶
- immutable_copy() EnumerationType [source]¶
- Return type:
- remove(i: int) EnumerationBuilder [source]¶
- Parameters:
i (int) –
- Return type:
- property members: List[EnumerationMember]¶
Enumeration member list (read-only)
- class EnumerationType(handle, platform: Optional[Platform] = None, confidence: int = 255)[source]¶
Bases:
IntegerType
- classmethod create(members: Union[List[Tuple[str, int]], List[str], List[EnumerationMember]], width: Optional[int] = None, arch: Optional[Architecture] = None, sign: Union[bool, BoolWithConfidence] = False, platform: Optional[Platform] = None, confidence: int = 255) EnumerationType [source]¶
- Parameters:
- Return type:
- generate_named_type_reference(guid: str, name: Union[Iterable[Union[str, bytes]], str, QualifiedName])[source]¶
- mutable_copy() EnumerationBuilder [source]¶
- Return type:
- property members¶
Enumeration member list (read-only)
- class FloatBuilder(handle: LP_BNTypeBuilder, platform: Optional[Platform] = None, confidence: int = 255)[source]¶
Bases:
TypeBuilder
- Parameters:
- class FloatType(handle, platform: Optional[Platform] = None, confidence: int = 255)[source]¶
Bases:
Type
- class FunctionBuilder(handle: LP_BNTypeBuilder, platform: Optional[Platform] = None, confidence: int = 255)[source]¶
Bases:
TypeBuilder
- Parameters:
- append(type: Union[TypeBuilder, Type, FunctionParameter], name: str = '')[source]¶
- Parameters:
type (Union[TypeBuilder, Type, FunctionParameter]) –
name (str) –
- classmethod create(return_type: Optional[Union[TypeBuilder, Type]] = None, calling_convention: Optional[CallingConvention] = None, params: Optional[Union[List[Type], List[FunctionParameter], List[Tuple[str, Type]]]] = None, var_args: Optional[Union[bool, BoolWithConfidence]] = None, stack_adjust: Optional[Union[int, OffsetWithConfidence]] = None, platform: Optional[_platform.Platform] = None, confidence: int = 255, can_return: Optional[BoolWithConfidence] = None, reg_stack_adjust: Optional[Dict[architecture.RegisterName, Union[int, OffsetWithConfidence]]] = None, return_regs: Optional[Union[RegisterSet, List[architecture.RegisterType]]] = None, name_type: NameType = NameType.NoNameType, pure: Optional[BoolWithConfidence] = None) FunctionBuilder [source]¶
- Parameters:
return_type (Optional[Union[TypeBuilder, Type]]) –
calling_convention (Optional[CallingConvention]) –
params (Optional[Union[List[Type], List[FunctionParameter], List[Tuple[str, Type]]]]) –
var_args (Optional[Union[bool, BoolWithConfidence]]) –
stack_adjust (Optional[Union[int, OffsetWithConfidence]]) –
platform (Optional[_platform.Platform]) –
confidence (int) –
can_return (Optional[BoolWithConfidence]) –
reg_stack_adjust (Optional[Dict[architecture.RegisterName, Union[int, OffsetWithConfidence]]]) –
return_regs (Optional[Union[RegisterSet, List[architecture.RegisterType]]]) –
name_type (NameType) –
pure (Optional[BoolWithConfidence]) –
- Return type:
- property calling_convention: CallingConvention¶
- property can_return: BoolWithConfidence¶
- property children: List[TypeBuilder]¶
- property parameters: List[FunctionParameter]¶
Type parameters list (read-only)
- property pure: BoolWithConfidence¶
- property return_value: TypeBuilder¶
- property stack_adjust: OffsetWithConfidence¶
- property stack_adjustment: OffsetWithConfidence¶
- property variable_arguments: BoolWithConfidence¶
- class FunctionParameter(type: Union[ForwardRef('TypeBuilder'), ForwardRef('Type')], name: str = '', location: Optional[ForwardRef('variable.VariableNameAndType')] = None)[source]¶
Bases:
object
- Parameters:
type (Union[TypeBuilder, Type]) –
name (str) –
location (Optional[VariableNameAndType]) –
- immutable_copy() FunctionParameter [source]¶
- Return type:
- mutable_copy() FunctionParameter [source]¶
- Return type:
- location: Optional[VariableNameAndType] = None¶
- type: Union[TypeBuilder, Type]¶
- class FunctionType(handle, platform: Optional[Platform] = None, confidence: int = 255)[source]¶
Bases:
Type
- classmethod create(ret: Optional[Type] = None, params: Optional[Union[List[Type], List[FunctionParameter], List[Tuple[str, Type]]]] = None, calling_convention: Optional[CallingConvention] = None, variable_arguments: Union[bool, BoolWithConfidence] = BoolWithConfidence(value=False, confidence=255), stack_adjust: OffsetWithConfidence = OffsetWithConfidence(value=0, confidence=255), platform: Optional[_platform.Platform] = None, confidence: int = 255, can_return: Union[BoolWithConfidence, bool] = True, reg_stack_adjust: Optional[Dict[architecture.RegisterName, Union[int, OffsetWithConfidence]]] = None, return_regs: Optional[Union[RegisterSet, List[architecture.RegisterType]]] = None, name_type: NameType = NameType.NoNameType, pure: Union[BoolWithConfidence, bool] = False) FunctionType [source]¶
- Parameters:
params (Optional[Union[List[Type], List[FunctionParameter], List[Tuple[str, Type]]]]) –
calling_convention (Optional[CallingConvention]) –
variable_arguments (Union[bool, BoolWithConfidence]) –
stack_adjust (OffsetWithConfidence) –
platform (Optional[_platform.Platform]) –
confidence (int) –
can_return (Union[BoolWithConfidence, bool]) –
reg_stack_adjust (Optional[Dict[architecture.RegisterName, Union[int, OffsetWithConfidence]]]) –
return_regs (Optional[Union[RegisterSet, List[architecture.RegisterType]]]) –
name_type (NameType) –
pure (Union[BoolWithConfidence, bool]) –
- Return type:
- property calling_convention: Optional[CallingConvention]¶
Calling convention (read-only)
- property can_return: BoolWithConfidence¶
Whether type can return
- property has_variable_arguments: BoolWithConfidence¶
Whether type has variable arguments (read-only)
- property parameters: List[FunctionParameter]¶
Type parameters list (read-only)
- property pure: BoolWithConfidence¶
Whether type is pure
- property stack_adjustment: OffsetWithConfidence¶
Stack adjustment for function (read-only)
- class InheritedStructureMember(base: 'NamedTypeReferenceType', base_offset: int, member: StructureMember, member_index: int)[source]¶
Bases:
object
- Parameters:
base (NamedTypeReferenceType) –
base_offset (int) –
member (StructureMember) –
member_index (int) –
- base: NamedTypeReferenceType¶
- member: StructureMember¶
- class IntegerBuilder(handle: LP_BNTypeBuilder, platform: Optional[Platform] = None, confidence: int = 255)[source]¶
Bases:
TypeBuilder
- Parameters:
- class IntegerType(handle, platform: Optional[Platform] = None, confidence: int = 255)[source]¶
Bases:
Type
- classmethod create(width: int, sign: Union[bool, BoolWithConfidence] = True, alternate_name: str = '', platform: Optional[Platform] = None, confidence: int = 255) IntegerType [source]¶
- Parameters:
- Return type:
- property signed: BoolWithConfidence¶
Whether type is signed (read-only)
- class MutableTypeBuilder(type: TB, container: Union[ForwardRef('binaryview.BinaryView'), ForwardRef('typelibrary.TypeLibrary')], name: QualifiedName, platform: Optional[ForwardRef('_platform.Platform')], confidence: int, user: bool = True)[source]¶
Bases:
Generic
[TB
]- Parameters:
type (TB) –
container (Union[BinaryView, TypeLibrary]) –
name (QualifiedName) –
confidence (int) –
user (bool) –
- container: Union[BinaryView, TypeLibrary]¶
- name: QualifiedName¶
- type: TB¶
- class NameSpace(name: Optional[Union[Iterable[Union[str, bytes]], str, QualifiedName]] = None)[source]¶
Bases:
QualifiedName
- class NamedTypeReferenceBuilder(handle: LP_BNTypeBuilder, ntr_builder_handle: LP_BNNamedTypeReferenceBuilder, platform: Optional[Platform] = None, confidence: int = 255)[source]¶
Bases:
TypeBuilder
- Parameters:
- classmethod create(type_class: NamedTypeReferenceClass = NamedTypeReferenceClass.UnknownNamedTypeClass, type_id: Optional[str] = None, name: Union[Iterable[Union[str, bytes]], str, QualifiedName] = '', width: int = 0, align: int = 1, platform: Optional[Platform] = None, confidence: int = 255, const: Union[bool, BoolWithConfidence] = False, volatile: Union[bool, BoolWithConfidence] = False) NamedTypeReferenceBuilder [source]¶
- Parameters:
- Return type:
- immutable_copy() NamedTypeReferenceType [source]¶
- Return type:
- static named_type(named_type: NamedTypeReferenceBuilder, width: int = 0, align: int = 1, const: Union[bool, BoolWithConfidence] = BoolWithConfidence(value=False, confidence=255), volatile: Union[bool, BoolWithConfidence] = BoolWithConfidence(value=False, confidence=255)) NamedTypeReferenceBuilder [source]¶
- Parameters:
named_type (NamedTypeReferenceBuilder) –
width (int) –
align (int) –
const (Union[bool, BoolWithConfidence]) –
volatile (Union[bool, BoolWithConfidence]) –
- Return type:
- static named_type_from_registered_type(view: BinaryView, name: Union[Iterable[Union[str, bytes]], str, QualifiedName]) NamedTypeReferenceBuilder [source]¶
- Parameters:
view (BinaryView) –
name (Union[Iterable[Union[str, bytes]], str, QualifiedName]) –
- Return type:
- static named_type_from_type(name: Union[Iterable[Union[str, bytes]], str, QualifiedName], type_class: Optional[NamedTypeReferenceClass] = None) NamedTypeReferenceBuilder [source]¶
- Parameters:
name (Union[Iterable[Union[str, bytes]], str, QualifiedName]) –
type_class (Optional[NamedTypeReferenceClass]) –
- Return type:
- static named_type_from_type_and_id(type_id: str, name: Union[Iterable[Union[str, bytes]], str, QualifiedName], type: Optional[Type] = None) NamedTypeReferenceBuilder [source]¶
- property name: QualifiedName¶
- property named_type_class: NamedTypeReferenceClass¶
- class NamedTypeReferenceType(handle, platform: Optional[Platform] = None, confidence: int = 255, ntr_handle=None)[source]¶
Bases:
Type
- classmethod create(named_type_class: NamedTypeReferenceClass, guid: Optional[str], name: Union[Iterable[Union[str, bytes]], str, QualifiedName], alignment: int = 0, width: int = 0, platform: Optional[Platform] = None, confidence: int = 255, const: Union[bool, BoolWithConfidence] = False, volatile: Union[bool, BoolWithConfidence] = False) NamedTypeReferenceType [source]¶
- Parameters:
named_type_class (NamedTypeReferenceClass) –
name (Union[Iterable[Union[str, bytes]], str, QualifiedName]) –
alignment (int) –
width (int) –
confidence (int) –
const (Union[bool, BoolWithConfidence]) –
volatile (Union[bool, BoolWithConfidence]) –
- Return type:
- classmethod create_from_handle(ntr_handle, alignment: int = 0, width: int = 0, platform: Optional[Platform] = None, confidence: int = 255, const: Union[bool, BoolWithConfidence] = False, volatile: Union[bool, BoolWithConfidence] = False)[source]¶
Create a NamedTypeReferenceType from a BNNamedTypeReference handle
- classmethod create_from_registered_type(view: BinaryView, name: Union[Iterable[Union[str, bytes]], str, QualifiedName], platform: Optional[Platform] = None, confidence: int = 255) NamedTypeReferenceType [source]¶
- Parameters:
- Return type:
- classmethod create_from_type(name: Union[Iterable[Union[str, bytes]], str, QualifiedName], type: Optional[Type], guid: Optional[str] = None, platform: Optional[Platform] = None, confidence: int = 255, const: Union[bool, BoolWithConfidence] = False, volatile: Union[bool, BoolWithConfidence] = False) NamedTypeReferenceType [source]¶
- static generate_auto_demangled_type_ref(type_class: NamedTypeReferenceClass, name: Union[Iterable[Union[str, bytes]], str, QualifiedName])[source]¶
- Parameters:
type_class (NamedTypeReferenceClass) –
name (Union[Iterable[Union[str, bytes]], str, QualifiedName]) –
- static generate_auto_type_ref(type_class: NamedTypeReferenceClass, source: str, name: Union[Iterable[Union[str, bytes]], str, QualifiedName])[source]¶
- Parameters:
type_class (NamedTypeReferenceClass) –
source (str) –
name (Union[Iterable[Union[str, bytes]], str, QualifiedName]) –
- target(bv: BinaryView) Optional[Type] [source]¶
Returns the type pointed to by the current type
- Parameters:
bv (BinaryView) – The BinaryView in which this type is defined.
- Returns:
The type this NamedTypeReference is referencing
- Return type:
Optional[Type]
- property name: QualifiedName¶
- property named_type_class: NamedTypeReferenceClass¶
- class OffsetWithConfidence(value: int, confidence: int = 255)[source]¶
Bases:
object
- classmethod from_core_struct(core_struct: BNOffsetWithConfidence) OffsetWithConfidence [source]¶
- Parameters:
core_struct (BNOffsetWithConfidence) –
- Return type:
- static get_core_struct(value: Union[int, OffsetWithConfidence], confidence: int = 255) BNOffsetWithConfidence [source]¶
- Parameters:
value (Union[int, OffsetWithConfidence]) –
confidence (int) –
- Return type:
BNOffsetWithConfidence
- class PointerBuilder(handle: LP_BNTypeBuilder, platform: Optional[Platform] = None, confidence: int = 255)[source]¶
Bases:
TypeBuilder
- Parameters:
- classmethod create(type: Type, width: int = 4, arch: Optional[Architecture] = None, const: Union[bool, BoolWithConfidence] = False, volatile: Union[bool, BoolWithConfidence] = False, ref_type: ReferenceType = ReferenceType.PointerReferenceType, platform: Optional[Platform] = None, confidence: int = 255) PointerBuilder [source]¶
- Parameters:
type (Type) –
width (int) –
arch (Optional[Architecture]) –
const (Union[bool, BoolWithConfidence]) –
volatile (Union[bool, BoolWithConfidence]) –
ref_type (ReferenceType) –
confidence (int) –
- Return type:
- property children: List[TypeBuilder]¶
- property origin: Optional[Tuple[QualifiedName, int]]¶
- property target: TypeBuilder¶
- class PointerType(handle, platform: Optional[Platform] = None, confidence: int = 255)[source]¶
Bases:
Type
- classmethod create(arch: Architecture, type: Union[TypeBuilder, Type], const: Union[bool, BoolWithConfidence] = False, volatile: Union[bool, BoolWithConfidence] = False, ref_type: ReferenceType = ReferenceType.PointerReferenceType, platform: Optional[Platform] = None, confidence: int = 255) PointerType [source]¶
- Parameters:
arch (Architecture) –
type (Union[TypeBuilder, Type]) –
const (Union[bool, BoolWithConfidence]) –
volatile (Union[bool, BoolWithConfidence]) –
ref_type (ReferenceType) –
confidence (int) –
- Return type:
- classmethod create_with_width(width: int, type: Union[TypeBuilder, Type], const: Union[bool, BoolWithConfidence] = False, volatile: Union[bool, BoolWithConfidence] = False, ref_type: Optional[ReferenceType] = None, platform: Optional[Platform] = None, confidence: int = 255) PointerType [source]¶
- Parameters:
width (int) –
type (Union[TypeBuilder, Type]) –
const (Union[bool, BoolWithConfidence]) –
volatile (Union[bool, BoolWithConfidence]) –
ref_type (Optional[ReferenceType]) –
confidence (int) –
- Return type:
- static from_bools(const: Union[bool, BoolWithConfidence], volatile: Union[bool, BoolWithConfidence]) Tuple[BoolWithConfidence, BoolWithConfidence] [source]¶
- Parameters:
const (Union[bool, BoolWithConfidence]) –
volatile (Union[bool, BoolWithConfidence]) –
- Return type:
- origin(bv: Optional[BinaryView]) Optional[Tuple[QualifiedName, int]] [source]¶
- Parameters:
bv (Optional[BinaryView]) –
- Return type:
- property ref_type: ReferenceType¶
- class QualifiedName(name: Optional[Union[Iterable[Union[str, bytes]], str, QualifiedName]] = None)[source]¶
Bases:
object
- static escape(name: Union[Iterable[Union[str, bytes]], str, QualifiedName], escaping: TokenEscapingType) str [source]¶
- Parameters:
name (Union[Iterable[Union[str, bytes]], str, QualifiedName]) –
escaping (TokenEscapingType) –
- Return type:
- static unescape(name: Union[Iterable[Union[str, bytes]], str, QualifiedName], escaping: TokenEscapingType) str [source]¶
- Parameters:
name (Union[Iterable[Union[str, bytes]], str, QualifiedName]) –
escaping (TokenEscapingType) –
- Return type:
- class RegisterSet(regs: List[ForwardRef('architecture.RegisterName')], confidence: int = 255)[source]¶
Bases:
object
- class RegisterStackAdjustmentWithConfidence(value: int, confidence: int = 255)[source]¶
Bases:
object
- class StructureBuilder(handle: LP_BNTypeBuilder, builder_handle: LP_BNStructureBuilder, platform: Optional[Platform] = None, confidence: int = 255)[source]¶
Bases:
TypeBuilder
- Parameters:
- add_member_at_offset(name: str, type: Union[TypeBuilder, Type], offset: int, overwrite_existing: bool = True, access: MemberAccess = MemberAccess.NoAccess, scope: MemberScope = MemberScope.NoScope) StructureBuilder [source]¶
- Parameters:
name (str) –
type (Union[TypeBuilder, Type]) –
offset (int) –
overwrite_existing (bool) –
access (MemberAccess) –
scope (MemberScope) –
- Return type:
- append(type: Union[TypeBuilder, Type], name: str = '', access: MemberAccess = MemberAccess.NoAccess, scope: MemberScope = MemberScope.NoScope) StructureBuilder [source]¶
- Parameters:
type (Union[TypeBuilder, Type]) –
name (str) –
access (MemberAccess) –
scope (MemberScope) –
- Return type:
- classmethod create(members: Optional[Union[List[StructureMember], List[Type], List[Tuple[Type, str]]]] = None, type: StructureVariant = StructureVariant.StructStructureType, packed: bool = False, width: Optional[int] = None, platform: Optional[Platform] = None, confidence: int = 255) StructureBuilder [source]¶
- immutable_copy() StructureType [source]¶
- Return type:
- insert(offset: int, type: Union[TypeBuilder, Type], name: str = '', overwrite_existing: bool = True, access: MemberAccess = MemberAccess.NoAccess, scope: MemberScope = MemberScope.NoScope)[source]¶
- Parameters:
offset (int) –
type (Union[TypeBuilder, Type]) –
name (str) –
overwrite_existing (bool) –
access (MemberAccess) –
scope (MemberScope) –
- member_at_offset(offset: int) Optional[StructureMember] [source]¶
- Parameters:
offset (int) –
- Return type:
- replace(index: int, type: Union[TypeBuilder, Type], name: str = '', overwrite_existing: bool = True)[source]¶
- property base_structures: List[BaseStructure]¶
Base structure list. Offsets that are not defined by this structure will be filled in by the fields of the base structure(s).
- property children: List[TypeBuilder]¶
- property members: List[StructureMember]¶
Structure member list (read-only)
- property type: StructureVariant¶
- class StructureMember(type: 'Type', name: str, offset: int, access: binaryninja.enums.MemberAccess = <MemberAccess.NoAccess: 0>, scope: binaryninja.enums.MemberScope = <MemberScope.NoScope: 0>)[source]¶
Bases:
object
- Parameters:
type (Type) –
name (str) –
offset (int) –
access (MemberAccess) –
scope (MemberScope) –
- access: MemberAccess = 0¶
- scope: MemberScope = 0¶
- class StructureType(handle, platform: Optional[Platform] = None, confidence: int = 255)[source]¶
Bases:
Type
- classmethod create(members: Optional[Union[List[StructureMember], List[Type], List[Tuple[Type, str]]]] = None, packed: bool = False, type: StructureVariant = StructureVariant.StructStructureType, platform: Optional[Platform] = None, confidence: int = 255) StructureType [source]¶
- classmethod from_core_struct(structure: BNStructure) StructureType [source]¶
- Parameters:
structure (BNStructure) –
- Return type:
- generate_named_type_reference(guid: str, name: Union[Iterable[Union[str, bytes]], str, QualifiedName])[source]¶
- member_at_offset(offset: int) StructureMember [source]¶
- Parameters:
offset (int) –
- Return type:
- member_at_offset_including_inherited(view: BinaryView, offset: int) InheritedStructureMember [source]¶
Returns the member (including inherited member at the specified offset
- Parameters:
view (BinaryView) –
offset (int) –
- Return type:
- members_including_inherited(view: BinaryView) List[InheritedStructureMember] [source]¶
Returns structure member list, including those inherited by base structures
- Parameters:
view (BinaryView) –
- Return type:
- mutable_copy() StructureBuilder [source]¶
- Return type:
- with_replaced_enumeration(from_enum, to_enum) StructureType [source]¶
- Return type:
- with_replaced_named_type_reference(from_ref, to_ref) StructureType [source]¶
- Return type:
- with_replaced_structure(from_struct, to_struct) StructureType [source]¶
- Return type:
- property alignment¶
Structure alignment
- property base_structures: List[BaseStructure]¶
Base structure list (read-only). Offsets that are not defined by this structure will be filled in by the fields of the base structure(s).
- property members¶
Structure member list (read-only)
- property packed¶
- property pointer_offset¶
Structure pointer offset. Pointers to this structure will implicitly have this offset subtracted from the pointer to arrive at the start of the structure. Effectively, the pointer offset becomes the new start of the structure, and fields before it are accessed using negative offsets from the pointer.
- property propagate_data_var_refs: bool¶
Whether structure field references propagate the references to data variable field values
- property type: StructureVariant¶
- property width¶
Structure width
- class Symbol(sym_type, addr, short_name, full_name=None, raw_name=None, binding=None, namespace=None, ordinal=0)[source]¶
Bases:
CoreSymbol
Symbols are defined as one of the following types:
SymbolType
Description
FunctionSymbol
Symbol for function that exists in the current binary
ImportAddressSymbol
Symbol defined in the Import Address Table
ImportedFunctionSymbol
Symbol for a function that is not defined in the current binary
DataSymbol
Symbol for data in the current binary
ImportedDataSymbol
Symbol for data that is not defined in the current binary
ExternalSymbol
Symbols for data and code that reside outside the BinaryView
LibraryFunctionSymbol
Symbols for external functions outside the library
- class Type(handle, platform: Optional[Platform] = None, confidence: int = 255)[source]¶
Bases:
object
class Type
allows you to interact with the Binary Ninja type system. Note that therepr
andstr
handlers respond differently on type objects.Other related functions that may be helpful include:
parse_type_string
parse_types_from_source
parse_types_from_source_file
- static builder(bv: BinaryView, name: Optional[QualifiedName] = None, id: Optional[str] = None, platform: Optional[Platform] = None, confidence: int = 255) MutableTypeBuilder [source]¶
- Parameters:
bv (BinaryView) –
name (Optional[QualifiedName]) –
confidence (int) –
- Return type:
- static class_type(members: Optional[Union[List[StructureMember], List[Type], List[Tuple[Type, str]]]] = None, packed: bool = False) StructureType [source]¶
- classmethod create(handle=<class 'binaryninja._binaryninjacore.LP_BNType'>, platform: ~typing.Optional[~binaryninja.platform.Platform] = None, confidence: int = 255) Type [source]¶
- static enumeration(arch: Optional[Architecture] = None, members: Optional[Union[List[Tuple[str, int]], List[str], List[EnumerationMember]]] = None, width: Optional[int] = None, sign: Union[bool, BoolWithConfidence] = False) EnumerationType [source]¶
- Parameters:
- Return type:
- static enumeration_type(arch, enum: EnumerationBuilder, width: Optional[int] = None, sign: bool = False) EnumerationType [source]¶
- Parameters:
enum (EnumerationBuilder) –
sign (bool) –
- Return type:
- static float(width: int, alternate_name: str = '') FloatType [source]¶
float
class method for creating floating point Types.
- static function(ret: Optional[Type] = None, params: Optional[Union[List[Type], List[FunctionParameter], List[Tuple[str, Type]]]] = None, calling_convention: Optional[CallingConvention] = None, variable_arguments: Union[bool, BoolWithConfidence] = False, stack_adjust: OffsetWithConfidence = OffsetWithConfidence(value=0, confidence=255)) FunctionType [source]¶
function
class method for creating a function Type.- Parameters:
ret (Type) – return Type of the function
calling_convention (CallingConvention) – optional argument for the function calling convention
variable_arguments (bool) – optional boolean, true if the function has a variable number of arguments
stack_adjust (OffsetWithConfidence) –
- Return type:
- static generate_auto_demangled_type_id(name: Union[Iterable[Union[str, bytes]], str, QualifiedName]) str [source]¶
- static generate_auto_type_id(source: str, name: Union[Iterable[Union[str, bytes]], str, QualifiedName]) str [source]¶
- static generate_named_type_reference(guid: str, name: Union[Iterable[Union[str, bytes]], str, QualifiedName]) NamedTypeReferenceType [source]¶
- Parameters:
- Return type:
- get_builder(bv: BinaryView) MutableTypeBuilder [source]¶
- Parameters:
bv (BinaryView) –
- Return type:
- get_lines(bv: BinaryView, name: str, line_width: int = 80, collapsed: bool = False, escaping: TokenEscapingType = TokenEscapingType.NoTokenEscapingType) List[TypeDefinitionLine] [source]¶
Get a list of
TypeDefinitionLine
structures for representing a Type in a structured form. This structure uses the same logic as Types View and will expand structures and enumerations unless collapsed is set.- Parameters:
bv (BinaryView) – BinaryView object owning this Type
name (str) – Displayed name of the Type
line_width (int) – Maximum width of lines (in characters)
collapsed (bool) – If the type should be collapsed, and not show fields/members
escaping (TokenEscapingType) – How to escape non-parsable strings in types
- Returns:
Returns a list of
TypeDefinitionLine
structures- Return type:
- get_string(escaping: TokenEscapingType = TokenEscapingType.NoTokenEscapingType) str [source]¶
Get string representation for this type
- Parameters:
escaping (TokenEscapingType) – How to escape non-parsable strings in types
- Returns:
String for type
- Return type:
- Example:
>>> Type.array(Type.int(4), 10).get_string() 'int32_t[0xa]'
- get_string_after_name(escaping: TokenEscapingType = TokenEscapingType.NoTokenEscapingType) str [source]¶
Get the string to be printed after this type’s name in a representation
- Parameters:
escaping (TokenEscapingType) – How to escape non-parsable strings in types
- Returns:
String for type representation after the name
- Return type:
- Example:
>>> Type.array(Type.int(4), 10).get_string() 'int32_t[0xa]' >>> Type.array(Type.int(4), 10).get_string_after_name() '[0xa]'
- get_string_before_name(escaping: TokenEscapingType = TokenEscapingType.NoTokenEscapingType) str [source]¶
Get the string to be printed before this type’s name in a representation of it
- Parameters:
escaping (TokenEscapingType) – How to escape non-parsable strings in types
- Returns:
String for type representation before the name
- Return type:
- Example:
>>> Type.array(Type.int(4), 10).get_string() 'int32_t[0xa]' >>> Type.array(Type.int(4), 10).get_string_before_name() 'int32_t'
- get_tokens(base_confidence=255, escaping: TokenEscapingType = TokenEscapingType.NoTokenEscapingType) List[InstructionTextToken] [source]¶
Get a list of tokens for the definition of a type
- Parameters:
base_confidence (int) – Confidence of this type
escaping (TokenEscapingType) – How to escape non-parsable strings in types
- Returns:
List of tokens
- Return type:
List[_function.InstructionTextToken]
- Example:
>>> Type.array(Type.int(4), 10).get_string() 'int32_t[0xa]' >>> Type.array(Type.int(4), 10).get_tokens() ['int32_t', ' ', '[', '0xa', ']']
- get_tokens_after_name(base_confidence=255, escaping: TokenEscapingType = TokenEscapingType.NoTokenEscapingType) List[InstructionTextToken] [source]¶
Get a list of tokens for the definition of a type that are placed after the type name
- Parameters:
base_confidence (int) – Confidence of this type
escaping (TokenEscapingType) – How to escape non-parsable strings in types
- Returns:
List of tokens
- Return type:
List[_function.InstructionTextToken]
- Example:
>>> Type.array(Type.int(4), 10).get_string() 'int32_t[0xa]' >>> Type.array(Type.int(4), 10).get_tokens_after_name() ['[', '0xa', ']']
- get_tokens_before_name(base_confidence=255, escaping: TokenEscapingType = TokenEscapingType.NoTokenEscapingType) List[InstructionTextToken] [source]¶
Get a list of tokens for the definition of a type that are placed before the type name
- Parameters:
base_confidence (int) – Confidence of this type
escaping (TokenEscapingType) – How to escape non-parsable strings in types
- Returns:
List of tokens
- Return type:
List[_function.InstructionTextToken]
- Example:
>>> Type.array(Type.int(4), 10).get_string() 'int32_t[0xa]' >>> Type.array(Type.int(4), 10).get_tokens_before_name() ['int32_t']
- static int(width: int, sign: Union[bool, BoolWithConfidence] = True, alternate_name: str = '') IntegerType [source]¶
int
class method for creating an int Type.- Parameters:
- Return type:
- mutable_copy() TypeBuilder [source]¶
- Return type:
- static named_type(named_type: NamedTypeReferenceBuilder) NamedTypeReferenceType [source]¶
- Parameters:
named_type (NamedTypeReferenceBuilder) –
- Return type:
- static named_type_from_registered_type(view: BinaryView, name: Union[Iterable[Union[str, bytes]], str, QualifiedName]) NamedTypeReferenceType [source]¶
- Parameters:
view (BinaryView) –
name (Union[Iterable[Union[str, bytes]], str, QualifiedName]) –
- Return type:
- static named_type_from_type(name: Union[Iterable[Union[str, bytes]], str, QualifiedName], type: Type) NamedTypeReferenceType [source]¶
- Parameters:
- Return type:
- static named_type_from_type_and_id(type_id: str, name: Union[Iterable[Union[str, bytes]], str, QualifiedName], type: Optional[Type] = None) NamedTypeReferenceType [source]¶
- static named_type_reference(type_class: NamedTypeReferenceClass, name: Union[Iterable[Union[str, bytes]], str, QualifiedName], type_id: Optional[str] = None, alignment: int = 1, width: int = 0, const: Union[bool, BoolWithConfidence] = BoolWithConfidence(value=False, confidence=255), volatile: Union[bool, BoolWithConfidence] = BoolWithConfidence(value=False, confidence=255))[source]¶
- Parameters:
type_class (NamedTypeReferenceClass) –
name (Union[Iterable[Union[str, bytes]], str, QualifiedName]) –
alignment (int) –
width (int) –
const (Union[bool, BoolWithConfidence]) –
volatile (Union[bool, BoolWithConfidence]) –
- static pointer(arch: Architecture, type: Type, const: Union[bool, BoolWithConfidence] = BoolWithConfidence(value=False, confidence=255), volatile: Union[bool, BoolWithConfidence] = BoolWithConfidence(value=False, confidence=255), ref_type: ReferenceType = ReferenceType.PointerReferenceType, width: Optional[int] = None) PointerType [source]¶
- Parameters:
arch (Architecture) –
type (Type) –
const (Union[bool, BoolWithConfidence]) –
volatile (Union[bool, BoolWithConfidence]) –
ref_type (ReferenceType) –
- Return type:
- static pointer_of_width(width: int, type: Type, const: Union[bool, BoolWithConfidence] = False, volatile: Union[bool, BoolWithConfidence] = False, ref_type: ReferenceType = ReferenceType.PointerReferenceType) PointerType [source]¶
- Parameters:
width (int) –
type (Type) –
const (Union[bool, BoolWithConfidence]) –
volatile (Union[bool, BoolWithConfidence]) –
ref_type (ReferenceType) –
- Return type:
- static structure(members: Optional[Union[List[StructureMember], List[Type], List[Tuple[Type, str]]]] = None, packed: bool = False, type: StructureVariant = StructureVariant.StructStructureType) StructureType [source]¶
- Parameters:
- Return type:
- static structure_type(structure: StructureBuilder) StructureType [source]¶
- Parameters:
structure (StructureBuilder) –
- Return type:
- static union(members: Optional[Union[List[StructureMember], List[Type], List[Tuple[Type, str]]]] = None, packed: bool = False) StructureType [source]¶
- static wide_char(width: int, alternate_name: str = '') WideCharType [source]¶
wide_char
class method for creating wide char Types.- Parameters:
- Return type:
- property const¶
Whether type is const (read/write)
- property handle¶
- property name: QualifiedName¶
- property registered_name: Optional[NamedTypeReferenceType]¶
Name of type registered to binary view, if any (read-only)
- property system_call_number: Optional[int]¶
Returns the system call number for a FunctionType object if one exists otherwise None
- property tokens: List[InstructionTextToken]¶
Type string as a list of tokens (read-only)
- property volatile¶
Whether type is volatile (read/write)
- class TypeBuilder(handle: LP_BNTypeBuilder, platform: Optional[Platform] = None, confidence: int = 255)[source]¶
Bases:
object
All TypeBuilder objects should not be instantiated directly but created via
.create
APIs.- Parameters:
- static array(type: Type, count: int) ArrayBuilder [source]¶
- Parameters:
- Return type:
- static bool() BoolBuilder [source]¶
- Return type:
- classmethod builder(container: Union[BinaryView, TypeLibrary], name: QualifiedName, user: bool = True, platform: Optional[Platform] = None, confidence: int = 255) MutableTypeBuilder[TB] [source]¶
- Parameters:
container (Union[BinaryView, TypeLibrary]) –
name (QualifiedName) –
user (bool) –
confidence (int) –
- Return type:
- static char(alternate_name: str = '') CharBuilder [source]¶
- Parameters:
alternate_name (str) –
- Return type:
- static class_type(members: Optional[Union[List[StructureMember], List[Type], List[Tuple[Type, str]]]] = None, packed: bool = False) StructureBuilder [source]¶
- static enumeration(arch: Optional[Architecture] = None, members: Optional[Union[List[Tuple[str, int]], List[str], List[EnumerationMember]]] = None, width: Optional[int] = None, sign: Union[bool, BoolWithConfidence] = BoolWithConfidence(value=False, confidence=255)) EnumerationBuilder [source]¶
- Parameters:
- Return type:
- static float(width: int, altname: str = '') FloatBuilder [source]¶
float
class method for creating floating point Types.- Parameters:
- Return type:
- static function(ret: Optional[Type] = None, params: Optional[Union[List[Type], List[FunctionParameter], List[Tuple[str, Type]]]] = None, calling_convention: Optional[CallingConvention] = None, variable_arguments: Optional[Union[bool, BoolWithConfidence]] = None, stack_adjust: Optional[Union[int, OffsetWithConfidence]] = None) FunctionBuilder [source]¶
function
class method for creating a function Type.- Parameters:
ret (Type) – return Type of the function
calling_convention (CallingConvention) – optional argument for the function calling convention
variable_arguments (bool) – optional boolean, true if the function has a variable number of arguments
stack_adjust (Optional[Union[int, OffsetWithConfidence]]) –
- Return type:
- static int(width: int, sign: Union[bool, BoolWithConfidence] = BoolWithConfidence(value=True, confidence=255), altname: str = '') IntegerBuilder [source]¶
int
class method for creating an int Type.- Parameters:
- Return type:
- mutable_copy() TypeBuilder [source]¶
- Return type:
- static named_type_from_registered_type(view: BinaryView, name: QualifiedName) NamedTypeReferenceBuilder [source]¶
- Parameters:
view (BinaryView) –
name (QualifiedName) –
- Return type:
- static named_type_from_type(name: Union[Iterable[Union[str, bytes]], str, QualifiedName], type_class: Optional[NamedTypeReferenceClass] = None) NamedTypeReferenceBuilder [source]¶
- Parameters:
name (Union[Iterable[Union[str, bytes]], str, QualifiedName]) –
type_class (Optional[NamedTypeReferenceClass]) –
- Return type:
- static named_type_from_type_and_id(type_id: str, name: Union[Iterable[Union[str, bytes]], str, QualifiedName], type: Optional[Type] = None) NamedTypeReferenceBuilder [source]¶
- static named_type_reference(type_class: NamedTypeReferenceClass, name: QualifiedName, type_id: Optional[str] = None, alignment: int = 1, width: int = 0, const: Union[bool, BoolWithConfidence] = BoolWithConfidence(value=False, confidence=255), volatile: Union[bool, BoolWithConfidence] = BoolWithConfidence(value=False, confidence=255)) NamedTypeReferenceBuilder [source]¶
- Parameters:
type_class (NamedTypeReferenceClass) –
name (QualifiedName) –
alignment (int) –
width (int) –
const (Union[bool, BoolWithConfidence]) –
volatile (Union[bool, BoolWithConfidence]) –
- Return type:
- static pointer(arch: Architecture, type: Type, const: Union[bool, BoolWithConfidence] = BoolWithConfidence(value=False, confidence=255), volatile: Union[bool, BoolWithConfidence] = BoolWithConfidence(value=False, confidence=255), ref_type: ReferenceType = ReferenceType.PointerReferenceType) PointerBuilder [source]¶
- Parameters:
arch (Architecture) –
type (Type) –
const (Union[bool, BoolWithConfidence]) –
volatile (Union[bool, BoolWithConfidence]) –
ref_type (ReferenceType) –
- Return type:
- static pointer_of_width(width: int, type: Type, const: Union[bool, BoolWithConfidence] = BoolWithConfidence(value=False, confidence=255), volatile: Union[bool, BoolWithConfidence] = BoolWithConfidence(value=False, confidence=255), ref_type: ReferenceType = ReferenceType.PointerReferenceType) PointerBuilder [source]¶
- Parameters:
width (int) –
type (Type) –
const (Union[bool, BoolWithConfidence]) –
volatile (Union[bool, BoolWithConfidence]) –
ref_type (ReferenceType) –
- Return type:
- static structure(members: Optional[Union[List[StructureMember], List[Type], List[Tuple[Type, str]]]] = None, packed: bool = False, type: StructureVariant = StructureVariant.StructStructureType) StructureBuilder [source]¶
- Parameters:
- Return type:
- static union(members: Optional[Union[List[StructureMember], List[Type], List[Tuple[Type, str]]]] = None, packed: bool = False) StructureBuilder [source]¶
- static void() VoidBuilder [source]¶
- Return type:
- static wide_char(width: int, altname: str = '') WideCharBuilder [source]¶
wide_char
class method for creating wide char Types.- Parameters:
- Return type:
- property children: List[TypeBuilder]¶
- property const: BoolWithConfidence¶
Whether type is const (read/write)
- property finalized¶
- property handle: LP_BNType¶
- property signed: BoolWithConfidence¶
- property system_call_number: Optional[int]¶
Gets/Sets the system call number for a FunctionType object if one exists otherwise None
- property volatile: BoolWithConfidence¶
Whether type is volatile (read/write)
- class TypeDefinitionLine(line_type: TypeDefinitionLineType, tokens: List[ForwardRef('_function.InstructionTextToken')], type: 'Type', root_type: 'Type', root_type_name: str, base_type: Optional[ForwardRef('NamedTypeReferenceType')], base_offset: int, offset: int, field_index: int)[source]¶
Bases:
object
- Parameters:
line_type (TypeDefinitionLineType) –
tokens (List[InstructionTextToken]) –
type (Type) –
root_type (Type) –
root_type_name (str) –
base_type (Optional[NamedTypeReferenceType]) –
base_offset (int) –
offset (int) –
field_index (int) –
- base_type: Optional[NamedTypeReferenceType]¶
- line_type: TypeDefinitionLineType¶
- tokens: List[InstructionTextToken]¶
- class TypeFieldReference(func: Optional[ForwardRef('_function.Function')], arch: Optional[ForwardRef('architecture.Architecture')], address: int, size: int, incomingType: Optional[Type])[source]¶
Bases:
object
- Parameters:
- arch: Optional[Architecture]¶
- class TypeReferenceSource(name: QualifiedName, offset: int, ref_type: TypeReferenceType)[source]¶
Bases:
object
- Parameters:
name (QualifiedName) –
offset (int) –
ref_type (TypeReferenceType) –
- name: QualifiedName¶
- ref_type: TypeReferenceType¶
- class VoidBuilder(handle: LP_BNTypeBuilder, platform: Optional[Platform] = None, confidence: int = 255)[source]¶
Bases:
TypeBuilder
- Parameters:
- class VoidType(handle, platform: Optional[Platform] = None, confidence: int = 255)[source]¶
Bases:
Type
- class WideCharBuilder(handle: LP_BNTypeBuilder, platform: Optional[Platform] = None, confidence: int = 255)[source]¶
Bases:
TypeBuilder
- Parameters:
- class WideCharType(handle, platform: Optional[Platform] = None, confidence: int = 255)[source]¶
Bases:
Type