binaryninja.mediumlevelil.MediumLevelILInstruction

class MediumLevelILInstruction(func, expr_index, instr_index=None)[source]

class MediumLevelILInstruction Medium Level Intermediate Language Instructions are infinite length tree-based instructions. Tree-based instructions use infix notation with the left hand operand being the destination operand. Infix notation is thus more natural to read than other notations (e.g. x86 mov eax, 0 vs. MLIL eax = 0).

__init__(func, expr_index, instr_index=None)[source]

Initialize self. See help(type(self)) for accurate signature.

Methods

__init__(func, expr_index[, instr_index])

Initialize self.

get_branch_dependence(branch_instr)

get_flag_value(flag)

get_flag_value_after(flag)

get_possible_flag_values(flag[, options])

get_possible_flag_values_after(flag[, options])

get_possible_reg_values(reg[, options])

get_possible_reg_values_after(reg[, options])

get_possible_stack_contents(offset, size[, …])

get_possible_stack_contents_after(offset, size)

get_possible_values([options])

get_reg_value(reg)

get_reg_value_after(reg)

get_ssa_var_possible_values(ssa_var[, options])

get_ssa_var_version(var)

get_stack_contents(offset, size)

get_stack_contents_after(offset, size)

get_var_for_flag(flag)

get_var_for_reg(reg)

get_var_for_stack_location(offset)

Attributes

ILOperations

address

branch_dependence

Set of branching instructions that must take the true or false path to reach this instruction

expr_index

expr_type

Type of expression

function

high_level_il

High level IL form of this expression

hlil

Alias for high_level_il

hlils

il_basic_block

IL basic block object containing this expression (read-only) (only available on finalized functions)

instr_index

llil

Alias for low_level_il

llils

low_level_il

Low level IL form of this expression

non_ssa_form

Non-SSA form of expression (read-only)

operands

operation

possible_values

Possible values of expression using path-sensitive static data flow analysis (read-only)

postfix_operands

All operands in the expression tree in postfix order

prefix_operands

All operands in the expression tree in prefix order

size

source_operand

ssa_form

SSA form of expression (read-only)

ssa_memory_version

Version of active memory contents in SSA form for this instruction

tokens

MLIL tokens (read-only)

value

Value of expression if constant or a known value (read-only)

vars_read

List of variables read by instruction

vars_written

List of variables written by instruction