types module

binaryninja.types.BoolWithConfidence(value)
binaryninja.types.Enumeration([handle])
binaryninja.types.EnumerationMember(name, …)
binaryninja.types.FunctionParameter(param_type)
binaryninja.types.NamedTypeReference([…])
binaryninja.types.QualifiedName([name])
binaryninja.types.ReferenceTypeWithConfidence(value)
binaryninja.types.RegisterSet(reg_list[, …])
binaryninja.types.RegisterStackAdjustmentWithConfidence(value)
binaryninja.types.SizeWithConfidence(value)
binaryninja.types.Structure([handle])
binaryninja.types.StructureMember(t, name, …)
binaryninja.types.Symbol(sym_type, addr, …) Symbols are defined as one of the following types:
binaryninja.types.Type(handle[, platform, …])
binaryninja.types.TypeParserResult(types, …)
binaryninja.types.preprocess_source(source) preprocess_source run the C preprocessor on the given source or source filename.
binaryninja.types.pyNativeStr(arg)
binaryninja.types.range(*args) A Python2 and Python3 Compatible Range Generator
class BoolWithConfidence(value, confidence=255)[source]

Bases: object

class Enumeration(handle=None)[source]

Bases: object

append(name, value=None)[source]
remove(i)[source]
replace(i, name, value)[source]
members

Enumeration member list (read-only)

class EnumerationMember(name, value, default)[source]

Bases: object

class FunctionParameter(param_type, name='', location=None)[source]

Bases: object

class NamedTypeReference(type_class=<NamedTypeReferenceClass.UnknownNamedTypeClass: 0>, type_id=None, name=None, handle=None)[source]

Bases: object

classmethod generate_auto_demangled_type_ref(type_class, name)[source]
classmethod generate_auto_type_ref(type_class, source, name)[source]
name
type_class
type_id
class QualifiedName(name=[])[source]

Bases: object

class ReferenceTypeWithConfidence(value, confidence=255)[source]

Bases: object

class RegisterSet(reg_list, confidence=255)[source]

Bases: object

with_confidence(confidence)[source]
class RegisterStackAdjustmentWithConfidence(value, confidence=255)[source]

Bases: object

class SizeWithConfidence(value, confidence=255)[source]

Bases: object

class Structure(handle=None)[source]

Bases: object

append(t, name='')[source]
insert(offset, t, name='')[source]
remove(i)[source]
replace(i, t, name='')[source]
alignment

Structure alignment

members

Structure member list (read-only)

packed
type
union
width

Structure width

class StructureMember(t, name, offset)[source]

Bases: object

class Symbol(sym_type, addr, short_name, full_name=None, raw_name=None, handle=None)[source]

Bases: object

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 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
address

Symbol address (read-only)

auto
full_name

Symbol full name (read-only)

name

Symbol name (read-only)

raw_name

Symbol raw name (read-only)

short_name

Symbol short name (read-only)

type

Symbol type (read-only)

class Type(handle, platform=None, confidence=255)[source]

Bases: object

classmethod array(t, count)[source]
classmethod bool()[source]
classmethod enumeration_type(arch, e, width=None, sign=False)[source]
classmethod float(width, altname='')[source]

float class method for creating an floating point Types.

Parameters:
  • width (int) – width of the floating point number in bytes
  • altname (string) – alternate name for type
classmethod function(ret, params, calling_convention=None, variable_arguments=None, stack_adjust=None)[source]

function class method for creating an function Type.

Parameters:
  • ret (Type) – width of the integer in bytes
  • params (list(Type)) – list of parameter Types
  • calling_convention (CallingConvention) – optional argument for function calling convention
  • variable_arguments (bool) – optional argument for functions that have a variable number of arguments
classmethod generate_auto_demangled_type_id(name)[source]
classmethod generate_auto_type_id(source, name)[source]
classmethod get_auto_demangled_type_id_source()[source]
get_string_after_name()[source]
get_string_before_name()[source]
get_tokens(base_confidence=255)[source]
get_tokens_after_name(base_confidence=255)[source]
get_tokens_before_name(base_confidence=255)[source]
classmethod int(width, sign=None, altname='')[source]

int class method for creating an int Type.

Parameters:
  • width (int) – width of the integer in bytes
  • sign (bool) – optional variable representing signedness
  • altname (string) – alternate name for type
classmethod named_type(named_type, width=0, align=1)[source]
classmethod named_type_from_registered_type(view, name)[source]
classmethod named_type_from_type(name, t)[source]
classmethod named_type_from_type_and_id(type_id, name, t)[source]
classmethod pointer(arch, t, const=None, volatile=None, ref_type=None)[source]
classmethod structure_type(structure_type)[source]
classmethod void()[source]
with_confidence(confidence)[source]
alignment

Type alignment (read-only)

calling_convention

Calling convention (read-only)

can_return

Whether type can return (read-only)

const

Whether type is const (read-only)

count

Type count (read-only)

element_type

Target (read-only)

enumeration

Type enumeration (read-only)

has_variable_arguments

Whether type has variable arguments (read-only)

modified

Whether type is modified (read-only)

named_type_reference

Reference to a named type (read-only)

offset

Offset into structure (read-only)

parameters

Type parameters list (read-only)

return_value

Return value (read-only)

signed

Wether type is signed (read-only)

stack_adjustment

Stack adjustment for function (read-only)

structure

Structure of the type (read-only)

target

Target (read-only)

tokens

Type string as a list of tokens (read-only)

type_class

Type class (read-only)

width

Type width (read-only)

class TypeParserResult(types, variables, functions)[source]

Bases: object

preprocess_source(source, filename=None, include_dirs=[])[source]

preprocess_source run the C preprocessor on the given source or source filename.

Parameters:
  • source (str) – source to preprocess
  • filename (str) – optional filename to preprocess
  • include_dirs (list(str)) – list of string directorires to use as include directories.
Returns:

returns a tuple of (preprocessed_source, error_string)

Return type:

tuple(str,str)

Example:
>>> source = "#define TEN 10\nint x[TEN];\n"
>>> preprocess_source(source)
('#line 1 "input"\n\n#line 2 "input"\n int x [ 10 ] ;\n', '')
>>>