GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

  • Python API (6.0.10905)
  • C++ Documentation
  • architecture
  • basedetection
  • basicblock
  • binaryview
  • bncompleter
  • callingconvention
  • collaboration
  • commonil
  • component
  • constantrenderer
  • database
  • databuffer

This view

  • Original page
  • New address

GeezerVison is showing api.binary.ninja (truncated) — types module — Binary Ninja API Documentation v6.0.10905

types module¶

Class

Description

binaryninja.types.ArrayBuilder

All TypeBuilder objects should not be instantiated directly but created via .create APIs.

binaryninja.types.ArrayType

class Type allows you to interact with the Binary Ninja type system. Note that the repr…

binaryninja.types.BaseStructure

binaryninja.types.BoolBuilder

All TypeBuilder objects should not be instantiated directly but created via .create APIs.

binaryninja.types.BoolType

class Type allows you to interact with the Binary Ninja type system. Note that the repr…

binaryninja.types.BoolWithConfidence

binaryninja.types.CharBuilder

All TypeBuilder objects should not be instantiated directly but created via .create APIs.

binaryninja.types.CharType

class Type allows you to interact with the Binary Ninja type system. Note that the repr…

binaryninja.types.CoreSymbol

binaryninja.types.EnumerationBuilder

All TypeBuilder objects should not be instantiated directly but created via .create APIs.

binaryninja.types.EnumerationMember

binaryninja.types.EnumerationType

class Type allows you to interact with the Binary Ninja type system. Note that the repr…

binaryninja.types.FloatBuilder

All TypeBuilder objects should not be instantiated directly but created via .create APIs.

binaryninja.types.FloatType

class Type allows you to interact with the Binary Ninja type system. Note that the repr…

binaryninja.types.FragmentBuilder

Mutable builder for a bitwise slice, with live size and container placement measured in bits.

binaryninja.types.FragmentType

A bitwise slice of a larger source type carried in an integer-like container. Its live size and…

binaryninja.types.FunctionBuilder

All TypeBuilder objects should not be instantiated directly but created via .create APIs.

binaryninja.types.FunctionParameter

binaryninja.types.FunctionType

class Type allows you to interact with the Binary Ninja type system. Note that the repr…

binaryninja.types.InheritedStructureMember

binaryninja.types.InlineDuringAnalysisWithConfidence

Represents an InlineDuringAnalysis value with an associated confidence level.

binaryninja.types.IntegerBuilder

All TypeBuilder objects should not be instantiated directly but created via .create APIs.

binaryninja.types.IntegerType

class Type allows you to interact with the Binary Ninja type system. Note that the repr…

binaryninja.types.MutableTypeBuilder

binaryninja.types.NameSpace

binaryninja.types.NamedTypeReferenceBuilder

All TypeBuilder objects should not be instantiated directly but created via .create APIs.

binaryninja.types.NamedTypeReferenceType

class Type allows you to interact with the Binary Ninja type system. Note that the repr…

binaryninja.types.OffsetWithConfidence

binaryninja.types.PointerBuilder

All TypeBuilder objects should not be instantiated directly but created via .create APIs.

binaryninja.types.PointerType

class Type allows you to interact with the Binary Ninja type system. Note that the repr…

binaryninja.types.QualifiedName

binaryninja.types.RegisterSet

binaryninja.types.RegisterStackAdjustmentWithConfidence

binaryninja.types.ReturnValue

binaryninja.types.StructureBuilder

All TypeBuilder objects should not be instantiated directly but created via .create APIs.

binaryninja.types.StructureMember

binaryninja.types.StructureType

class Type allows you to interact with the Binary Ninja type system. Note that the repr…

binaryninja.types.Symbol

Symbols are defined as one of the following types:

binaryninja.types.Type

class Type allows you to interact with the Binary Ninja type system. Note that the repr…

binaryninja.types.TypeBuilder

All TypeBuilder objects should not be instantiated directly but created via .create APIs.

binaryninja.types.TypeBuilderAttributes

dict() -> new empty dictionary dict(mapping) -> new dictionary initialized from a mapping…

binaryninja.types.TypeDefinitionLine

binaryninja.types.TypeFieldReference

binaryninja.types.TypeReferenceSource

binaryninja.types.ValueLocation

binaryninja.types.ValueLocationComponent

binaryninja.types.ValueLocationWithConfidence

binaryninja.types.VoidBuilder

All TypeBuilder objects should not be instantiated directly but created via .create APIs.

binaryninja.types.VoidType

class Type allows you to interact with the Binary Ninja type system. Note that the repr…

binaryninja.types.WideCharBuilder

All TypeBuilder objects should not be instantiated directly but created via .create APIs.

binaryninja.types.WideCharType

class Type allows you to interact with the Binary Ninja type system. Note that the repr…

Function

Description

binaryninja.types.convert_integer

ArrayBuilder¶

class ArrayBuilder[source]¶

Bases: TypeBuilder

classmethod create(type: TypeBuilder | Type, element_count: int, platform: Platform | None = None, confidence: int = 255) → ArrayBuilder[source]¶
Parameters:
  • type (TypeBuilder | Type)

  • element_count (int)

  • platform (Platform | None)

  • confidence (int)

Return type:

ArrayBuilder

property children: List[TypeBuilder]¶
property count: int¶
property element_type: TypeBuilder¶

ArrayType¶

class ArrayType[source]¶

Bases: Type

classmethod create(element_type: Type, count: int, platform: Platform | None = None, confidence: int = 255) → ArrayType[source]¶
Parameters:
  • element_type (Type)

  • count (int)

  • platform (Platform | None)

  • confidence (int)

Return type:

ArrayType

property children: List[Type]¶
property count¶

Type count (read-only)

property element_type: Type¶

BaseStructure¶

class BaseStructure[source]¶

Bases: object

__init__(type: NamedTypeReferenceType | StructureType, offset: int, width: int = 0)[source]¶
Parameters:
  • type (NamedTypeReferenceType | StructureType)

  • offset (int)

  • width (int)

offset: int¶
type: NamedTypeReferenceType¶
width: int¶

BoolBuilder¶

class BoolBuilder[source]¶

Bases: TypeBuilder

classmethod create(platform: Platform | None = None, confidence: int = 255) → BoolBuilder[source]¶
Parameters:
  • platform (Platform | None)

  • confidence (int)

Return type:

BoolBuilder

BoolType¶

class BoolType[source]¶

Bases: Type

classmethod create(platform: Platform | None = None, confidence: int = 255) → BoolType[source]¶
Parameters:
  • platform (Platform | None)

  • confidence (int)

Return type:

BoolType

BoolWithConfidence¶

class BoolWithConfidence[source]¶

Bases: object

__init__(value: bool, confidence: int = 255) → None¶
Parameters:
  • value (bool)

  • confidence (int)

Return type:

None

classmethod from_core_struct(core_struct: BNBoolWithConfidence) → BoolWithConfidence[source]¶
Parameters:

core_struct (BNBoolWithConfidence)

Return type:

BoolWithConfidence

static get_core_struct(value: bool | BoolWithConfidence, confidence: int = 255) → BNBoolWithConfidence[source]¶
Parameters:
  • value (bool | BoolWithConfidence)

  • confidence (int)

Return type:

BNBoolWithConfidence

confidence: int = 255¶
value: bool¶

CharBuilder¶

class CharBuilder[source]¶

Bases: IntegerBuilder

classmethod create(alternate_name: str = '', platform: Platform | None = None, confidence: int = 255) → CharBuilder[source]¶
Parameters:
  • alternate_name (str)

  • platform (Platform | None)

  • confidence (int)

Return type:

CharBuilder

CharType¶

class CharType[source]¶

Bases: IntegerType

classmethod create(altname: str = 'char', platform: Platform | None = None, confidence: int = 255) → CharType[source]¶
Parameters:
  • altname (str)

  • platform (Platform | None)

  • confidence (int)

Return type:

CharType

CoreSymbol¶

class CoreSymbol[source]¶

Bases: object

__init__(handle: LP_BNSymbol)[source]¶
Parameters:

handle (LP_BNSymbol)

imported_function_from_import_address_symbol(addr: int) → CoreSymbol | None[source]¶
Parameters:

addr (int)

Return type:

CoreSymbol | None

property address: int¶

Symbol address (read-only)

property auto: bool¶

Whether the symbol was auto-defined

property binding: SymbolBinding¶

Symbol binding (read-only)

property full_name: str¶

Symbol full name (read-only)

property handle¶
property name: str¶

Symbol name (read-only)

property namespace: NameSpace¶

Symbol namespace (read-only)

property ordinal: int¶

Symbol ordinal (read-only)

property raw_bytes: bytes¶

Bytes of the raw symbol (read-only)

property raw_name: str¶

Symbol raw name (read-only)

property short_name: str¶

Symbol short name (read-only)

property type: SymbolType¶

Symbol type (read-only)

EnumerationBuilder¶

class EnumerationBuilder[source]¶

Bases: TypeBuilder

__init__(handle: LP_BNTypeBuilder, enum_builder_handle: LP_BNEnumerationBuilder, platform: Platform | None = None, confidence: int = 255)[source]¶
Parameters:
  • handle (LP_BNTypeBuilder)

  • enum_builder_handle (LP_BNEnumerationBuilder)

  • platform (Platform | None)

  • confidence (int)

append(name: str, value: int | None = None) → EnumerationBuilder[source]¶
Parameters:
  • name (str)

  • value (int | None)

Return type:

EnumerationBuilder

classmethod create(members: List[Tuple[str, int]] | List[str] | List[EnumerationMember] | None = None, width: int | None = None, arch: Architecture | None = None, sign: bool | BoolWithConfidence = False, platform: Platform | None = None, confidence: int = 255) → EnumerationBuilder[source]¶
Parameters:
  • members (List[Tuple[str, int]] | List[str] | List[EnumerationMember] | None)

  • width (int | None)

  • arch (Architecture | None)

  • sign (bool | BoolWithConfidence)

  • platform (Platform | None)

  • confidence (int)

Return type:

EnumerationBuilder

remove(i: int) → EnumerationBuilder[source]¶
Parameters:

i (int)

Return type:

EnumerationBuilder

replace(i: int, name: str, value: int) → EnumerationBuilder[source]¶
Parameters:
  • i (int)

  • name (str)

  • value (int)

Return type:

EnumerationBuilder

property members: List[EnumerationMember]¶

Enumeration member list (read-only)

EnumerationMember¶

class EnumerationMember[source]¶

Bases: object

__init__(name: str, value: int | None = None) → None¶
Parameters:
  • name (str)

  • value (int | None)

Return type:

None

name: str¶
value: int | None = None¶

EnumerationType¶

class EnumerationType[source]¶

Bases: IntegerType

__init__(handle, platform: Platform | None = None, confidence: int = 255)[source]¶
Parameters:
  • platform (Platform | None)

  • confidence (int)

classmethod create(members: List[Tuple[str, int]] | List[str] | List[EnumerationMember], width: int | None = None, arch: Architecture | None = None, sign: bool | BoolWithConfidence = False, platform: Platform | None = None, confidence: int = 255) → EnumerationType[source]¶
Parameters:
  • members (List[Tuple[str, int]] | List[str] | List[EnumerationMember])

  • width (int | None)

  • arch (Architecture | None)

  • sign (bool | BoolWithConfidence)

  • platform (Platform | None)

  • confidence (int)

Return type:

EnumerationType

generate_named_type_reference(guid: str, name: Iterable[str | bytes] | str | QualifiedName)[source]¶
Parameters:
  • guid (str)

  • name (Iterable[str | bytes] | str | QualifiedName)

mutable_copy() → EnumerationBuilder[source]¶
Return type:

EnumerationBuilder

property members¶

Enumeration member list (read-only)

FloatBuilder¶

class FloatBuilder[source]¶

Bases: TypeBuilder

classmethod create(width: int, alternate_name: str = '', platform: Platform | None = None, confidence: int = 255) → FloatBuilder[source]¶
Parameters:
  • width (int)

  • alternate_name (str)

  • platform (Platform | None)

  • confidence (int)

Return type:

FloatBuilder

FloatType¶

class FloatType[source]¶

Bases: Type

classmethod create(width: int, altname: str = '', platform: Platform | None = None, confidence: int = 255) → FloatType[source]¶

float class method for creating floating point Types.

Parameters:
  • width (int) – width of the floating point number in bytes

  • altname (str) – alternate name for type

  • platform (Platform | None)

  • confidence (int)

Return type:

FloatType

FragmentBuilder¶

class FragmentBuilder[source]¶

Bases: TypeBuilder

Mutable builder for a bitwise slice, with live size and container placement measured in bits.

classmethod create(type: TypeBuilder | Type, width: int, offset: int, endianness: Endianness = Endianness.LittleEndian, confidence: int = 255) → FragmentBuilder[source]¶

Create a mutable fragment whose live bits initially fill a container whose width is measured in bytes.

Parameters:
  • type (Type) – larger source type of which the fragment is a slice

  • width (int) – container width in bytes; the initial live fragment size is width * 8 bits

  • offset (int) – original source byte offset within type

  • endianness (Endianness) – byte order used to map source-layout bytes to container bits

  • confidence (int) – confidence in the resulting type

Returns:

Mutable fragment type builder

Return type:

FragmentBuilder

Example:
>>> source = Type.array(Type.int(1, False), 16)
>>> fragment = FragmentBuilder.create(source, 8, 4, Endianness.BigEndian)
>>> fragment.offset, fragment.fragment_width_bits
(4, 64)
property endianness: Endianness¶

Byte order used to map source-layout bytes to bit positions in the current container.

property fragment_original_width: int¶

Width in bytes of the original source window, not the live fragment’s bit size.

property fragment_start_bit: int¶

Bit offset of the live fragment in the current container, where the least-significant bit is zero.

property fragment_truncated_start_bits: int¶

Number of original low-order logical fragment bits no longer represented.

property fragment_width_bits: int¶

Size in bits of the live fragment represented in the current container.

property fragment_wrap_bit: int¶

Saved historical wrap boundary; zero means the current container width is used.

property offset: int¶

Original source byte offset, not the live fragment’s placement within the container.

FragmentType¶

class FragmentType[source]¶

Bases: Type

A bitwise slice of a larger source type carried in an integer-like container. Its live size and placement within the container are measured in bits.

Fragments are generally transient analysis types. They commonly arise when a calling convention moves part of a structure through a register or when optimized code performs an inline memcpy using register-sized moves. Retaining a byte-aligned source window, the source-to-container byte-order mapping, and subsequent bit transformations lets analysis preserve source and member types through those partial moves. Advanced bit state is normally produced by analysis; use create or Type.fragment to create a fresh fragment.

classmethod create(type: TypeBuilder | Type, width: int, offset: int, endianness: Endianness = Endianness.LittleEndian, platform: Platform | None = None, confidence: int = 255) → FragmentType[source]¶

Create a fresh fragment whose live bits initially fill a container whose width is measured in bytes.

Parameters:
  • type (Type) – larger source type of which the fragment is a slice

  • width (int) – container width in bytes; the initial live fragment size is width * 8 bits

  • offset (int) – original source byte offset within type

  • endianness (Endianness) – byte order used to map source-layout bytes to container bits

  • platform (Platform) – optional platform associated with the type

  • confidence (int) – confidence in the resulting type

Returns:

Immutable fragment type

Return type:

FragmentType

Example:
>>> source = Type.array(Type.int(1, False), 16)
>>> fragment = FragmentType.create(source, 8, 4, Endianness.BigEndian)
>>> fragment.fragment_original_width_bytes
8
>>> fragment.fragment_endianness == Endianness.BigEndian
True
property fragment_endianness: Endianness¶

Byte order used to map source-layout bytes to bit positions in the current container (read-only).

property fragment_original_width_bytes: int¶

Width in bytes of the original source window, not the live fragment’s bit size (read-only).

property fragment_start_bit: int¶

Bit offset of the live fragment in the current container, where the least-significant bit is zero (read-only).

property fragment_truncated_start_bits: int¶

Number of original low-order logical fragment bits no longer represented (read-only).

property fragment_width_bits: int¶

Size in bits of the live fragment represented in the current container (read-only).

property fragment_wrap_bit: int¶

Saved historical wrap boundary; zero means the current container width is used (read-only).

property offset: int¶

Original source byte offset, not the live fragment’s placement within the container (read-only).

property target: Type¶

Larger source type of which this fragment is a slice (read-only).

FunctionBuilder¶

class FunctionBuilder[source]¶

Bases: TypeBuilder

append(type: TypeBuilder | Type | FunctionParameter, name: str = '')[source]¶
Parameters:
  • type (TypeBuilder | Type | FunctionParameter)

  • name (str)

classmethod create(return_type: TypeBuilder | Type | ReturnValue | None = None, calling_convention: CallingConvention | None = None, params: List[Type] | List[FunctionParameter] | List[Tuple[str, Type]] | None = None, var_args: bool | BoolWithConfidence | None = None, stack_adjust: int | OffsetWithConfidence | None = None, platform: Platform | None = None, confidence: int = 255, can_return: BoolWithConfidence | None = None, reg_stack_adjust: Dict[RegisterName, int | OffsetWithConfidence] | None = None, name_type: NameType = NameType.NoNameType, pure: BoolWithConfidence | None = None) → FunctionBuilder[source]¶
Parameters:
  • return_type (TypeBuilder | Type | ReturnValue | None)

  • calling_convention (CallingConvention | None)

  • params (List[Type] | List[FunctionParameter] | List[Tuple[str, Type]] | None)

  • var_args (bool | BoolWithConfidence | None)

  • stack_adjust (int | OffsetWithConfidence | None)

  • platform (Platform | None)

  • confidence (int)

  • can_return (BoolWithConfidence | None)

  • reg_stack_adjust (Dict[RegisterName, int | OffsetWithConfidence] | None)

  • name_type (NameType)

  • pure (BoolWithConfidence | None)

Return type:

FunctionBuilder

property calling_convention: CallingConvention¶
property can_return: BoolWithConfidence¶
property children: List[TypeBuilder]¶
property immutable_return_value: Type¶
property parameters: List[FunctionParameter]¶

Type parameters list (read-only)

property pure: BoolWithConfidence¶
property return_value: TypeBuilder¶
property return_value_location: ValueLocationWithConfidence | None¶
property stack_adjust: OffsetWithConfidence¶
property stack_adjustment: OffsetWithConfidence¶
property variable_arguments: BoolWithConfidence¶

FunctionParameter¶

class FunctionParameter[source]¶

Bases: object

__init__(type: TypeBuilder | Type, name: str = '', location: ValueLocation | ValueLocationWithConfidence | CoreVariable | None = None, source: ValueLocationSource | None = None)[source]¶
Parameters:
  • type (TypeBuilder | Type)

  • name (str)

  • location (ValueLocation | ValueLocationWithConfidence | CoreVariable | None)

  • source (ValueLocationSource | None)

immutable_copy() → FunctionParameter[source]¶
Return type:

FunctionParameter

mutable_copy() → FunctionParameter[source]¶
Return type:

FunctionParameter

location: ValueLocation | None = None¶
location_source: ValueLocationSource = 0¶
name: str = ''¶
type: TypeBuilder | Type¶

FunctionType¶

class FunctionType[source]¶

Bases: Type

classmethod create(ret: Type | ReturnValue | None = None, params: List[Type] | List[FunctionParameter] | List[Tuple[str, Type]] | None = None, calling_convention: CallingConvention | None = None, variable_arguments: bool | BoolWithConfidence = BoolWithConfidence(value=False, confidence=255), stack_adjust: OffsetWithConfidence = OffsetWithConfidence(value=0, confidence=255), platform: Platform | None = None, confidence: int = 255, can_return: BoolWithConfidence | bool = True, reg_stack_adjust: Dict[RegisterName, int | OffsetWithConfidence] | None = None, name_type: NameType = NameType.NoNameType, pure: BoolWithConfidence | bool = False) → FunctionType[source]¶
Parameters:
  • ret (Type | ReturnValue | None)

  • params (List[Type] | List[FunctionParameter] | List[Tuple[str, Type]] | None)

  • calling_convention (CallingConvention | None)

  • variable_arguments (bool | BoolWithConfidence)

  • stack_adjust (OffsetWithConfidence)

  • platform (Platform | None)

  • confidence (int)

  • can_return (BoolWithConfidence | bool)

  • reg_stack_adjust (Dict[RegisterName, int | OffsetWithConfidence] | None)

  • name_type (NameType)

  • pure (BoolWithConfidence | bool)

Return type:

FunctionType

property calling_convention: CallingConvention | None¶

Calling convention (read-only)

property can_return: BoolWithConfidence¶

Whether type can return

property children: List[Type]¶
property has_variable_arguments: BoolWithConfidence¶

Whether type has variable arguments (read-only)

property parameters: List[FunctionParameter]¶

Type parameters list (read-only)

property parameters_with_all_locations: List[FunctionParameter]¶

Type parameters list with default locations filled in with values (read-only)

property pure: BoolWithConfidence¶

Whether type is pure

property return_value: Type¶

Return value (read-only)

property return_value_location: ValueLocationWithConfidence | None¶

Return value location (read-only)

property stack_adjustment: OffsetWithConfidence¶

Stack adjustment for function (read-only)

InheritedStructureMember¶

class InheritedStructureMember[source]¶

Bases: object

__init__(base: NamedTypeReferenceType, base_offset: int, member: StructureMember, member_index: int) → None¶
Parameters:
  • base (NamedTypeReferenceType)

  • base_offset (int)

  • member (StructureMember)

  • member_index (int)

Return type:

None

base: NamedTypeReferenceType¶
base_offset: int¶
member: StructureMember¶
member_index: int¶

InlineDuringAnalysisWithConfidence¶

class InlineDuringAnalysisWithConfidence[source]¶

Bases: object

Represents an InlineDuringAnalysis value with an associated confidence level.

__init__(value: InlineDuringAnalysis, confidence: int = 255) → None¶
Parameters:
  • value (InlineDuringAnalysis)

  • confidence (int)

Return type:

None

classmethod from_core_struct(core_struct: BNInlineDuringAnalysisWithConfidence) → InlineDuringAnalysisWithConfidence[source]¶
Parameters:

core_struct (BNInlineDuringAnalysisWithConfidence)

Return type:

InlineDuringAnalysisWithConfidence

confidence: int = 255¶
value: InlineDuringAnalysis¶

IntegerBuilder¶

class IntegerBuilder[source]¶

Bases: TypeBuilder

classmethod create(width: int, sign: bool | BoolWithConfidence = True, alternate_name: str = '', platform: Platform | None = None, confidence: int = 255) → IntegerBuilder[source]¶
Parameters:
  • width (int)

  • sign (bool | BoolWithConfidence)

  • alternate_name (str)

  • platform (Platform | None)

  • confidence (int)

Return type:

IntegerBuilder

IntegerType¶

class IntegerType[source]¶

Bases: Type

__init__(handle, platform: Platform | None = None, confidence: int = 255)[source]¶
Parameters:
  • platform (Platform | None)

  • confidence (int)

classmethod create(width: int, sign: bool | BoolWithConfidence = True, alternate_name: str = '', platform: Platform | None = None, confidence: int = 255) → IntegerType[source]¶
Parameters:
  • width (int)

  • sign (bool | BoolWithConfidence)

  • alternate_name (str)

  • platform (Platform | None)

  • confidence (int)

Return type:

IntegerType

property signed: BoolWithConfidence¶

Whether type is signed (read-only)

MutableTypeBuilder¶

class MutableTypeBuilder[source]¶

Bases: Generic[TB]

__init__(type: TB, container: BinaryView | TypeLibrary, name: QualifiedName, platform: Platform | None, confidence: int, user: bool = True) → None¶
Parameters:
  • type (TB)

  • container (BinaryView | TypeLibrary)

  • name (QualifiedName)

  • platform (Platform | None)

  • confidence (int)

  • user (bool)

Return type:

None

confidence: int¶
container: BinaryView | TypeLibrary¶
name: QualifiedName¶
platform: Platform | None¶
type: TB¶
user: bool = True¶

NameSpace¶

class NameSpace[source]¶

Bases: QualifiedName

static get_core_struct(name: str | List[str] | NameSpace | None) → BNNameSpace | None[source]¶
Parameters:

name (str | List[str] | NameSpace | None)

Return type:

BNNameSpace | None

NamedTypeReferenceBuilder¶

class NamedTypeReferenceBuilder[source]¶

Bases: TypeBuilder

__init__(handle: LP_BNTypeBuilder, ntr_builder_handle: LP_BNNamedTypeReferenceBuilder, platform: Platform | None = None, confidence: int = 255)[source]¶
Parameters:
  • handle (LP_BNTypeBuilder)

  • ntr_builder_handle (LP_BNNamedTypeReferenceBuilder)

  • platform (Platform | None)

  • confidence (int)

classmethod create(type_class: NamedTypeReferenceClass = NamedTypeReferenceClass.UnknownNamedTypeClass, type_id: str | None = None, name: Iterable[str | bytes] | str | QualifiedName = '', width: int = 0, align: int = 1, platform: Platform | None = None, confidence: int = 255, const: bool | BoolWithConfidence = False, volatile: bool | BoolWithConfidence = False) → NamedTypeReferenceBuilder[source]¶
Parameters:
  • type_class (NamedTypeReferenceClass)

  • type_id (str | None)

  • name (Iterable[str | bytes] | str | QualifiedName)

  • width (int)

  • align (int)

  • platform (Platform | None)

  • confidence (int)

  • const (bool | BoolWithConfidence)

  • volatile (bool | BoolWithConfidence)

Return type:

NamedTypeReferenceBuilder

static named_type(named_type: NamedTypeReferenceBuilder, width: int = 0, align: int = 1, const: bool | BoolWithConfidence = BoolWithConfidence(value=False, confidence=255), volatile: bool | BoolWithConfidence = BoolWithConfidence(value=False, confidence=255)) → NamedTypeReferenceBuilder[source]¶
Parameters:
  • named_type (NamedTypeReferenceBuilder)

  • width (int)

  • align (int)

  • const (bool | BoolWithConfidence)

  • volatile (bool | BoolWithConfidence)

Return type:

NamedTypeReferenceBuilder

static named_type_from_registered_type(view: BinaryView, name: Iterable[str | bytes] | str | QualifiedName) → NamedTypeReferenceBuilder[source]¶
Parameters:
  • view (BinaryView)

  • name (Iterable[str | bytes] | str | QualifiedName)

Return type:

NamedTypeReferenceBuilder

static named_type_from_type(name: Iterable[str | bytes] | str | QualifiedName, type_class: NamedTypeReferenceClass | None = None) → NamedTypeReferenceBuilder[source]¶
Parameters:
  • name (Iterable[str | bytes] | str | QualifiedName)

  • type_class (NamedTypeReferenceClass | None)

Return type:

NamedTypeReferenceBuilder

static named_type_from_type_and_id(type_id: str, name: Iterable[str | bytes] | str | QualifiedName, type: TypeBuilder | Type | None = None) → NamedTypeReferenceBuilder[source]¶
Parameters:
  • type_id (str)

  • name (Iterable[str | bytes] | str | QualifiedName)

  • type (TypeBuilder | Type | None)

Return type:

NamedTypeReferenceBuilder

property id: str¶
property name: QualifiedName¶
property named_type_class: NamedTypeReferenceClass¶
property type_id: str¶

NamedTypeReferenceType¶

class NamedTypeReferenceType[source]¶

Bases: Type

__init__(handle, platform: Platform | None = None, confidence: int = 255, ntr_handle=None)[source]¶
Parameters:
  • platform (Platform | None)

  • confidence (int)

classmethod create(named_type_class: NamedTypeReferenceClass, guid: str | None, name: Iterable[str | bytes] | str | QualifiedName, alignment: int = 0, width: int = 0, platform: Platform | None = None, confidence: int = 255, const: bool | BoolWithConfidence = False, volatile: bool | BoolWithConfidence = False) → NamedTypeReferenceType[source]¶
Parameters:
  • named_type_class (NamedTypeReferenceClass)

  • guid (str | None)

  • name (Iterable[str | bytes] | str | QualifiedName)

  • alignment (int)

  • width (int)

  • platform (Platform | None)

  • confidence (int)

  • const (bool | BoolWithConfidence)

  • volatile (bool | BoolWithConfidence)

Return type:

NamedTypeReferenceType

classmethod create_from_handle(ntr_handle, alignment: int = 0, width: int = 0, platform: Platform | None = None, confidence: int = 255, const: bool | BoolWithConfidence = False, volatile: bool | BoolWithConfidence = False)[source]¶

Create a NamedTypeReferenceType from a BNNamedTypeReference handle

Parameters:
  • alignment (int)

  • width (int)

  • platform (Platform | None)

  • confidence (int)

  • const (bool | BoolWithConfidence)

  • volatile (bool | BoolWithConfidence)

classmethod create_from_registered_type(view: BinaryView, name: Iterable[str | bytes] | str | QualifiedName, platform: Platform | None = None, confidence: int = 255) → NamedTypeReferenceType[source]¶
Parameters:
  • view (BinaryView)

  • name (Iterable[str | bytes] | str | QualifiedName)

  • platform (Platform | None)

  • confidence (int)

Return type:

NamedTypeReferenceType

classmethod create_from_type(name: Iterable[str | bytes] | str | QualifiedName, type: TypeBuilder | Type | None, guid: str | None = None, platform: Platform | None = None, confidence: int = 255, const: bool | BoolWithConfidence = False, volatile: bool | BoolWithConfidence = False) → NamedTypeReferenceType[source]¶
Parameters:
  • name (Iterable[str | bytes] | str | QualifiedName)

  • type (TypeBuilder | Type | None)

  • guid (str | None)

  • platform (Platform | None)

  • confidence (int)

  • const (bool | BoolWithConfidence)

  • volatile (bool | BoolWithConfidence)

Return type:

NamedTypeReferenceType

static generate_auto_demangled_type_ref(type_class: NamedTypeReferenceClass, name: Iterable[str | bytes] | str | QualifiedName)[source]¶
Parameters:
  • type_class (NamedTypeReferenceClass)

  • name (Iterable[str | bytes] | str | QualifiedName)

static generate_auto_type_ref(type_class: NamedTypeReferenceClass, source: str, name: Iterable[str | bytes] | str | QualifiedName)[source]¶
Parameters:
  • type_class (NamedTypeReferenceClass)

  • source (str)

  • name (Iterable[str | bytes] | str | QualifiedName)

mutable_copy()[source]¶
target(bv: BinaryView) → Type | None[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¶
property type_id: str¶

OffsetWithConfidence¶

class OffsetWithConfidence[source]¶

Bases: object

__init__(value: int, confidence: int = 255) → None¶
Parameters:
  • value (int)

  • confidence (int)

Return type:

None

classmethod from_core_struct(core_struct: BNOffsetWithConfidence) → OffsetWithConfidence[source]¶
Parameters:

core_struct (BNOffsetWithConfidence)

Return type:

OffsetWithConfidence

static get_core_struct(value: int | OffsetWithConfidence, confidence: int = 255) → BNOffsetWithConfidence[source]¶
Parameters:
  • value (int | OffsetWithConfidence)

  • confidence (int)

Return type:

BNOffsetWithConfidence

confidence: int = 255¶
value: int¶

PointerBuilder¶

class PointerBuilder[source]¶

Bases: TypeBuilder

add_pointer_suffix(suffix: PointerSuffix)[source]¶

Append a suffix to the pointer, must be one defined in PointerSuffix. :param suffix: New suffix

Parameters:

suffix (PointerSuffix)

classmethod create(type: TypeBuilder | Type, width: int = 4, arch: Architecture | None = None, const: bool | BoolWithConfidence = False, volatile: bool | BoolWithConfidence = False, ref_type: ReferenceType = ReferenceType.PointerReferenceType, platform: Platform | None = None, confidence: int = 255) → PointerBuilder[source]¶
Parameters:
  • type (TypeBuilder | Type)

  • width (int)

  • arch (Architecture | None)

  • const (bool | BoolWithConfidence)

  • volatile (bool | BoolWithConfidence)

  • ref_type (ReferenceType)

  • platform (Platform | None)

  • confidence (int)

Return type:

PointerBuilder

get_pointer_suffix_tokens(base_confidence: int = 255) → List[InstructionTextToken][source]¶

Get the pointer suffix, as a list of tokens :param base_confidence: (optional) Confidence value to combine with the pointer’s confidence :return: Token list

Parameters:

base_confidence (int)

Return type:

List[InstructionTextToken]

set_pointer_base(base_type: PointerBaseType, base_offset: int)[source]¶

Set the pointer base type and offset :param base_type: Base type, e.g. __based(start) is RelativeToBinaryStartPointerBaseType :param base_offset: Base offset, e.g. __based(start, 0x1000) is 0x1000

Parameters:
  • base_type (PointerBaseType)

  • base_offset (int)

property children: List[TypeBuilder]¶
property immutable_target: Type¶
property offset: int¶

Currently not used and has no effect (Leaving this in for compatibility)

property origin: Tuple[QualifiedName, int] | None¶
property pointer_base_offset: int¶

Pointer base offset, e.g. __based(start, 0x1000) is 0x1000

property pointer_base_type: PointerBaseType¶

Pointer base type, e.g. __based(start) is RelativeToBinaryStartPointerBaseType

property pointer_suffix: List[PointerSuffix]¶

Pointer suffix, e.g. __unaligned is [UnalignedSuffix] (read-only)

property pointer_suffix_string: str¶

Pointer suffix, but as a string, e.g. “__unaligned” (read-only)

property target: TypeBuilder¶

PointerType¶

class PointerType[source]¶

Bases: Type

classmethod create(arch: Architecture, type: TypeBuilder | Type, const: bool | BoolWithConfidence = False, volatile: bool | BoolWithConfidence = False, ref_type: ReferenceType = ReferenceType.PointerReferenceType, platform: Platform | None = None, confidence: int = 255) → PointerType[source]¶
Parameters:
  • arch (Architecture)

  • type (TypeBuilder | Type)

  • const (bool | BoolWithConfidence)

  • volatile (bool | BoolWithConfidence)

  • ref_type (ReferenceType)

  • platform (Platform | None)

  • confidence (int)

Return type:

PointerType

classmethod create_with_width(width: int, type: TypeBuilder | Type, const: bool | BoolWithConfidence = False, volatile: bool | BoolWithConfidence = False, ref_type: ReferenceType | None = None, platform: Platform | None = None, confidence: int = 255) → PointerType[source]¶
Parameters:
  • width (int)

  • type (TypeBuilder | Type)

  • const (bool | BoolWithConfidence)

  • volatile (bool | BoolWithConfidence)

  • ref_type (ReferenceType | None)

  • platform (Platform | None)

  • confidence (int)

Return type:

PointerType

static from_bools(const: bool | BoolWithConfidence, volatile: bool | BoolWithConfidence) → Tuple[BoolWithConfidence, BoolWithConfidence][source]¶
Parameters:
  • const (bool | BoolWithConfidence)

  • volatile (bool | BoolWithConfidence)

Return type:

Tuple[BoolWithConfidence, BoolWithConfidence]

get_pointer_suffix_tokens(base_confidence: int = 255) → List[InstructionTextToken][source]¶

Get the pointer suffix, as a list of tokens :param base_confidence: (optional) Confidence value to combine with the pointer’s confidence :return: Token list

Parameters:

base_confidence (int)

Return type:

List[InstructionTextToken]

origin(bv: BinaryView | None) → Tuple[QualifiedName, int] | None[source]¶
Parameters:

bv (BinaryView | None)

Return type:

Tuple[QualifiedName, int] | None

property children: List[Type]¶
property pointer_base_offset: int¶

Pointer base offset, e.g. __based(start, 0x1000) is 0x1000 (read-only)

property pointer_base_type: PointerBaseType¶

Pointer base type, e.g. __based(start) is RelativeToBinaryStartPointerBaseType (read-only)

property pointer_suffix: List[PointerSuffix]¶

Pointer suffix, e.g. __unaligned is [UnalignedSuffix] (read-only)

property pointer_suffix_string: str¶

Pointer suffix, but as a string, e.g. “__unaligned” (read-only)

property ref_type: ReferenceType¶
property target: Type¶

Target (read-only)

QualifiedName¶

class QualifiedName[source]¶

Bases: object

__init__(name: Iterable[str | bytes] | str | QualifiedName | None = None, join: str = '::')[source]¶
Parameters:
  • name (Iterable[str | bytes] | str | QualifiedName | None)

  • join (str)

static escape(name: Iterable[str | bytes] | str | QualifiedName, escaping: TokenEscapingType) → str[source]¶
Parameters:
  • name (Iterable[str | bytes] | str | QualifiedName)

  • escaping (TokenEscapingType)

Return type:

str

static unescape(name: Iterable[str | bytes] | str | QualifiedName, escaping: TokenEscapingType) → str[source]¶
Parameters:
  • name (Iterable[str | bytes] | str | QualifiedName)

  • escaping (TokenEscapingType)

Return type:

str

property join: str¶
property name: List[str]¶

RegisterSet¶

class RegisterSet[source]¶

Bases: object

__init__(regs: List[RegisterName], confidence: int = 255) → None¶
Parameters:
  • regs (List[RegisterName])

  • confidence (int)

Return type:

None

with_confidence(confidence)[source]¶
confidence: int = 255¶
regs: List[RegisterName]¶

RegisterStackAdjustmentWithConfidence¶

class RegisterStackAdjustmentWithConfidence[source]¶

Bases: object

__init__(value: int, confidence: int = 255) → None¶
Parameters:
  • value (int)

  • confidence (int)

Return type:

None

confidence: int = 255¶
value: int¶

ReturnValue¶

class ReturnValue[source]¶

Bases: object

__init__(ty: TypeBuilder | Type, location: ValueLocation | ValueLocationWithConfidence | CoreVariable | None = None)[source]¶
Parameters:
  • ty (TypeBuilder | Type)

  • location (ValueLocation | ValueLocationWithConfidence | CoreVariable | None)

location: ValueLocationWithConfidence | None¶
type: TypeBuilder | Type¶

StructureBuilder¶

class StructureBuilder[source]¶

Bases: TypeBuilder

__init__(handle: LP_BNTypeBuilder, builder_handle: LP_BNStructureBuilder, platform: Platform | None = None, confidence: int = 255)[source]¶
Parameters:
  • handle (LP_BNTypeBuilder)

  • builder_handle (LP_BNStructureBuilder)

  • platform (Platform | None)

  • confidence (int)

add_member_at_offset(name: str, type: TypeBuilder | Type, offset: int, overwrite_existing: bool = True, access: MemberAccess = MemberAccess.NoAccess, scope: MemberScope = MemberScope.NoScope, bit_position: int = 0, bit_width: int = 0) → StructureBuilder[source]¶
Parameters:
  • name (str)

  • type (TypeBuilder | Type)

  • offset (int)

  • overwrite_existing (bool)

  • access (MemberAccess)

  • scope (MemberScope)

  • bit_position (int)

  • bit_width (int)

Return type:

StructureBuilder

append(type: TypeBuilder | Type, name: str = '', access: MemberAccess = MemberAccess.NoAccess, scope: MemberScope = MemberScope.NoScope) → StructureBuilder[source]¶
Parameters:
  • type (TypeBuilder | Type)

  • name (str)

  • access (MemberAccess)

  • scope (MemberScope)

Return type:

StructureBuilder

classmethod create(members: List[StructureMember] | List[Type] | List[Tuple[Type, str]] | None = None, type: StructureVariant = StructureVariant.StructStructureType, packed: bool = False, width: int | None = None, platform: Platform | None = None, confidence: int = 255) → StructureBuilder[source]¶
Parameters:
  • members (List[StructureMember] | List[Type] | List[Tuple[Type, str]] | None)

  • type (StructureVariant)

  • packed (bool)

  • width (int | None)

  • platform (Platform | None)

  • confidence (int)

Return type:

StructureBuilder

index_by_name(name: str) → int | None[source]¶
Parameters:

name (str)

Return type:

int | None

index_by_offset(offset: int) → int | None[source]¶
Parameters:

offset (int)

Return type:

int | None

insert(offset: int, type: TypeBuilder | Type, name: str = '', overwrite_existing: bool = True, access: MemberAccess = MemberAccess.NoAccess, scope: MemberScope = MemberScope.NoScope, bit_position: int = 0, bit_width: int = 0)[source]¶
Parameters:
  • offset (int)

  • type (TypeBuilder | Type)

  • name (str)

  • overwrite_existing (bool)

  • access (MemberAccess)

  • scope (MemberScope)

  • bit_position (int)

  • bit_width (int)

member_at_offset(offset: int) → StructureMember | None[source]¶
Parameters:

offset (int)

Return type:

StructureMember | None

remove(index: int)[source]¶
Parameters:

index (int)

replace(index: int, type: TypeBuilder | Type, name: str = '', overwrite_existing: bool = True)[source]¶
Parameters:
  • index (int)

  • type (TypeBuilder | Type)

  • name (str)

  • overwrite_existing (bool)

property alignment: int¶
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 packed: bool¶
property pointer_offset: int¶
property propagate_data_var_refs: bool¶
property type: StructureVariant¶
property union: bool¶
property width: int¶

StructureMember¶

class StructureMember[source]¶

Bases: object

__init__(type: Type, name: str, offset: int, access: MemberAccess = MemberAccess.NoAccess, scope: MemberScope = MemberScope.NoScope, bit_position: int = 0, bit_width: int = 0) → None¶
Parameters:
  • type (Type)

  • name (str)

  • offset (int)

  • access (MemberAccess)

  • scope (MemberScope)

  • bit_position (int)

  • bit_width (int)

Return type:

None

access: MemberAccess = 0¶
property bit_offset: int¶

Total bit offset from the start of the structure.

Computed as: offset * 8 + bit_position.

bit_position: int = 0¶
bit_width: int = 0¶
name: str¶
offset: int¶
scope: MemberScope = 0¶
type: Type¶

StructureType¶

class StructureType[source]¶

Bases: Type

__init__(handle, platform: Platform | None = None, confidence: int = 255)[source]¶
Parameters:
  • platform (Platform | None)

  • confidence (int)

classmethod create(members: List[StructureMember] | List[Type] | List[Tuple[Type, str]] | None = None, packed: bool = False, type: StructureVariant = StructureVariant.StructStructureType, platform: Platform | None = None, confidence: int = 255) → StructureType[source]¶
Parameters:
  • members (List[StructureMember] | List[Type] | List[Tuple[Type, str]] | None)

  • packed (bool)

  • type (StructureVariant)

  • platform (Platform | None)

  • confidence (int)

Return type:

StructureType

classmethod from_core_struct(structure: BNStructure) → StructureType[source]¶
Parameters:

structure (BNStructure)

Return type:

StructureType

generate_named_type_reference(guid: str, name: Iterable[str | bytes] | str | QualifiedName)[source]¶
Parameters:
  • guid (str)

  • name (Iterable[str | bytes] | str | QualifiedName)

member_at_offset(offset: int) → StructureMember[source]¶
Parameters:

offset (int)

Return type:

StructureMember

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:

InheritedStructureMember

members_including_inherited(view: BinaryView | TypeContainer) → List[InheritedStructureMember][source]¶

Returns structure member list, including those inherited by base structures

Parameters:

view (BinaryView | TypeContainer)

Return type:

List[InheritedStructureMember]

mutable_copy() → StructureBuilder[source]¶
Return type:

StructureBuilder

resolve_member_or_base_member(view: BinaryView | None, offset: int, size: int, resolve_func: Callable[[NamedTypeReferenceType, StructureType, int, int, int, StructureMember], None], member_index_hint: int | None = None) → bool[source]¶
Parameters:
  • view (BinaryView | None)

  • offset (int)

  • size (int)

  • resolve_func (Callable[[NamedTypeReferenceType, StructureType, int, int, int, StructureMember], None])

  • member_index_hint (int | None)

Return type:

bool

with_replaced_enumeration(from_enum, to_enum) → StructureType[source]¶
Return type:

StructureType

with_replaced_named_type_reference(from_ref, to_ref) → StructureType[source]¶
Return type:

StructureType

with_replaced_structure(from_struct, to_struct) → StructureType[source]¶
Return type:

StructureType

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 children: List[Type]¶
property members¶

Structure member list (read-only). This list will not contain members inherited from base structures. To get members including inherited ones, call members_including_inherited.

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

Symbol¶

class Symbol[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 functions identified as belonging to a shared library

SymbolicFunctionSymbol

Symbols for functions without a concrete implementation or which have been abstractly represented

LocalLabelSymbol

Symbol for a local label in the current binary

__init__(sym_type, addr, short_name, full_name=None, raw_name=None, binding=None, namespace=None, ordinal=0)[source]¶

Type¶

class Type[source]¶

Bases: object

class Type allows you to interact with the Binary Ninja type system. Note that the repr and str 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

__init__(handle, platform: Platform | None = None, confidence: int = 255)[source]¶
Parameters:
  • platform (Platform | None)

  • confidence (int)

static array(type: Type, count: int) → ArrayType[source]¶
Parameters:
  • type (Type)

  • count (int)

Return type:

ArrayType

static bool() → BoolType[source]¶
Return type:

BoolType

static builder(bv: BinaryView, name: QualifiedName | None = None, id: str | None = None, platform: Platform | None = None, confidence: int = 255) → MutableTypeBuilder[source]¶
Parameters:
  • bv (BinaryView)

  • name (QualifiedName | None)

  • id (str | None)

  • platform (Platform | None)

  • confidence (int)

Return type:

MutableTypeBuilder

static char(alternate_name: str = '') → CharType[source]¶
Parameters:

alternate_name (str)

Return type:

CharType

static class_type(members: List[StructureMember] | List[Type] | List[Tuple[Type, str]] | None = None, packed: bool = False) → StructureType[source]¶
Parameters:
  • members (List[StructureMember] | List[Type] | List[Tuple[Type, str]] | None)

  • packed (bool)

Return type:

StructureType

classmethod create(handle: LP_BNType, platform: Platform | None = None, confidence: int = 255) → Type[source]¶
Parameters:
  • handle (LP_BNType)

  • platform (Platform | None)

  • confidence (int)

Return type:

Type

deref_named_type_reference(view: BinaryView) → Type[source]¶

Dereferences any named type references to find the underlying type. This may still return a named type reference if there are circular references. If the type isn’t a named type reference, the input type is returned unchanged.

Parameters:

view (BinaryView) – BinaryView object owning this Type

Returns:

Type with named type references resolved

Return type:

Type

static enumeration(arch: Architecture | None = None, members: List[Tuple[str, int]] | List[str] | List[EnumerationMember] | None = None, width: int | None = None, sign: bool | BoolWithConfidence = False) → EnumerationType[source]¶
Parameters:
  • arch (Architecture | None)

  • members (List[Tuple[str, int]] | List[str] | List[EnumerationMember] | None)

  • width (int | None)

  • sign (bool | BoolWithConfidence)

Return type:

EnumerationType

static enumeration_type(arch, enum: EnumerationBuilder, width: int | None = None, sign: bool = False) → EnumerationType[source]¶
Parameters:
  • enum (EnumerationBuilder)

  • width (int | None)

  • sign (bool)

Return type:

EnumerationType

static float(width: int, alternate_name: str = '') → FloatType[source]¶

float class method for creating floating point Types.

Parameters:
  • width (int) – width of the floating point number in bytes

  • alternate_name (str) – alternate name for type

Return type:

FloatType

static fragment(type: TypeBuilder | Type, width: int, offset: int, endianness: Endianness = Endianness.LittleEndian) → FragmentType[source]¶

Create a fresh fragment whose live bits initially fill a container whose width is measured in bytes.

Parameters:
  • type (Type) – larger source type of which the fragment is a slice

  • width (int) – container width in bytes; the initial live fragment size is width * 8 bits

  • offset (int) – original source byte offset within type

  • endianness (Endianness) – byte order used to map source-layout bytes to container bits

Returns:

Immutable fragment type

Return type:

FragmentType

Example:
>>> source = Type.array(Type.int(1, False), 16)
>>> fragment = Type.fragment(source, 8, 4, Endianness.BigEndian)
>>> fragment.target == source
True
>>> fragment.width, fragment.offset
(8, 4)
static from_core_struct(core_type: BNType)[source]¶
Parameters:

core_type (BNType)

static function(ret: Type | ReturnValue | None = None, params: List[Type] | List[FunctionParameter] | List[Tuple[str, Type]] | None = None, calling_convention: CallingConvention | None = None, variable_arguments: 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

  • params (list(Type)) – list of parameter Types

  • 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:

FunctionType

static generate_auto_demangled_type_id(name: Iterable[str | bytes] | str | QualifiedName) → str[source]¶
Parameters:

name (Iterable[str | bytes] | str | QualifiedName)

Return type:

str

static generate_auto_type_id(source: str, name: Iterable[str | bytes] | str | QualifiedName) → str[source]¶
Parameters:
  • source (str)

  • name (Iterable[str | bytes] | str | QualifiedName)

Return type:

str

static generate_named_type_reference(guid: str, name: Iterable[str | bytes] | str | QualifiedName) → NamedTypeReferenceType[source]¶
Parameters:
  • guid (str)

  • name (Iterable[str | bytes] | str | QualifiedName)

Return type:

NamedTypeReferenceType

static get_auto_demangled_type_id_source() → str[source]¶
Return type:

str

get_builder(bv: BinaryView) → MutableTypeBuilder[source]¶
Parameters:

bv (BinaryView)

Return type:

MutableTypeBuilder

get_lines(bv: BinaryView | TypeContainer, name: str | QualifiedName, padding_cols: int = 64, 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

  • padding_cols (int) – Maximum number of bytes represented by each padding line

  • 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:

TypeDefinitionLine

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:

str

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:

str

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:

str

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']
immutable_copy() → Type[source]¶
Return type:

Type

static int(width: int, sign: bool | BoolWithConfidence = True, alternate_name: str = '') → IntegerType[source]¶

int class method for creating an int Type.

Parameters:
  • width (int) – width of the integer in bytes

  • sign (bool) – optional variable representing signedness

  • alternate_name (str) – alternate name for type

Return type:

IntegerType

mutable_copy() → TypeBuilder[source]¶
Return type:

TypeBuilder

static named_type(named_type: NamedTypeReferenceBuilder) → NamedTypeReferenceType[source]¶
Parameters:

named_type (NamedTypeReferenceBuilder)

Return type:

NamedTypeReferenceType

static named_type_from_registered_type(view: BinaryView, name: Iterable[str | bytes] | str | QualifiedName) → NamedTypeReferenceType[source]¶
Parameters:
  • view (BinaryView)

  • name (Iterable[str | bytes] | str | QualifiedName)

Return type:

NamedTypeReferenceType

static named_type_from_type(name: Iterable[str | bytes] | str | QualifiedName, type: TypeBuilder | Type) → NamedTypeReferenceType[source]¶
Parameters:
  • name (Iterable[str | bytes] | str | QualifiedName)

  • type (TypeBuilder | Type)

Return type:

NamedTypeReferenceType

static named_type_from_type_and_id(type_id: str, name: Iterable[str | bytes] | str | QualifiedName, type: TypeBuilder | Type | None = None) → NamedTypeReferenceType[source]¶
Parameters:
  • type_id (str)

  • name (Iterable[str | bytes] | str | QualifiedName)

  • type (TypeBuilder | Type | None)

Return type:

NamedTypeReferenceType

static named_type_reference(type_class: NamedTypeReferenceClass, name: Iterable[str | bytes] | str | QualifiedName, type_id: str | None = None, alignment: int = 1, width: int = 0, const: bool | BoolWithConfidence = BoolWithConfidence(value=False, confidence=255), volatile: bool | BoolWithConfidence = BoolWithConfidence(value=False, confidence=255))[source]¶
Parameters:
  • type_class (NamedTypeReferenceClass)

  • name (Iterable[str | bytes] | str | QualifiedName)

  • type_id (str | None)

  • alignment (int)

  • width (int)

  • const (bool | BoolWithConfidence)

  • volatile (bool | BoolWithConfidence)

static pointer(arch: Architecture, type: TypeBuilder | Type, const: bool | BoolWithConfidence = BoolWithConfidence(value=False, confidence=255), volatile: bool | BoolWithConfidence = BoolWithConfidence(value=False, confidence=255), ref_type: ReferenceType = ReferenceType.PointerReferenceType, width: int | None = None) → PointerType[source]¶
Parameters:
  • arch (Architecture)

  • type (TypeBuilder | Type)

  • const (bool | BoolWithConfidence)

  • volatile (bool | BoolWithConfidence)

  • ref_type (ReferenceType)

  • width (int | None)

Return type:

PointerType

static pointer_of_width(width: int, type: TypeBuilder | Type, const: bool | BoolWithConfidence = False, volatile: bool | BoolWithConfidence = False, ref_type: ReferenceType = ReferenceType.PointerReferenceType) → PointerType[source]¶
Parameters:
  • width (int)

  • type (TypeBuilder | Type)

  • const (bool | BoolWithConfidence)

  • volatile (bool | BoolWithConfidence)

  • ref_type (ReferenceType)

Return type:

PointerType

static structure(members: List[StructureMember] | List[Type] | List[Tuple[Type, str]] | None = None, packed: bool = False, type: StructureVariant = StructureVariant.StructStructureType) → StructureType[source]¶
Parameters:
  • members (List[StructureMember] | List[Type] | List[Tuple[Type, str]] | None)

  • packed (bool)

  • type (StructureVariant)

Return type:

StructureType

static structure_type(structure: StructureBuilder) → StructureType[source]¶
Parameters:

structure (StructureBuilder)

Return type:

StructureType

static union(members: List[StructureMember] | List[Type] | You are visitor 01402503 — GeezerVison does not store the pages you look up.
Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required.