binaryninja.mediumlevelil.MediumLevelILInstruction

class binaryninja.mediumlevelil.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]

Methods

__init__(func, expr_index[, instr_index])
get_branch_dependence(branch_instr)
get_flag_value(flag)
get_flag_value_after(flag)
get_possible_flag_values(flag)
get_possible_flag_values_after(flag)
get_possible_reg_values(reg)
get_possible_reg_values_after(reg)
get_possible_stack_contents(offset, size)
get_possible_stack_contents_after(offset, size)
get_reg_value(reg)
get_reg_value_after(reg)
get_ssa_var_possible_values(ssa_var)
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
branch_dependence Set of branching instructions that must take the true or false path to reach this instruction
expr_type Type of expression
low_level_il Low level IL form of this expression
non_ssa_form Non-SSA form of expression (read-only)
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
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