types module¶
- class ArrayBuilder(handle: binaryninja._binaryninjacore.LP_BNTypeBuilder, platform: Optional[Platform] = None, confidence: int = 255)[source]¶
Bases:
binaryninja.types.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:
binaryninja.types.Type
- classmethod create(element_type: Type, count: int, platform: Optional[Platform] = None, confidence: int = 255) ArrayType [source]¶
- property count¶
Type count (read-only)
- class BoolBuilder(handle: binaryninja._binaryninjacore.LP_BNTypeBuilder, platform: Optional[Platform] = None, confidence: int = 255)[source]¶
Bases:
binaryninja.types.TypeBuilder
- Parameters
- class BoolType(handle, platform: Optional[Platform] = None, confidence: int = 255)[source]¶
Bases:
binaryninja.types.Type
- class BoolWithConfidence(value: bool, confidence: int = 255)[source]¶
Bases:
object
- classmethod from_core_struct(core_struct: binaryninja._binaryninjacore.BNBoolWithConfidence) BoolWithConfidence [source]¶
- Parameters
core_struct (binaryninja._binaryninjacore.BNBoolWithConfidence) –
- Return type
- static get_core_struct(value: Union[bool, BoolWithConfidence], confidence: int = 255) binaryninja._binaryninjacore.BNBoolWithConfidence [source]¶
- Parameters
value (Union[bool, BoolWithConfidence]) –
confidence (int) –
- Return type
binaryninja._binaryninjacore.BNBoolWithConfidence
- class CharBuilder(handle: binaryninja._binaryninjacore.LP_BNTypeBuilder, platform: Optional[Platform] = None, confidence: int = 255)[source]¶
Bases:
binaryninja.types.IntegerBuilder
- Parameters
- class CoreSymbol(handle: binaryninja._binaryninjacore.LP_BNSymbol)[source]¶
Bases:
object
- Parameters
handle (binaryninja._binaryninjacore.LP_BNSymbol) –
- property binding: SymbolBinding¶
Symbol binding (read-only)
- property handle¶
- property type: SymbolType¶
Symbol type (read-only)
- class EnumerationBuilder(handle: binaryninja._binaryninjacore.LP_BNTypeBuilder, enum_builder_handle: binaryninja._binaryninjacore.LP_BNEnumerationBuilder, platform: Optional[Platform] = None, confidence: int = 255)[source]¶
Bases:
binaryninja.types.TypeBuilder
- Parameters
- 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:
binaryninja.types.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: binaryninja._binaryninjacore.LP_BNTypeBuilder, platform: Optional[Platform] = None, confidence: int = 255)[source]¶
Bases:
binaryninja.types.TypeBuilder
- Parameters
- class FloatType(handle, platform: Optional[Platform] = None, confidence: int = 255)[source]¶
Bases:
binaryninja.types.Type
- class FunctionBuilder(handle: binaryninja._binaryninjacore.LP_BNTypeBuilder, platform: Optional[Platform] = None, confidence: int = 255)[source]¶
Bases:
binaryninja.types.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] = None, confidence: int = 255, can_return: Optional[BoolWithConfidence] = None, reg_stack_adjust: Optional[Dict[RegisterName, Union[int, OffsetWithConfidence]]] = None, return_regs: Optional[Union[RegisterSet, List[Union[RegisterName, ILRegister, RegisterIndex]]]] = None, name_type: NameType = NameType.NoNameType) 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]]) –
confidence (int) –
can_return (Optional[BoolWithConfidence]) –
reg_stack_adjust (Optional[Dict[RegisterName, Union[int, OffsetWithConfidence]]]) –
return_regs (Optional[Union[RegisterSet, List[Union[RegisterName, ILRegister, RegisterIndex]]]]) –
name_type (NameType) –
- Return type
- property calling_convention: CallingConvention¶
- property can_return: BoolWithConfidence¶
- property children: List[TypeBuilder]¶
- property parameters: List[FunctionParameter]¶
Type parameters list (read-only)
- 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: Union[ForwardRef('variable.VariableNameAndType'), NoneType] = None)[source]¶
Bases:
object
- Parameters
type (Union[TypeBuilder, Type]) –
name (str) –
location (Optional[VariableNameAndType]) –
- Return type
None
- 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:
binaryninja.types.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] = None, confidence: int = 255, can_return: Union[BoolWithConfidence, bool] = True, reg_stack_adjust: Optional[Dict[RegisterName, Union[int, OffsetWithConfidence]]] = None, return_regs: Optional[Union[RegisterSet, List[Union[RegisterName, ILRegister, RegisterIndex]]]] = None, name_type: NameType = NameType.NoNameType) 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) –
confidence (int) –
can_return (Union[BoolWithConfidence, bool]) –
reg_stack_adjust (Optional[Dict[RegisterName, Union[int, OffsetWithConfidence]]]) –
return_regs (Optional[Union[RegisterSet, List[Union[RegisterName, ILRegister, RegisterIndex]]]]) –
name_type (NameType) –
- 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 stack_adjustment: OffsetWithConfidence¶
Stack adjustment for function (read-only)
- class IntegerBuilder(handle: binaryninja._binaryninjacore.LP_BNTypeBuilder, platform: Optional[Platform] = None, confidence: int = 255)[source]¶
Bases:
binaryninja.types.TypeBuilder
- Parameters
- class IntegerType(handle, platform: Optional[Platform] = None, confidence: int = 255)[source]¶
Bases:
binaryninja.types.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(*args, **kwds)[source]¶
Bases:
Generic
[binaryninja.types.TB
]- container: Union[BinaryView, TypeLibrary]¶
- name: QualifiedName¶
- type: binaryninja.types.TB¶
- class NameSpace(name: Optional[Union[Iterable[Union[str, bytes]], str, QualifiedName]] = None)[source]¶
- class NamedTypeReferenceBuilder(handle: binaryninja._binaryninjacore.LP_BNTypeBuilder, ntr_builder_handle: binaryninja._binaryninjacore.LP_BNNamedTypeReferenceBuilder, platform: Optional[Platform] = None, confidence: int = 255)[source]¶
Bases:
binaryninja.types.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:
binaryninja.types.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_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) 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: binaryninja._binaryninjacore.BNOffsetWithConfidence) OffsetWithConfidence [source]¶
- Parameters
core_struct (binaryninja._binaryninjacore.BNOffsetWithConfidence) –
- Return type
- static get_core_struct(value: Union[int, OffsetWithConfidence], confidence: int = 255) binaryninja._binaryninjacore.BNOffsetWithConfidence [source]¶
- Parameters
value (Union[int, OffsetWithConfidence]) –
confidence (int) –
- Return type
binaryninja._binaryninjacore.BNOffsetWithConfidence
- class PointerBuilder(handle: binaryninja._binaryninjacore.LP_BNTypeBuilder, platform: Optional[Platform] = None, confidence: int = 255)[source]¶
Bases:
binaryninja.types.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:
binaryninja.types.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
- regs: List[RegisterName]¶
- class RegisterStackAdjustmentWithConfidence(value: int, confidence: int = 255)[source]¶
Bases:
object
- class StructureBuilder(handle: binaryninja._binaryninjacore.LP_BNTypeBuilder, builder_handle: binaryninja._binaryninjacore.LP_BNStructureBuilder, platform: Optional[Platform] = None, confidence: int = 255)[source]¶
Bases:
binaryninja.types.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 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) –
- Return type
None
- access: MemberAccess = 0¶
- scope: MemberScope = 0¶
- class StructureType(handle, platform: Optional[Platform] = None, confidence: int = 255)[source]¶
Bases:
binaryninja.types.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: binaryninja._binaryninjacore.BNStructure) StructureType [source]¶
- Parameters
structure (binaryninja._binaryninjacore.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
- 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 members¶
Structure member list (read-only)
- property packed¶
- 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:
binaryninja.types.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 from_core_struct(core_type: binaryninja._binaryninjacore.BNType)[source]¶
- Parameters
core_type (binaryninja._binaryninjacore.BNType) –
- 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: binaryninja._binaryninjacore.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[binaryninja.types.TB] [source]¶
- Parameters
container (Union[BinaryView, TypeLibrary]) –
name (QualifiedName) –
user (bool) –
confidence (int) –
- Return type
MutableTypeBuilder[binaryninja.types.TB]
- 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: binaryninja._binaryninjacore.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, offset: int, field_index: int)[source]¶
Bases:
object
- Parameters
line_type (TypeDefinitionLineType) –
tokens (List[InstructionTextToken]) –
type (Type) –
root_type (Type) –
root_type_name (str) –
offset (int) –
field_index (int) –
- Return type
None
- line_type: TypeDefinitionLineType¶
- tokens: List[InstructionTextToken]¶
- class TypeFieldReference(func: Union[ForwardRef('_function.Function'), NoneType], arch: Union[ForwardRef('architecture.Architecture'), NoneType], address: int, size: int, incomingType: Union[Type, NoneType])[source]¶
Bases:
object
- Parameters
- Return type
None
- arch: Optional[Architecture]¶
- class TypeReferenceSource(name: QualifiedName, offset: int, ref_type: TypeReferenceType)[source]¶
Bases:
object
- Parameters
name (QualifiedName) –
offset (int) –
ref_type (TypeReferenceType) –
- Return type
None
- name: QualifiedName¶
- ref_type: TypeReferenceType¶
- class VoidBuilder(handle: binaryninja._binaryninjacore.LP_BNTypeBuilder, platform: Optional[Platform] = None, confidence: int = 255)[source]¶
Bases:
binaryninja.types.TypeBuilder
- Parameters
- class VoidType(handle, platform: Optional[Platform] = None, confidence: int = 255)[source]¶
Bases:
binaryninja.types.Type
- class WideCharBuilder(handle: binaryninja._binaryninjacore.LP_BNTypeBuilder, platform: Optional[Platform] = None, confidence: int = 255)[source]¶
Bases:
binaryninja.types.TypeBuilder
- Parameters
- class WideCharType(handle, platform: Optional[Platform] = None, confidence: int = 255)[source]¶
Bases:
binaryninja.types.Type