function module

binaryninja.function.AdvancedFunctionAnalysisDataRequestor([func])

binaryninja.function.ConstantReference(val, …)

binaryninja.function.DisassemblySettings([…])

binaryninja.function.DisassemblyTextLine(tokens)

binaryninja.function.DisassemblyTextRenderer([…])

binaryninja.function.Function([view, handle])

binaryninja.function.IndirectBranchInfo(…)

binaryninja.function.InstructionBranch(…)

binaryninja.function.InstructionInfo()

binaryninja.function.InstructionTextToken(…)

class InstructionTextToken is used to tell the core about the various components in the disassembly views.

binaryninja.function.IntrinsicInfo(inputs, …)

binaryninja.function.IntrinsicInput(type_obj)

binaryninja.function.LookupTableEntry(…)

binaryninja.function.ParameterVariables(var_list)

binaryninja.function.PossibleValueSet([…])

binaryninja.function.RegisterInfo(…[, …])

binaryninja.function.RegisterStackInfo(…)

binaryninja.function.RegisterValue([arch, …])

binaryninja.function.StackVariableReference(…)

binaryninja.function.ValueRange(start, end, step)

binaryninja.function.Variable(func, …[, …])

binaryninja.function.range(stop)

range(start, stop[, step]) -> range object

class AdvancedFunctionAnalysisDataRequestor(func=None)[source]

Bases: object

close()[source]
function
class ConstantReference(val, size, ptr, intermediate)[source]

Bases: object

intermediate
pointer
size
value
class DisassemblySettings(handle=None)[source]

Bases: object

is_option_set(option)[source]
set_option(option, state=True)[source]
max_symbol_width
width
class DisassemblyTextLine(tokens, address=None, il_instr=None, color=None)[source]

Bases: object

address
highlight
il_instruction
tokens
class DisassemblyTextRenderer(func=None, settings=None, handle=None)[source]

Bases: object

add_integer_token(tokens, int_token, addr, arch=None)[source]
add_stack_var_reference_tokens(tokens, ref)[source]
add_symbol_token(tokens, addr, size, operand=None)[source]
get_disassembly_text(addr)[source]
get_instruction_annotations(addr)[source]
get_instruction_text(addr)[source]
classmethod is_integer_token(token)[source]
post_process_lines(addr, length, in_lines, indent_spaces='')[source]
reset_deduplicated_comments()[source]
wrap_comment(lines, cur_line, comment, has_auto_annotations, leading_spaces=' ', indent_spaces='')[source]
arch
basic_block
function
has_data_flow
il
il_function
settings
class Function(view=None, handle=None)[source]

Bases: object

add_auto_address_tag(addr, tag, arch=None)[source]

add_auto_address_tag adds an already-created Tag object at a given address.

Parameters
  • addr (int) – Address at which to add the tag

  • tag (Tag) – Tag object to be added

  • arch (Architecture) – Architecture for the block in which the Tag is added (optional)

Return type

None

add_auto_function_tag(tag)[source]

add_user_function_tag adds an already-created Tag object as a function tag.

Parameters

tag (Tag) – Tag object to be added

Return type

None

add_user_address_tag(addr, tag, arch=None)[source]

add_user_address_tag adds an already-created Tag object at a given address. Since this adds a user tag, it will be added to the current undo buffer.

Parameters
  • addr (int) – Address at which to add the tag

  • tag (Tag) – Tag object to be added

  • arch (Architecture) – Architecture for the block in which the Tag is added (optional)

Return type

None

add_user_code_ref(from_addr, to_addr, from_arch=None)[source]

add_user_code_ref places a user-defined cross-reference from the instruction at the given address and architecture to the specified target address. If the specified source instruction is not contained within this function, no action is performed. To remove the reference, use remove_user_code_ref.

Parameters
  • from_addr (int) – virtual address of the source instruction

  • to_addr (int) – virtual address of the xref’s destination.

  • from_arch (Architecture) – (optional) architecture of the source instruction

Return type

None

Example
>>> current_function.add_user_code_ref(here, 0x400000)
add_user_function_tag(tag)[source]

add_user_function_tag adds an already-created Tag object as a function tag. Since this adds a user tag, it will be added to the current undo buffer.

Parameters

tag (Tag) – Tag object to be added

Return type

None

apply_auto_discovered_type(func_type)[source]
apply_imported_types(sym, type=None)[source]
create_auto_address_tag(addr, type, data, unique=False, arch=None)[source]

create_auto_address_tag creates and adds a Tag object at a given address.

Parameters
  • addr (int) – Address at which to add the tag

  • type (TagType) – Tag Type for the Tag that is created

  • data (str) – Additional data for the Tag

  • unique (bool) – If a tag already exists at this location with this data, don’t add another

  • arch (Architecture) – Architecture for the block in which the Tag is added (optional)

Returns

The created Tag

Return type

Tag

create_auto_function_tag(type, data, unique=False)[source]

add_user_function_tag creates and adds a Tag object as a function tag.

Parameters
  • type (TagType) – Tag Type for the Tag that is created

  • data (str) – Additional data for the Tag

  • unique (bool) – If a tag already exists with this data, don’t add another

Returns

The created Tag

Return type

Tag

create_auto_stack_var(offset, var_type, name)[source]
create_auto_tag(type, data)[source]
create_auto_var(var, var_type, name, ignore_disjoint_uses=False)[source]
create_graph(graph_type=<FunctionGraphType.NormalFunctionGraph: 0>, settings=None)[source]
create_tag(type, data, user=True)[source]

create_tag creates a new Tag object but does not add it anywhere. Use create_user_address_tag or create_user_function_tag to create and add in one step.

Parameters
  • type (TagType) – The Tag Type for this Tag

  • data (str) – Additional data for the Tag

Returns

The created Tag

Return type

Tag

Example
>>> tt = bv.tag_types["Crashes"]
>>> tag = current_function.create_tag(tt, "Null pointer dereference", True)
>>> current_function.add_user_address_tag(here, tag)
>>>
create_user_address_tag(addr, type, data, unique=False, arch=None)[source]

create_user_address_tag creates and adds a Tag object at a given address. Since this adds a user tag, it will be added to the current undo buffer. To create tags associated with an address that is not inside of a function, use create_user_data_tag.

Parameters
  • addr (int) – Address at which to add the tag

  • type (TagType) – Tag Type for the Tag that is created

  • data (str) – Additional data for the Tag

  • unique (bool) – If a tag already exists at this location with this data, don’t add another

  • arch (Architecture) – Architecture for the block in which the Tag is added (optional)

Returns

The created Tag

Return type

Tag

create_user_function_tag(type, data, unique=False)[source]

add_user_function_tag creates and adds a Tag object as a function tag. Since this adds a user tag, it will be added to the current undo buffer.

Parameters
  • type (TagType) – Tag Type for the Tag that is created

  • data (str) – Additional data for the Tag

  • unique (bool) – If a tag already exists with this data, don’t add another

Returns

The created Tag

Return type

Tag

create_user_stack_var(offset, var_type, name)[source]
create_user_tag(type, data)[source]
create_user_var(var, var_type, name, ignore_disjoint_uses=False)[source]
delete_auto_stack_var(offset)[source]
delete_auto_var(var)[source]
delete_user_stack_var(offset)[source]
delete_user_var(var)[source]
get_address_tags_at(addr, arch=None)[source]

get_address_tags_at gets a list of all Tags in the function at a given address.

Parameters
  • addr (int) – Address to get tags at

  • arch (Architecture) – Architecture for the block in which the Tag is added (optional)

Returns

A list of Tags

Return type

list(Tag)

get_basic_block_at(addr, arch=None)[source]

get_basic_block_at returns the BasicBlock of the optionally specified Architecture arch at the given address addr.

Parameters
  • addr (int) – Address of the BasicBlock to retrieve.

  • arch (Architecture) – (optional) Architecture of the basic block if different from the Function’s self.arch

Example
>>> current_function.get_basic_block_at(current_function.start)
<block: [email protected]>
get_block_annotations(addr, arch=None)[source]
get_call_reg_stack_adjustment(addr, arch=None)[source]
get_call_reg_stack_adjustment_for_reg_stack(addr, reg_stack, arch=None)[source]
get_call_stack_adjustment(addr, arch=None)[source]
get_call_type_adjustment(addr, arch=None)[source]
get_comment_at(addr)[source]
get_constants_referenced_by(addr, arch=None)[source]
get_flags_read_by_lifted_il_instruction(i)[source]
get_flags_written_by_lifted_il_instruction(i)[source]
get_indirect_branches_at(addr, arch=None)[source]
get_instr_highlight(addr, arch=None)[source]
Example
>>> current_function.set_user_instr_highlight(here, highlight.HighlightColor(red=0xff, blue=0xff, green=0))
>>> current_function.get_instr_highlight(here)
<color: #ff00ff>
get_int_display_type(instr_addr, value, operand, arch=None)[source]
get_lifted_il_at(addr, arch=None)[source]
get_lifted_il_flag_definitions_for_use(i, flag)[source]
get_lifted_il_flag_uses_for_definition(i, flag)[source]
get_low_level_il_at(addr, arch=None)[source]

get_low_level_il_at gets the LowLevelILInstruction corresponding to the given virtual address

Parameters
  • addr (int) – virtual address of the function to be queried

  • arch (Architecture) – (optional) Architecture for the given function

Return type

LowLevelILInstruction

Example
>>> func = bv.functions[0]
>>> func.get_low_level_il_at(func.start)
<il: push(rbp)>
get_low_level_il_exits_at(addr, arch=None)[source]
get_parameter_at(addr, func_type, i, arch=None)[source]
get_parameter_at_low_level_il_instruction(instr, func_type, i)[source]
get_reg_value_after(addr, reg, arch=None)[source]

get_reg_value_after gets the value instruction address corresponding to the given virtual address

Parameters
  • addr (int) – virtual address of the instruction to query

  • reg (str) – string value of native register to query

  • arch (Architecture) – (optional) Architecture for the given function

Return type

binaryninja.function.RegisterValue

Example
>>> func.get_reg_value_after(0x400dbe, 'rdi')
<undetermined>
get_reg_value_at(addr, reg, arch=None)[source]

get_reg_value_at gets the value the provided string register address corresponding to the given virtual address

Parameters
  • addr (int) – virtual address of the instruction to query

  • reg (str) – string value of native register to query

  • arch (Architecture) – (optional) Architecture for the given function

Return type

binaryninja.function.RegisterValue

Example
>>> func.get_reg_value_at(0x400dbe, 'rdi')
<const 0x2>
get_reg_value_at_exit(reg)[source]
get_regs_read_by(addr, arch=None)[source]
get_regs_written_by(addr, arch=None)[source]
get_stack_contents_after(addr, offset, size, arch=None)[source]
get_stack_contents_at(addr, offset, size, arch=None)[source]

get_stack_contents_at returns the RegisterValue for the item on the stack in the current function at the given virtual address addr, stack offset offset and size of size. Optionally specifying the architecture.

Parameters
  • addr (int) – virtual address of the instruction to query

  • offset (int) – stack offset base of stack

  • size (int) – size of memory to query

  • arch (Architecture) – (optional) Architecture for the given function

Return type

binaryninja.function.RegisterValue

Note

Stack base is zero on entry into the function unless the architecture places the return address on the stack as in (x86/x86_64) where the stack base will start at address_size

Example
>>> func.get_stack_contents_at(0x400fad, -16, 4)
<range: 0x8 to 0xffffffff>
get_stack_var_at_frame_offset(offset, addr, arch=None)[source]
get_stack_vars_referenced_by(addr, arch=None)[source]
get_type_tokens(settings=None)[source]
is_call_instruction(addr, arch=None)[source]
mark_recent_use()[source]
reanalyze()[source]

reanalyze causes this functions to be reanalyzed. This function does not wait for the analysis to finish.

Return type

None

release_advanced_analysis_data()[source]
remove_auto_address_tag(addr, tag, arch=None)[source]

remove_auto_address_tag removes a Tag object at a given address.

Parameters
  • addr (int) – Address at which to add the tag

  • tag (Tag) – Tag object to be added

  • arch (Architecture) – Architecture for the block in which the Tag is added (optional)

Return type

None

remove_auto_function_tag(tag)[source]

remove_user_function_tag removes a Tag object as a function tag.

Parameters

tag (Tag) – Tag object to be added

Return type

None

remove_user_address_tag(addr, tag, arch=None)[source]

remove_user_address_tag removes a Tag object at a given address. Since this removes a user tag, it will be added to the current undo buffer.

Parameters
  • addr (int) – Address at which to add the tag

  • tag (Tag) – Tag object to be added

  • arch (Architecture) – Architecture for the block in which the Tag is added (optional)

Return type

None

remove_user_code_ref(from_addr, to_addr, from_arch=None)[source]

remove_user_code_ref removes a user-defined cross-reference. If the given address is not contained within this function, or if there is no such user-defined cross-reference, no action is performed.

Parameters
  • from_addr (int) – virtual address of the source instruction

  • to_addr (int) – virtual address of the xref’s destination.

  • from_arch (Architecture) – (optional) architecture of the source instruction

Return type

None

Example
>>> current_function.remove_user_code_ref(here, 0x400000)
remove_user_function_tag(tag)[source]

remove_user_function_tag removes a Tag object as a function tag. Since this removes a user tag, it will be added to the current undo buffer.

Parameters

tag (Tag) – Tag object to be added

Return type

None

request_advanced_analysis_data()[source]
request_debug_report(name)[source]
set_auto_call_reg_stack_adjustment(addr, adjust, arch=None)[source]
set_auto_call_reg_stack_adjustment_for_reg_stack(addr, reg_stack, adjust, arch=None)[source]
set_auto_call_stack_adjustment(addr, adjust, arch=None)[source]
set_auto_calling_convention(value)[source]
set_auto_can_return(value)[source]
set_auto_clobbered_regs(value)[source]
set_auto_has_variable_arguments(value)[source]
set_auto_indirect_branches(source, branches, source_arch=None)[source]
set_auto_instr_highlight(addr, color, arch=None)[source]

set_auto_instr_highlight highlights the instruction at the specified address with the supplied color

..warning:: Use only in analysis plugins. Do not use in regular plugins, as colors won’t be saved to the database.

Parameters
  • addr (int) – virtual address of the instruction to be highlighted

  • or highlight.HighlightColor color (HighlightStandardColor) – Color value to use for highlighting

  • arch (Architecture) – (optional) Architecture of the instruction if different from self.arch

set_auto_parameter_vars(value)[source]
set_auto_reg_stack_adjustments(value)[source]
set_auto_return_regs(value)[source]
set_auto_return_type(value)[source]
set_auto_stack_adjustment(value)[source]
set_auto_type(value)[source]
set_call_reg_stack_adjustment(addr, adjust, arch=None)[source]
set_call_reg_stack_adjustment_for_reg_stack(addr, reg_stack, adjust, arch=None)[source]
set_call_stack_adjustment(addr, adjust, arch=None)[source]
set_call_type_adjustment(addr, adjust_type, arch=None)[source]
set_comment(addr, comment)[source]

Deprecated method provided for compatibility. Use set_comment_at instead.

set_comment_at(addr, comment)[source]

set_comment_at sets a comment for the current function at the address specified

Parameters
  • addr (int) – virtual address within the current function to apply the comment to

  • comment (str) – string comment to apply

Return type

None

Example
>>> current_function.set_comment_at(here, "hi")
classmethod set_default_session_data(name, value)[source]
set_int_display_type(instr_addr, value, operand, display_type, arch=None)[source]
Parameters
set_user_indirect_branches(source, branches, source_arch=None)[source]
set_user_instr_highlight(addr, color, arch=None)[source]

set_user_instr_highlight highlights the instruction at the specified address with the supplied color

Parameters
  • addr (int) – virtual address of the instruction to be highlighted

  • or highlight.HighlightColor color (HighlightStandardColor) – Color value to use for highlighting

  • arch (Architecture) – (optional) Architecture of the instruction if different from self.arch

Example
>>> current_function.set_user_instr_highlight(here, HighlightStandardColor.BlueHighlightColor)
>>> current_function.set_user_instr_highlight(here, highlight.HighlightColor(red=0xff, blue=0xff, green=0))
set_user_type(value)[source]
address_tags

address_tags gets a list of all address Tags in the function. Tags are returned as a list of (arch, address, Tag) tuples.

Return type

list((Architecture, int, Tag))

analysis_performance_info
analysis_skip_override

Override for skipping of automatic analysis

analysis_skip_reason

Function analysis skip reason

analysis_skipped

Whether automatic analysis was skipped for this function

arch

Function architecture (read-only)

auto

Whether function was automatically discovered (read-only)

basic_blocks

List of basic blocks (read-only)

call_sites

call_sites returns a list of possible call sites contained in this function. This includes ordinary calls, tail calls, and indirect jumps. Not all of the returned call sites are necessarily true call sites; some may simply be unresolved indirect jumps, for example.

Returns

List of References that represent the sources of possible calls in this function

Return type

list(ReferenceSource)

callee_addresses

callee_addressses returns a list of start addresses for functions that call this function. Does not point to the actual address where the call occurs, just the start of the function that contains the reference.

Returns

List of start addresess for Functions that call this function

Return type

list(int)

callees

callees returns a list of functions that this function calls This does not include the address of those calls, rather just the function objects themselves. Use call_sites to identify the location of these calls.

Returns

List of Functions that this function calls

Return type

list(Function)

callers

callers returns a list of functions that call this function Does not point to the actual address where the call occurs, just the start of the function that contains the call.

Returns

List of start addresess for Functions that call this function

Return type

list(int)

calling_convention

Calling convention used by the function

can_return

Whether function can return

clobbered_regs

Registers that are modified by this function

comment

Gets the comment for the current function

comments

Dict of comments (read-only)

explicitly_defined_type

Whether function has explicitly defined types (read-only)

function_tags

function_tags gets a list of all function Tags for the function.

Return type

list(Tag)

function_type

Function type object, can be set with either a string representing the function prototype (str(function) shows examples) or a Type object

global_pointer_value

Discovered value of the global pointer register, if the function uses one (read-only)

has_variable_arguments

Whether the function takes a variable number of arguments

high_level_il

Deprecated property provided for compatibility. Use hlil instead.

highest_address

The highest virtual address contained in a function.

hlil

Function high level IL (read-only)

hlil_if_available

Function high level IL, or None if not loaded (read-only)

indirect_branches

List of indirect branches (read-only)

instructions

A generator of instruction tokens and their start addresses for the current function

lifted_il

returns LowLevelILFunction used to represent lifted IL (read-only)

lifted_il_if_available

returns LowLevelILFunction used to represent lifted IL, or None if not loaded (read-only)

llil

returns LowLevelILFunction used to represent Function low level IL (read-only)

llil_basic_blocks

A generator of all LowLevelILBasicBlock objects in the current function

llil_if_available

returns LowLevelILFunction used to represent Function low level IL, or None if not loaded (read-only)

llil_instructions

Deprecated method provided for compatibility. Use llil.instructions instead. Was: A generator of llil instructions of the current function

low_level_il

Deprecated property provided for compatibility. Use llil instead.

lowest_address

The lowest virtual address contained in a function.

medium_level_il

Deprecated property provided for compatibility. Use mlil instead.

mlil

Function medium level IL (read-only)

mlil_basic_blocks

A generator of all MediumLevelILBasicBlock objects in the current function

mlil_if_available

Function medium level IL, or None if not loaded (read-only)

mlil_instructions

Deprecated method provided for compatibility. Use mlil.instructions instead. Was: A generator of mlil instructions of the current function

name

Symbol name for the function

needs_update

Whether the function has analysis that needs to be updated (read-only)

parameter_vars

List of variables for the incoming function parameters

platform

Function platform (read-only)

reg_stack_adjustments

Number of entries removed from each register stack after return

return_regs

Registers that are used for the return value

return_type

Return type of the function

session_data

Dictionary object where plugins can store arbitrary data associated with the function

stack_adjustment

Number of bytes removed from the stack after return

stack_layout

List of function stack variables (read-only)

start

Function start address (read-only)

symbol

Function symbol(read-only)

too_large

Whether the function is too large to automatically perform analysis (read-only)

total_bytes

Total bytes of a function calculated by summing each basic_block. Because basic blocks can overlap and have gaps between them this may or may not be equivalent to a .size property.

type_tokens

Text tokens for this function’s prototype

unresolved_stack_adjustment_graph

Flow graph of unresolved stack adjustments (read-only)

vars

List of function variables (read-only)

view

Function view (read-only)

class IndirectBranchInfo(source_arch, source_addr, dest_arch, dest_addr, auto_defined)[source]

Bases: object

class InstructionBranch(branch_type, target=0, arch=None)[source]

Bases: object

arch
target
type
class InstructionInfo[source]

Bases: object

add_branch(branch_type, target=0, arch=None)[source]
arch_transition_by_target_addr
branch_delay
branches
length
class InstructionTextToken(token_type, text, value=0, size=0, operand=4294967295, context=<InstructionTextTokenContext.NoTokenContext: 0>, address=0, confidence=255, typeNames=[], width=0)[source]

Bases: object

class InstructionTextToken is used to tell the core about the various components in the disassembly views.

The below table is provided for ducmentation purposes but the complete list of TokenTypes is available at: enums.InstructionTextTokenType. Note that types marked as Not emitted by architectures are not intended to be used by Architectures during lifting. Rather, they are added by the core during analysis or display. UI plugins, however, may make use of them as appropriate.

Uses of tokens include plugins that parse the output of an architecture (though parsing IL is recommended), or additionally, applying color schemes appropriately.

InstructionTextTokenType

Description

AddressDisplayToken

Not emitted by architectures

AnnotationToken

Not emitted by architectures

ArgumentNameToken

Not emitted by architectures

BeginMemoryOperandToken

The start of memory operand

CharacterConstantToken

A printable character

CodeRelativeAddressToken

Not emitted by architectures

CodeSymbolToken

Not emitted by architectures

DataSymbolToken

Not emitted by architectures

EndMemoryOperandToken

The end of a memory operand

ExternalSymbolToken

Not emitted by architectures

FieldNameToken

Not emitted by architectures

FloatingPointToken

Floating point number

HexDumpByteValueToken

Not emitted by architectures

HexDumpInvalidByteToken

Not emitted by architectures

HexDumpSkippedByteToken

Not emitted by architectures

HexDumpTextToken

Not emitted by architectures

ImportToken

Not emitted by architectures

IndirectImportToken

Not emitted by architectures

InstructionToken

The instruction mnemonic

IntegerToken

Integers

KeywordToken

Not emitted by architectures

LocalVariableToken

Not emitted by architectures

NameSpaceSeparatorToken

Not emitted by architectures

NameSpaceToken

Not emitted by architectures

OpcodeToken

Not emitted by architectures

OperandSeparatorToken

The comma or delimiter that separates tokens

PossibleAddressToken

Integers that are likely addresses

RegisterToken

Registers

StringToken

Not emitted by architectures

StructOffsetToken

Not emitted by architectures

TagToken

Not emitted by architectures

TextToken

Used for anything not of another type.

TypeNameToken

Not emitted by architectures

classmethod get_instruction_lines(tokens, count=0)[source]

Helper method for converting between core.BNInstructionTextToken and InstructionTextToken lists

address
confidence
context
operand
size
text
type
typeNames
value
width
class IntrinsicInfo(inputs, outputs, index=None)[source]

Bases: object

index
inputs
outputs
class IntrinsicInput(type_obj, name='')[source]

Bases: object

name
type
class LookupTableEntry(from_values, to_value)[source]

Bases: object

from_values
to_value
class ParameterVariables(var_list, confidence=255)[source]

Bases: object

with_confidence(confidence)[source]
confidence
vars
class PossibleValueSet(arch=None, value=None)[source]

Bases: object

mapping
offset
ranges
reg
table
type
value
values
class RegisterInfo(full_width_reg, size, offset=0, extend=<ImplicitRegisterExtend.NoExtend: 0>, index=None)[source]

Bases: object

extend
full_width_reg
index
offset
size
class RegisterStackInfo(storage_regs, top_relative_regs, stack_top_reg, index=None)[source]

Bases: object

index
stack_top_reg
storage_regs
top_relative_regs
class RegisterValue(arch=None, value=None, confidence=255)[source]

Bases: object

classmethod constant(value)[source]
classmethod constant_ptr(value)[source]
classmethod entry_value(arch, reg)[source]
classmethod imported_address(value)[source]
classmethod return_address()[source]
classmethod stack_frame_offset(offset)[source]
classmethod undetermined()[source]
arch

Architecture where it exists, None otherwise (read-only)

confidence

Confidence where it exists, None otherwise (read-only)

is_constant

Boolean for whether the RegisterValue is known to be constant (read-only)

offset

Offset where it exists, None otherwise (read-only)

reg

Register where the Architecture exists, None otherwise (read-only)

type

RegisterValueType (read-only)

value

Value where it exists, None otherwise (read-only)

class StackVariableReference(src_operand, t, name, var, ref_ofs, size)[source]

Bases: object

name
referenced_offset
size
source_operand
type
var
class ValueRange(start, end, step)[source]

Bases: object

end
start
step
class Variable(func, source_type, index, storage, name=None, var_type=None)[source]

Bases: object

classmethod from_identifier(func, identifier, name=None, var_type=None)[source]
function

Function where the variable is defined

identifier
index
name

Name of the variable

source_type

VariableSourceType

storage

Stack offset for StackVariableSourceType, register index for RegisterVariableSourceType

type