mediumlevelil module

binaryninja.mediumlevelil.Arithmetic()

binaryninja.mediumlevelil.BaseILInstruction()

binaryninja.mediumlevelil.BinaryOperation()

binaryninja.mediumlevelil.Call()

binaryninja.mediumlevelil.Carry()

binaryninja.mediumlevelil.Comparison()

binaryninja.mediumlevelil.Constant()

binaryninja.mediumlevelil.ControlFlow()

binaryninja.mediumlevelil.CoreMediumLevelILInstruction(...)

binaryninja.mediumlevelil.DoublePrecision()

binaryninja.mediumlevelil.FloatingPoint()

binaryninja.mediumlevelil.Intrinsic()

binaryninja.mediumlevelil.Load()

binaryninja.mediumlevelil.Localcall()

binaryninja.mediumlevelil.MediumLevelILAdc(...)

binaryninja.mediumlevelil.MediumLevelILAdd(...)

binaryninja.mediumlevelil.MediumLevelILAddOverflow(...)

binaryninja.mediumlevelil.MediumLevelILAddressOf(...)

binaryninja.mediumlevelil.MediumLevelILAddressOfField(...)

binaryninja.mediumlevelil.MediumLevelILAnd(...)

binaryninja.mediumlevelil.MediumLevelILAsr(...)

binaryninja.mediumlevelil.MediumLevelILBasicBlock(...)

The MediumLevelILBasicBlock object is returned during analysis and should not be directly instantiated.

binaryninja.mediumlevelil.MediumLevelILBinaryBase(...)

binaryninja.mediumlevelil.MediumLevelILBoolToInt(...)

binaryninja.mediumlevelil.MediumLevelILBp(...)

binaryninja.mediumlevelil.MediumLevelILCall(...)

binaryninja.mediumlevelil.MediumLevelILCallBase(...)

binaryninja.mediumlevelil.MediumLevelILCallOutput(...)

binaryninja.mediumlevelil.MediumLevelILCallOutputSsa(...)

binaryninja.mediumlevelil.MediumLevelILCallParam(...)

binaryninja.mediumlevelil.MediumLevelILCallParamSsa(...)

binaryninja.mediumlevelil.MediumLevelILCallSsa(...)

binaryninja.mediumlevelil.MediumLevelILCallUntyped(...)

binaryninja.mediumlevelil.MediumLevelILCallUntypedSsa(...)

binaryninja.mediumlevelil.MediumLevelILCarryBase(...)

binaryninja.mediumlevelil.MediumLevelILCeil(...)

binaryninja.mediumlevelil.MediumLevelILCmpE(...)

binaryninja.mediumlevelil.MediumLevelILCmpNe(...)

binaryninja.mediumlevelil.MediumLevelILCmpSge(...)

binaryninja.mediumlevelil.MediumLevelILCmpSgt(...)

binaryninja.mediumlevelil.MediumLevelILCmpSle(...)

binaryninja.mediumlevelil.MediumLevelILCmpSlt(...)

binaryninja.mediumlevelil.MediumLevelILCmpUge(...)

binaryninja.mediumlevelil.MediumLevelILCmpUgt(...)

binaryninja.mediumlevelil.MediumLevelILCmpUle(...)

binaryninja.mediumlevelil.MediumLevelILCmpUlt(...)

binaryninja.mediumlevelil.MediumLevelILComparisonBase(...)

binaryninja.mediumlevelil.MediumLevelILConst(...)

binaryninja.mediumlevelil.MediumLevelILConstBase(...)

binaryninja.mediumlevelil.MediumLevelILConstPtr(...)

binaryninja.mediumlevelil.MediumLevelILDivs(...)

binaryninja.mediumlevelil.MediumLevelILDivsDp(...)

binaryninja.mediumlevelil.MediumLevelILDivu(...)

binaryninja.mediumlevelil.MediumLevelILDivuDp(...)

binaryninja.mediumlevelil.MediumLevelILExpr(index)

class MediumLevelILExpr hold the index of IL Expressions.

binaryninja.mediumlevelil.MediumLevelILExternPtr(...)

binaryninja.mediumlevelil.MediumLevelILFabs(...)

binaryninja.mediumlevelil.MediumLevelILFadd(...)

binaryninja.mediumlevelil.MediumLevelILFcmpE(...)

binaryninja.mediumlevelil.MediumLevelILFcmpGe(...)

binaryninja.mediumlevelil.MediumLevelILFcmpGt(...)

binaryninja.mediumlevelil.MediumLevelILFcmpLe(...)

binaryninja.mediumlevelil.MediumLevelILFcmpLt(...)

binaryninja.mediumlevelil.MediumLevelILFcmpNe(...)

binaryninja.mediumlevelil.MediumLevelILFcmpO(...)

binaryninja.mediumlevelil.MediumLevelILFcmpUo(...)

binaryninja.mediumlevelil.MediumLevelILFdiv(...)

binaryninja.mediumlevelil.MediumLevelILFloatConst(...)

binaryninja.mediumlevelil.MediumLevelILFloatConv(...)

binaryninja.mediumlevelil.MediumLevelILFloatToInt(...)

binaryninja.mediumlevelil.MediumLevelILFloor(...)

binaryninja.mediumlevelil.MediumLevelILFmul(...)

binaryninja.mediumlevelil.MediumLevelILFneg(...)

binaryninja.mediumlevelil.MediumLevelILFreeVarSlot(...)

binaryninja.mediumlevelil.MediumLevelILFreeVarSlotSsa(...)

binaryninja.mediumlevelil.MediumLevelILFsqrt(...)

binaryninja.mediumlevelil.MediumLevelILFsub(...)

binaryninja.mediumlevelil.MediumLevelILFtrunc(...)

binaryninja.mediumlevelil.MediumLevelILFunction([...])

class MediumLevelILFunction contains the list of ExpressionIndex objects that make up a function.

binaryninja.mediumlevelil.MediumLevelILGoto(...)

binaryninja.mediumlevelil.MediumLevelILIf(...)

binaryninja.mediumlevelil.MediumLevelILImport(...)

binaryninja.mediumlevelil.MediumLevelILInstruction(...)

class MediumLevelILInstruction Medium Level Intermediate Language Instructions are infinite length tree-based instructions.

binaryninja.mediumlevelil.MediumLevelILIntToFloat(...)

binaryninja.mediumlevelil.MediumLevelILIntrinsic(...)

binaryninja.mediumlevelil.MediumLevelILIntrinsicSsa(...)

binaryninja.mediumlevelil.MediumLevelILJump(...)

binaryninja.mediumlevelil.MediumLevelILJumpTo(...)

binaryninja.mediumlevelil.MediumLevelILLabel([...])

binaryninja.mediumlevelil.MediumLevelILLoad(...)

binaryninja.mediumlevelil.MediumLevelILLoadSsa(...)

binaryninja.mediumlevelil.MediumLevelILLoadStruct(...)

binaryninja.mediumlevelil.MediumLevelILLoadStructSsa(...)

binaryninja.mediumlevelil.MediumLevelILLowPart(...)

binaryninja.mediumlevelil.MediumLevelILLsl(...)

binaryninja.mediumlevelil.MediumLevelILLsr(...)

binaryninja.mediumlevelil.MediumLevelILMemPhi(...)

binaryninja.mediumlevelil.MediumLevelILMods(...)

binaryninja.mediumlevelil.MediumLevelILModsDp(...)

binaryninja.mediumlevelil.MediumLevelILModu(...)

binaryninja.mediumlevelil.MediumLevelILModuDp(...)

binaryninja.mediumlevelil.MediumLevelILMul(...)

binaryninja.mediumlevelil.MediumLevelILMulsDp(...)

binaryninja.mediumlevelil.MediumLevelILMuluDp(...)

binaryninja.mediumlevelil.MediumLevelILNeg(...)

binaryninja.mediumlevelil.MediumLevelILNop(...)

binaryninja.mediumlevelil.MediumLevelILNoret(...)

binaryninja.mediumlevelil.MediumLevelILNot(...)

binaryninja.mediumlevelil.MediumLevelILOperationAndSize(...)

binaryninja.mediumlevelil.MediumLevelILOr(...)

binaryninja.mediumlevelil.MediumLevelILRet(...)

binaryninja.mediumlevelil.MediumLevelILRetHint(...)

binaryninja.mediumlevelil.MediumLevelILRlc(...)

binaryninja.mediumlevelil.MediumLevelILRol(...)

binaryninja.mediumlevelil.MediumLevelILRor(...)

binaryninja.mediumlevelil.MediumLevelILRoundToInt(...)

binaryninja.mediumlevelil.MediumLevelILRrc(...)

binaryninja.mediumlevelil.MediumLevelILSbb(...)

binaryninja.mediumlevelil.MediumLevelILSetVar(...)

binaryninja.mediumlevelil.MediumLevelILSetVarAliased(...)

binaryninja.mediumlevelil.MediumLevelILSetVarAliasedField(...)

binaryninja.mediumlevelil.MediumLevelILSetVarField(...)

binaryninja.mediumlevelil.MediumLevelILSetVarSplit(...)

binaryninja.mediumlevelil.MediumLevelILSetVarSplitSsa(...)

binaryninja.mediumlevelil.MediumLevelILSetVarSsa(...)

binaryninja.mediumlevelil.MediumLevelILSetVarSsaField(...)

binaryninja.mediumlevelil.MediumLevelILStore(...)

binaryninja.mediumlevelil.MediumLevelILStoreSsa(...)

binaryninja.mediumlevelil.MediumLevelILStoreStruct(...)

binaryninja.mediumlevelil.MediumLevelILStoreStructSsa(...)

binaryninja.mediumlevelil.MediumLevelILSub(...)

binaryninja.mediumlevelil.MediumLevelILSx(...)

binaryninja.mediumlevelil.MediumLevelILSyscall(...)

binaryninja.mediumlevelil.MediumLevelILSyscallSsa(...)

binaryninja.mediumlevelil.MediumLevelILSyscallUntyped(...)

binaryninja.mediumlevelil.MediumLevelILSyscallUntypedSsa(...)

binaryninja.mediumlevelil.MediumLevelILTailcall(...)

binaryninja.mediumlevelil.MediumLevelILTailcallSsa(...)

binaryninja.mediumlevelil.MediumLevelILTailcallUntyped(...)

binaryninja.mediumlevelil.MediumLevelILTailcallUntypedSsa(...)

binaryninja.mediumlevelil.MediumLevelILTestBit(...)

binaryninja.mediumlevelil.MediumLevelILTrap(...)

binaryninja.mediumlevelil.MediumLevelILUnaryBase(...)

binaryninja.mediumlevelil.MediumLevelILUndef(...)

binaryninja.mediumlevelil.MediumLevelILUnimpl(...)

binaryninja.mediumlevelil.MediumLevelILUnimplMem(...)

binaryninja.mediumlevelil.MediumLevelILVar(...)

binaryninja.mediumlevelil.MediumLevelILVarAliased(...)

binaryninja.mediumlevelil.MediumLevelILVarAliasedField(...)

binaryninja.mediumlevelil.MediumLevelILVarField(...)

binaryninja.mediumlevelil.MediumLevelILVarPhi(...)

binaryninja.mediumlevelil.MediumLevelILVarSplit(...)

binaryninja.mediumlevelil.MediumLevelILVarSplitSsa(...)

binaryninja.mediumlevelil.MediumLevelILVarSsa(...)

binaryninja.mediumlevelil.MediumLevelILVarSsaField(...)

binaryninja.mediumlevelil.MediumLevelILXor(...)

binaryninja.mediumlevelil.MediumLevelILZx(...)

binaryninja.mediumlevelil.Memory()

binaryninja.mediumlevelil.Phi()

binaryninja.mediumlevelil.RegisterStack()

binaryninja.mediumlevelil.Return()

binaryninja.mediumlevelil.SSA()

binaryninja.mediumlevelil.SSAVariable(var, ...)

binaryninja.mediumlevelil.SetVar()

binaryninja.mediumlevelil.Signed()

binaryninja.mediumlevelil.Store()

binaryninja.mediumlevelil.Syscall()

binaryninja.mediumlevelil.Tailcall()

binaryninja.mediumlevelil.Terminal()

binaryninja.mediumlevelil.UnaryOperation()

class CoreMediumLevelILInstruction(operation: MediumLevelILOperation, source_operand: int, size: int, operands: Tuple[ExpressionIndex, ExpressionIndex, ExpressionIndex, ExpressionIndex, ExpressionIndex], address: int)[source]

Bases: object

Parameters
  • operation (MediumLevelILOperation) –

  • source_operand (int) –

  • size (int) –

  • operands (Tuple[ExpressionIndex, ExpressionIndex, ExpressionIndex, ExpressionIndex, ExpressionIndex]) –

  • address (int) –

Return type

None

classmethod from_BNMediumLevelILInstruction(instr: binaryninja._binaryninjacore.BNMediumLevelILInstruction) CoreMediumLevelILInstruction[source]
Parameters

instr (binaryninja._binaryninjacore.BNMediumLevelILInstruction) –

Return type

CoreMediumLevelILInstruction

address: int
operands: Tuple[ExpressionIndex, ExpressionIndex, ExpressionIndex, ExpressionIndex, ExpressionIndex]
operation: MediumLevelILOperation
size: int
source_operand: int
class MediumLevelILAdc(function: 'MediumLevelILFunction', expr_index: <function NewType.<locals>.new_type at 0x7ff093f00b80>, instr: binaryninja.mediumlevelil.CoreMediumLevelILInstruction, instr_index: <function NewType.<locals>.new_type at 0x7ff093f8a310>)[source]

Bases: binaryninja.mediumlevelil.MediumLevelILCarryBase

Parameters
Return type

None

expr_index: ExpressionIndex
function: MediumLevelILFunction
instr: CoreMediumLevelILInstruction
instr_index: InstructionIndex
class MediumLevelILAdd(function: 'MediumLevelILFunction', expr_index: <function NewType.<locals>.new_type at 0x7ff093f00b80>, instr: binaryninja.mediumlevelil.CoreMediumLevelILInstruction, instr_index: <function NewType.<locals>.new_type at 0x7ff093f8a310>)[source]

Bases: binaryninja.mediumlevelil.MediumLevelILBinaryBase, binaryninja.commonil.Arithmetic

Parameters
Return type

None

expr_index: ExpressionIndex
function: MediumLevelILFunction
instr: CoreMediumLevelILInstruction
instr_index: InstructionIndex
class MediumLevelILAddOverflow(function: 'MediumLevelILFunction', expr_index: <function NewType.<locals>.new_type at 0x7ff093f00b80>, instr: binaryninja.mediumlevelil.CoreMediumLevelILInstruction, instr_index: <function NewType.<locals>.new_type at 0x7ff093f8a310>)[source]

Bases: binaryninja.mediumlevelil.MediumLevelILBinaryBase, binaryninja.commonil.Arithmetic

Parameters
Return type

None

expr_index: ExpressionIndex
function: MediumLevelILFunction
instr: CoreMediumLevelILInstruction
instr_index: InstructionIndex
class MediumLevelILAddressOf(function: 'MediumLevelILFunction', expr_index: <function NewType.<locals>.new_type at 0x7ff093f00b80>, instr: binaryninja.mediumlevelil.CoreMediumLevelILInstruction, instr_index: <function NewType.<locals>.new_type at 0x7ff093f8a310>)[source]

Bases: binaryninja.mediumlevelil.MediumLevelILInstruction

Parameters
Return type

None

expr_index: ExpressionIndex
function: MediumLevelILFunction
instr: CoreMediumLevelILInstruction
instr_index: InstructionIndex
property operands: List[Variable]

Operands for the instruction

property src: Variable
property vars_address_taken: List[Variable]

Non-unique list of variables whose address is taken by instruction

class MediumLevelILAddressOfField(function: 'MediumLevelILFunction', expr_index: <function NewType.<locals>.new_type at 0x7ff093f00b80>, instr: binaryninja.mediumlevelil.CoreMediumLevelILInstruction, instr_index: <function NewType.<locals>.new_type at 0x7ff093f8a310>)[source]

Bases: binaryninja.mediumlevelil.MediumLevelILInstruction

Parameters
Return type

None

expr_index: ExpressionIndex
function: MediumLevelILFunction
instr: CoreMediumLevelILInstruction
instr_index: InstructionIndex
property offset: int
property operands: List[Union[int, float, MediumLevelILOperationAndSize, MediumLevelILInstruction, ILIntrinsic, Variable, SSAVariable, List[int], List[Variable], List[SSAVariable], List[MediumLevelILInstruction], Mapping[int, int]]]

Operands for the instruction

property src: Variable
class MediumLevelILAnd(function: 'MediumLevelILFunction', expr_index: <function NewType.<locals>.new_type at 0x7ff093f00b80>, instr: binaryninja.mediumlevelil.CoreMediumLevelILInstruction, instr_index: <function NewType.<locals>.new_type at 0x7ff093f8a310>)[source]

Bases: binaryninja.mediumlevelil.MediumLevelILBinaryBase, binaryninja.commonil.Arithmetic

Parameters
Return type

None

expr_index: ExpressionIndex
function: MediumLevelILFunction
instr: CoreMediumLevelILInstruction
instr_index: InstructionIndex
class MediumLevelILAsr(function: 'MediumLevelILFunction', expr_index: <function NewType.<locals>.new_type at 0x7ff093f00b80>, instr: binaryninja.mediumlevelil.CoreMediumLevelILInstruction, instr_index: <function NewType.<locals>.new_type at 0x7ff093f8a310>)[source]

Bases: binaryninja.mediumlevelil.MediumLevelILBinaryBase, binaryninja.commonil.Arithmetic

Parameters
Return type

None

expr_index: ExpressionIndex
function: MediumLevelILFunction
instr: CoreMediumLevelILInstruction
instr_index: InstructionIndex
class MediumLevelILBasicBlock(handle: binaryninja._binaryninjacore.LP_BNBasicBlock, owner: MediumLevelILFunction, view: Optional[BinaryView] = None)[source]

Bases: binaryninja.basicblock.BasicBlock

The MediumLevelILBasicBlock object is returned during analysis and should not be directly instantiated.

Parameters
property il_function: MediumLevelILFunction
property instruction_count: int
class MediumLevelILBinaryBase(function: 'MediumLevelILFunction', expr_index: <function NewType.<locals>.new_type at 0x7ff093f00b80>, instr: binaryninja.mediumlevelil.CoreMediumLevelILInstruction, instr_index: <function NewType.<locals>.new_type at 0x7ff093f8a310>)[source]

Bases: binaryninja.mediumlevelil.MediumLevelILInstruction, binaryninja.commonil.BinaryOperation

Parameters
Return type

None

expr_index: ExpressionIndex
function: MediumLevelILFunction
instr: CoreMediumLevelILInstruction
instr_index: InstructionIndex
property left: MediumLevelILInstruction
property operands: List[MediumLevelILInstruction]

Operands for the instruction

property right: MediumLevelILInstruction
class MediumLevelILBoolToInt(function: 'MediumLevelILFunction', expr_index: <function NewType.<locals>.new_type at 0x7ff093f00b80>, instr: binaryninja.mediumlevelil.CoreMediumLevelILInstruction, instr_index: <function NewType.<locals>.new_type at 0x7ff093f8a310>)[source]

Bases: binaryninja.mediumlevelil.MediumLevelILInstruction

Parameters
Return type

None

expr_index: ExpressionIndex
function: MediumLevelILFunction
instr: CoreMediumLevelILInstruction
instr_index: InstructionIndex
property operands: List[MediumLevelILInstruction]

Operands for the instruction

property src: MediumLevelILInstruction
class MediumLevelILBp(function: 'MediumLevelILFunction', expr_index: <function NewType.<locals>.new_type at 0x7ff093f00b80>, instr: binaryninja.mediumlevelil.CoreMediumLevelILInstruction, instr_index: <function NewType.<locals>.new_type at 0x7ff093f8a310>)[source]

Bases: binaryninja.mediumlevelil.MediumLevelILInstruction, binaryninja.commonil.Terminal

Parameters
Return type

None

expr_index: ExpressionIndex
function: MediumLevelILFunction
instr: CoreMediumLevelILInstruction
instr_index: InstructionIndex
class MediumLevelILCall(function: 'MediumLevelILFunction', expr_index: <function NewType.<locals>.new_type at 0x7ff093f00b80>, instr: binaryninja.mediumlevelil.CoreMediumLevelILInstruction, instr_index: <function NewType.<locals>.new_type at 0x7ff093f8a310>)[source]

Bases: binaryninja.mediumlevelil.MediumLevelILCallBase, binaryninja.commonil.Localcall

Parameters
Return type

None

property dest: MediumLevelILInstruction
expr_index: ExpressionIndex
function: MediumLevelILFunction
instr: CoreMediumLevelILInstruction
instr_index: InstructionIndex
property operands: List[Union[int, float, MediumLevelILOperationAndSize, MediumLevelILInstruction, ILIntrinsic, Variable, SSAVariable, List[int], List[Variable], List[SSAVariable], List[MediumLevelILInstruction], Mapping[int, int]]]

Operands for the instruction

property output: List[Variable]
property params: List[MediumLevelILInstruction]
class MediumLevelILCallBase(function: 'MediumLevelILFunction', expr_index: <function NewType.<locals>.new_type at 0x7ff093f00b80>, instr: binaryninja.mediumlevelil.CoreMediumLevelILInstruction, instr_index: <function NewType.<locals>.new_type at 0x7ff093f8a310>)[source]

Bases: binaryninja.mediumlevelil.MediumLevelILInstruction, binaryninja.commonil.Call

Parameters
Return type

None

expr_index: ExpressionIndex
function: MediumLevelILFunction
instr: CoreMediumLevelILInstruction
instr_index: InstructionIndex
property output: List[Union[Variable, SSAVariable]]
property params: List[Union[SSAVariable, Variable, MediumLevelILInstruction]]
property vars_read: List[Union[Variable, SSAVariable]]

List of variables read by instruction

property vars_written: List[Union[Variable, SSAVariable]]

List of variables written by instruction

class MediumLevelILCallOutput(function: 'MediumLevelILFunction', expr_index: <function NewType.<locals>.new_type at 0x7ff093f00b80>, instr: binaryninja.mediumlevelil.CoreMediumLevelILInstruction, instr_index: <function NewType.<locals>.new_type at 0x7ff093f8a310>)[source]

Bases: binaryninja.mediumlevelil.MediumLevelILInstruction

Parameters
Return type

None

property dest: List[Variable]
expr_index: ExpressionIndex
function: MediumLevelILFunction
instr: CoreMediumLevelILInstruction
instr_index: InstructionIndex
property operands: List[Variable]

Operands for the instruction

property vars_written: List[Variable]

List of variables written by instruction

class MediumLevelILCallOutputSsa(function: 'MediumLevelILFunction', expr_index: <function NewType.<locals>.new_type at 0x7ff093f00b80>, instr: binaryninja.mediumlevelil.CoreMediumLevelILInstruction, instr_index: <function NewType.<locals>.new_type at 0x7ff093f8a310>)[source]

Bases: binaryninja.mediumlevelil.MediumLevelILInstruction, binaryninja.commonil.SSA

Parameters
Return type

None

property dest: List[SSAVariable]
property dest_memory: int
expr_index: ExpressionIndex
function: MediumLevelILFunction
instr: CoreMediumLevelILInstruction
instr_index: InstructionIndex
property operands: List[Union[int, float, MediumLevelILOperationAndSize, MediumLevelILInstruction, ILIntrinsic, Variable, SSAVariable, List[int], List[Variable], List[SSAVariable], List[MediumLevelILInstruction], Mapping[int, int]]]

Operands for the instruction

property vars_written: List[SSAVariable]

List of variables written by instruction

class MediumLevelILCallParam(function: 'MediumLevelILFunction', expr_index: <function NewType.<locals>.new_type at 0x7ff093f00b80>, instr: binaryninja.mediumlevelil.CoreMediumLevelILInstruction, instr_index: <function NewType.<locals>.new_type at 0x7ff093f8a310>)[source]

Bases: binaryninja.mediumlevelil.MediumLevelILInstruction

Parameters
Return type

None

expr_index: ExpressionIndex
function: MediumLevelILFunction
instr: CoreMediumLevelILInstruction
instr_index: InstructionIndex
property operands: List[Variable]

Operands for the instruction

property src: List[Variable]
class MediumLevelILCallParamSsa(function: 'MediumLevelILFunction', expr_index: <function NewType.<locals>.new_type at 0x7ff093f00b80>, instr: binaryninja.mediumlevelil.CoreMediumLevelILInstruction, instr_index: <function NewType.<locals>.new_type at 0x7ff093f8a310>)[source]

Bases: binaryninja.mediumlevelil.MediumLevelILInstruction, binaryninja.commonil.SSA

Parameters
Return type

None

expr_index: ExpressionIndex
function: MediumLevelILFunction
instr: CoreMediumLevelILInstruction
instr_index: InstructionIndex
property operands: List[Union[int, float, MediumLevelILOperationAndSize, MediumLevelILInstruction, ILIntrinsic, Variable, SSAVariable, List[int], List[Variable], List[SSAVariable], List[MediumLevelILInstruction], Mapping[int, int]]]

Operands for the instruction

property src: List[SSAVariable]
property src_memory: int
class MediumLevelILCallSsa(function: 'MediumLevelILFunction', expr_index: <function NewType.<locals>.new_type at 0x7ff093f00b80>, instr: binaryninja.mediumlevelil.CoreMediumLevelILInstruction, instr_index: <function NewType.<locals>.new_type at 0x7ff093f8a310>)[source]

Bases: binaryninja.mediumlevelil.MediumLevelILCallBase, binaryninja.commonil.Localcall, binaryninja.commonil.SSA

Parameters
Return type

None

property dest: MediumLevelILInstruction
expr_index: ExpressionIndex
function: MediumLevelILFunction
instr: CoreMediumLevelILInstruction
instr_index: InstructionIndex
property operands: List[Union[int, float, MediumLevelILOperationAndSize, MediumLevelILInstruction, ILIntrinsic, Variable, SSAVariable, List[int], List[Variable], List[SSAVariable], List[MediumLevelILInstruction], Mapping[int, int]]]

Operands for the instruction

property output: List[SSAVariable]
property output_dest_memory: int
property params: List[MediumLevelILInstruction]
property src_memory: int
class MediumLevelILCallUntyped(function: 'MediumLevelILFunction', expr_index: <function NewType.<locals>.new_type at 0x7ff093f00b80>, instr: binaryninja.mediumlevelil.CoreMediumLevelILInstruction, instr_index: <function NewType.<locals>.new_type at 0x7ff093f8a310>)[source]

Bases: binaryninja.mediumlevelil.MediumLevelILCallBase, binaryninja.commonil.Localcall

Parameters
Return type

None

property dest: MediumLevelILInstruction
expr_index: ExpressionIndex
function: MediumLevelILFunction
instr: CoreMediumLevelILInstruction
instr_index: InstructionIndex
property operands: List[Union[int, float, MediumLevelILOperationAndSize, MediumLevelILInstruction, ILIntrinsic, Variable, SSAVariable, List[int], List[Variable], List[SSAVariable], List[MediumLevelILInstruction], Mapping[int, int]]]

Operands for the instruction

property output: List[Variable]
property params: List[Variable]
property stack: MediumLevelILInstruction
class MediumLevelILCallUntypedSsa(function: 'MediumLevelILFunction', expr_index: <function NewType.<locals>.new_type at 0x7ff093f00b80>, instr: binaryninja.mediumlevelil.CoreMediumLevelILInstruction, instr_index: <function NewType.<locals>.new_type at 0x7ff093f8a310>)[source]

Bases: binaryninja.mediumlevelil.MediumLevelILCallBase, binaryninja.commonil.Localcall, binaryninja.commonil.SSA

Parameters
Return type

None

property dest: MediumLevelILInstruction
expr_index: ExpressionIndex
function: MediumLevelILFunction
instr: CoreMediumLevelILInstruction
instr_index: InstructionIndex
property operands: List[Union[int, float, MediumLevelILOperationAndSize, MediumLevelILInstruction, ILIntrinsic, Variable, SSAVariable, List[int], List[Variable], List[SSAVariable], List[MediumLevelILInstruction], Mapping[int, int]]]

Operands for the instruction

property output: List[SSAVariable]
property output_dest_memory: int
property params: List[SSAVariable]
property params_src_memory
property stack: MediumLevelILInstruction
class MediumLevelILCarryBase(function: 'MediumLevelILFunction', expr_index: <function NewType.<locals>.new_type at 0x7ff093f00b80>, instr: binaryninja.mediumlevelil.CoreMediumLevelILInstruction, instr_index: <function NewType.<locals>.new_type at 0x7ff093f8a310>)[source]

Bases: binaryninja.mediumlevelil.MediumLevelILInstruction, binaryninja.commonil.Carry

Parameters
Return type

None

property carry: MediumLevelILInstruction
expr_index: ExpressionIndex
function: MediumLevelILFunction
instr: CoreMediumLevelILInstruction
instr_index: InstructionIndex
property left: MediumLevelILInstruction
property operands: List[MediumLevelILInstruction]

Operands for the instruction

property right: MediumLevelILInstruction
class MediumLevelILCeil(function: 'MediumLevelILFunction', expr_index: <function NewType.<locals>.new_type at 0x7ff093f00b80>, instr: binaryninja.mediumlevelil.CoreMediumLevelILInstruction, instr_index: <function NewType.<locals>.new_type at 0x7ff093f8a310>)[source]

Bases: binaryninja.mediumlevelil.MediumLevelILUnaryBase, binaryninja.commonil.Arithmetic, binaryninja.commonil.FloatingPoint

Parameters
Return type

None

expr_index: ExpressionIndex
function: MediumLevelILFunction
instr: CoreMediumLevelILInstruction
instr_index: InstructionIndex
class MediumLevelILCmpE(function: 'MediumLevelILFunction', expr_index: <function NewType.<locals>.new_type at 0x7ff093f00b80>, instr: binaryninja.mediumlevelil.CoreMediumLevelILInstruction, instr_index: <function NewType.<locals>.new_type at 0x7ff093f8a310>)[source]

Bases: binaryninja.mediumlevelil.MediumLevelILComparisonBase

Parameters
Return type

None

expr_index: ExpressionIndex
function: MediumLevelILFunction
instr: CoreMediumLevelILInstruction
instr_index: InstructionIndex
class MediumLevelILCmpNe(function: 'MediumLevelILFunction', expr_index: <function NewType.<locals>.new_type at 0x7ff093f00b80>, instr: binaryninja.mediumlevelil.CoreMediumLevelILInstruction, instr_index: <function NewType.<locals>.new_type at 0x7ff093f8a310>)[source]

Bases: binaryninja.mediumlevelil.MediumLevelILComparisonBase

Parameters
Return type

None

expr_index: ExpressionIndex
function: MediumLevelILFunction
instr: CoreMediumLevelILInstruction
instr_index: InstructionIndex
class MediumLevelILCmpSge(function: 'MediumLevelILFunction', expr_index: <function NewType.<locals>.new_type at 0x7ff093f00b80>, instr: binaryninja.mediumlevelil.CoreMediumLevelILInstruction, instr_index: <function NewType.<locals>.new_type at 0x7ff093f8a310>)[source]

Bases: binaryninja.mediumlevelil.MediumLevelILComparisonBase, binaryninja.commonil.Signed

Parameters
Return type

None

expr_index: ExpressionIndex
function: MediumLevelILFunction
instr: CoreMediumLevelILInstruction
instr_index: InstructionIndex
class MediumLevelILCmpSgt(function: 'MediumLevelILFunction', expr_index: <function NewType.<locals>.new_type at 0x7ff093f00b80>, instr: binaryninja.mediumlevelil.CoreMediumLevelILInstruction, instr_index: <function NewType.<locals>.new_type at 0x7ff093f8a310>)[source]

Bases: binaryninja.mediumlevelil.MediumLevelILComparisonBase, binaryninja.commonil.Signed

Parameters
Return type

None

expr_index: ExpressionIndex
function: MediumLevelILFunction
instr: CoreMediumLevelILInstruction
instr_index: InstructionIndex
class MediumLevelILCmpSle(function: 'MediumLevelILFunction', expr_index: <function NewType.<locals>.new_type at 0x7ff093f00b80>, instr: binaryninja.mediumlevelil.CoreMediumLevelILInstruction, instr_index: <function NewType.<locals>.new_type at 0x7ff093f8a310>)[source]

Bases: binaryninja.mediumlevelil.MediumLevelILComparisonBase, binaryninja.commonil.Signed

Parameters
Return type

None

expr_index: ExpressionIndex
function: MediumLevelILFunction
instr: CoreMediumLevelILInstruction
instr_index: InstructionIndex
class MediumLevelILCmpSlt(function: 'MediumLevelILFunction', expr_index: <function NewType.<locals>.new_type at 0x7ff093f00b80>, instr: binaryninja.mediumlevelil.CoreMediumLevelILInstruction, instr_index: <function NewType.<locals>.new_type at 0x7ff093f8a310>)[source]

Bases: binaryninja.mediumlevelil.MediumLevelILComparisonBase, binaryninja.commonil.Signed

Parameters
Return type

None

expr_index: ExpressionIndex
function: MediumLevelILFunction
instr: CoreMediumLevelILInstruction
instr_index: InstructionIndex
class MediumLevelILCmpUge(function: 'MediumLevelILFunction', expr_index: <function NewType.<locals>.new_type at 0x7ff093f00b80>, instr: binaryninja.mediumlevelil.CoreMediumLevelILInstruction, instr_index: <function NewType.<locals>.new_type at 0x7ff093f8a310>)[source]

Bases: binaryninja.mediumlevelil.MediumLevelILComparisonBase

Parameters
Return type

None

expr_index: ExpressionIndex
function: MediumLevelILFunction
instr: CoreMediumLevelILInstruction
instr_index: InstructionIndex
class MediumLevelILCmpUgt(function: 'MediumLevelILFunction', expr_index: <function NewType.<locals>.new_type at 0x7ff093f00b80>, instr: binaryninja.mediumlevelil.CoreMediumLevelILInstruction, instr_index: <function NewType.<locals>.new_type at 0x7ff093f8a310>)[source]

Bases: binaryninja.mediumlevelil.MediumLevelILComparisonBase

Parameters
Return type

None

expr_index: ExpressionIndex
function: MediumLevelILFunction
instr: CoreMediumLevelILInstruction
instr_index: InstructionIndex
class MediumLevelILCmpUle(function: 'MediumLevelILFunction', expr_index: <function NewType.<locals>.new_type at 0x7ff093f00b80>, instr: binaryninja.mediumlevelil.CoreMediumLevelILInstruction, instr_index: <function NewType.<locals>.new_type at 0x7ff093f8a310>)[source]

Bases: binaryninja.mediumlevelil.MediumLevelILComparisonBase

Parameters
Return type

None

expr_index: ExpressionIndex
function: MediumLevelILFunction
instr: CoreMediumLevelILInstruction
instr_index: InstructionIndex
class MediumLevelILCmpUlt(function: 'MediumLevelILFunction', expr_index: <function NewType.<locals>.new_type at 0x7ff093f00b80>, instr: binaryninja.mediumlevelil.CoreMediumLevelILInstruction, instr_index: <function NewType.<locals>.new_type at 0x7ff093f8a310>)[source]

Bases: binaryninja.mediumlevelil.MediumLevelILComparisonBase

Parameters
Return type

None

expr_index: ExpressionIndex
function: MediumLevelILFunction
instr: CoreMediumLevelILInstruction
instr_index: InstructionIndex
class MediumLevelILComparisonBase(function: 'MediumLevelILFunction', expr_index: <function NewType.<locals>.new_type at 0x7ff093f00b80>, instr: binaryninja.mediumlevelil.CoreMediumLevelILInstruction, instr_index: <function NewType.<locals>.new_type at 0x7ff093f8a310>)[source]

Bases: binaryninja.mediumlevelil.MediumLevelILBinaryBase, binaryninja.commonil.Comparison

Parameters
Return type

None

expr_index: ExpressionIndex
function: MediumLevelILFunction
instr: CoreMediumLevelILInstruction
instr_index: InstructionIndex
class MediumLevelILConst(function: 'MediumLevelILFunction', expr_index: <function NewType.<locals>.new_type at 0x7ff093f00b80>, instr: binaryninja.mediumlevelil.CoreMediumLevelILInstruction, instr_index: <function NewType.<locals>.new_type at 0x7ff093f8a310>)[source]

Bases: binaryninja.mediumlevelil.MediumLevelILConstBase

Parameters
Return type

None

property constant: int
expr_index: ExpressionIndex
function: MediumLevelILFunction
instr: CoreMediumLevelILInstruction
instr_index: InstructionIndex
property operands: List[int]

Operands for the instruction

class MediumLevelILConstBase(function: 'MediumLevelILFunction', expr_index: <function NewType.<locals>.new_type at 0x7ff093f00b80>, instr: binaryninja.mediumlevelil.CoreMediumLevelILInstruction, instr_index: <function NewType.<locals>.new_type at 0x7ff093f8a310>)[source]

Bases: binaryninja.mediumlevelil.MediumLevelILInstruction, binaryninja.commonil.Constant

Parameters
Return type

None

expr_index: ExpressionIndex
function: MediumLevelILFunction
instr: CoreMediumLevelILInstruction
instr_index: InstructionIndex
class MediumLevelILConstPtr(function: 'MediumLevelILFunction', expr_index: <function NewType.<locals>.new_type at 0x7ff093f00b80>, instr: binaryninja.mediumlevelil.CoreMediumLevelILInstruction, instr_index: <function NewType.<locals>.new_type at 0x7ff093f8a310>)[source]

Bases: binaryninja.mediumlevelil.MediumLevelILConstBase

Parameters
Return type

None

property constant: int
expr_index: ExpressionIndex
function: MediumLevelILFunction
instr: CoreMediumLevelILInstruction
instr_index: InstructionIndex
property operands: List[int]

Operands for the instruction

class MediumLevelILDivs(function: 'MediumLevelILFunction', expr_index: <function NewType.<locals>.new_type at 0x7ff093f00b80>, instr: binaryninja.mediumlevelil.CoreMediumLevelILInstruction, instr_index: <function NewType.<locals>.new_type at 0x7ff093f8a310>)[source]

Bases: binaryninja.mediumlevelil.MediumLevelILBinaryBase, binaryninja.commonil.Arithmetic, binaryninja.commonil.Signed

Parameters
Return type

None

expr_index: ExpressionIndex
function: MediumLevelILFunction
instr: CoreMediumLevelILInstruction
instr_index: InstructionIndex
class MediumLevelILDivsDp(function: 'MediumLevelILFunction', expr_index: <function NewType.<locals>.new_type at 0x7ff093f00b80>, instr: binaryninja.mediumlevelil.CoreMediumLevelILInstruction, instr_index: <function NewType.<locals>.new_type at 0x7ff093f8a310>)[source]

Bases: binaryninja.mediumlevelil.MediumLevelILBinaryBase, binaryninja.commonil.DoublePrecision, binaryninja.commonil.Signed

Parameters
Return type

None

expr_index: ExpressionIndex
function: MediumLevelILFunction
instr: CoreMediumLevelILInstruction
instr_index: InstructionIndex
class MediumLevelILDivu(function: 'MediumLevelILFunction', expr_index: <function NewType.<locals>.new_type at 0x7ff093f00b80>, instr: binaryninja.mediumlevelil.CoreMediumLevelILInstruction, instr_index: <function NewType.<locals>.new_type at 0x7ff093f8a310>)[source]

Bases: binaryninja.mediumlevelil.MediumLevelILBinaryBase, binaryninja.commonil.Arithmetic

Parameters
Return type

None

expr_index: ExpressionIndex
function: MediumLevelILFunction
instr: CoreMediumLevelILInstruction
instr_index: InstructionIndex
class MediumLevelILDivuDp(function: 'MediumLevelILFunction', expr_index: <function NewType.<locals>.new_type at 0x7ff093f00b80>, instr: binaryninja.mediumlevelil.CoreMediumLevelILInstruction, instr_index: <function NewType.<locals>.new_type at 0x7ff093f8a310>)[source]

Bases: binaryninja.mediumlevelil.MediumLevelILBinaryBase, binaryninja.commonil.DoublePrecision

Parameters
Return type

None

expr_index: ExpressionIndex
function: MediumLevelILFunction
instr: CoreMediumLevelILInstruction
instr_index: InstructionIndex
class MediumLevelILExpr(index)[source]

Bases: object

class MediumLevelILExpr hold the index of IL Expressions.

Note

Deprecated. Use ExpressionIndex instead

property index
class MediumLevelILExternPtr(function: 'MediumLevelILFunction', expr_index: <function NewType.<locals>.new_type at 0x7ff093f00b80>, instr: binaryninja.mediumlevelil.CoreMediumLevelILInstruction, instr_index: <function NewType.<locals>.new_type at 0x7ff093f8a310>)[source]

Bases: binaryninja.mediumlevelil.MediumLevelILConstBase

Parameters
Return type

None

property constant: int
expr_index: ExpressionIndex
function: MediumLevelILFunction
instr: CoreMediumLevelILInstruction
instr_index: InstructionIndex
property offset: int
property operands: List[int]

Operands for the instruction

class MediumLevelILFabs(function: 'MediumLevelILFunction', expr_index: <function NewType.<locals>.new_type at 0x7ff093f00b80>, instr: binaryninja.mediumlevelil.CoreMediumLevelILInstruction, instr_index: <function NewType.<locals>.new_type at 0x7ff093f8a310>)[source]

Bases: binaryninja.mediumlevelil.MediumLevelILUnaryBase, binaryninja.commonil.Arithmetic, binaryninja.commonil.FloatingPoint

Parameters
Return type

None

expr_index: ExpressionIndex
function: MediumLevelILFunction
instr: CoreMediumLevelILInstruction
instr_index: InstructionIndex
class MediumLevelILFadd(function: 'MediumLevelILFunction', expr_index: <function NewType.<locals>.new_type at 0x7ff093f00b80>, instr: binaryninja.mediumlevelil.CoreMediumLevelILInstruction, instr_index: <function NewType.<locals>.new_type at 0x7ff093f8a310>)[source]

Bases: binaryninja.mediumlevelil.MediumLevelILBinaryBase, binaryninja.commonil.Arithmetic, binaryninja.commonil.FloatingPoint

Parameters
Return type

None

expr_index: ExpressionIndex
function: MediumLevelILFunction
instr: CoreMediumLevelILInstruction
instr_index: InstructionIndex
class MediumLevelILFcmpE(function: 'MediumLevelILFunction', expr_index: <function NewType.<locals>.new_type at 0x7ff093f00b80>, instr: binaryninja.mediumlevelil.CoreMediumLevelILInstruction, instr_index: <function NewType.<locals>.new_type at 0x7ff093f8a310>)[source]

Bases: binaryninja.mediumlevelil.MediumLevelILComparisonBase, binaryninja.commonil.FloatingPoint

Parameters
Return type

None

expr_index: ExpressionIndex
function: MediumLevelILFunction
instr: CoreMediumLevelILInstruction
instr_index: InstructionIndex
class MediumLevelILFcmpGe(function: 'MediumLevelILFunction', expr_index: <function NewType.<locals>.new_type at 0x7ff093f00b80>, instr: binaryninja.mediumlevelil.CoreMediumLevelILInstruction, instr_index: <function NewType.<locals>.new_type at 0x7ff093f8a310>)[source]

Bases: binaryninja.mediumlevelil.MediumLevelILComparisonBase, binaryninja.commonil.FloatingPoint

Parameters
Return type

None

expr_index: ExpressionIndex
function: MediumLevelILFunction
instr: CoreMediumLevelILInstruction
instr_index: InstructionIndex
class MediumLevelILFcmpGt(function: 'MediumLevelILFunction', expr_index: <function NewType.<locals>.new_type at 0x7ff093f00b80>, instr: binaryninja.mediumlevelil.CoreMediumLevelILInstruction, instr_index: <function NewType.<locals>.new_type at 0x7ff093f8a310>)[source]

Bases: binaryninja.mediumlevelil.MediumLevelILComparisonBase, binaryninja.commonil.FloatingPoint

Parameters
Return type

None

expr_index: ExpressionIndex
function: MediumLevelILFunction
instr: CoreMediumLevelILInstruction
instr_index: InstructionIndex
class MediumLevelILFcmpLe(function: 'MediumLevelILFunction', expr_index: <function NewType.<locals>.new_type at 0x7ff093f00b80>, instr: binaryninja.mediumlevelil.CoreMediumLevelILInstruction, instr_index: <function NewType.<locals>.new_type at 0x7ff093f8a310>)[source]

Bases: binaryninja.mediumlevelil.MediumLevelILComparisonBase, binaryninja.commonil.FloatingPoint

Parameters
Return type

None

expr_index: ExpressionIndex
function: MediumLevelILFunction
instr: CoreMediumLevelILInstruction
instr_index: InstructionIndex
class MediumLevelILFcmpLt(function: 'MediumLevelILFunction', expr_index: <function NewType.<locals>.new_type at 0x7ff093f00b80>, instr: binaryninja.mediumlevelil.CoreMediumLevelILInstruction, instr_index: <function NewType.<locals>.new_type at 0x7ff093f8a310>)[source]

Bases: binaryninja.mediumlevelil.MediumLevelILComparisonBase, binaryninja.commonil.FloatingPoint

Parameters
Return type

None

expr_index: ExpressionIndex
function: MediumLevelILFunction
instr: CoreMediumLevelILInstruction
instr_index: InstructionIndex
class MediumLevelILFcmpNe(function: 'MediumLevelILFunction', expr_index: <function NewType.<locals>.new_type at 0x7ff093f00b80>, instr: binaryninja.mediumlevelil.CoreMediumLevelILInstruction, instr_index: <function NewType.<locals>.new_type at 0x7ff093f8a310>)[source]

Bases: binaryninja.mediumlevelil.MediumLevelILComparisonBase, binaryninja.commonil.FloatingPoint

Parameters
Return type

None

expr_index: ExpressionIndex
function: MediumLevelILFunction
instr: CoreMediumLevelILInstruction
instr_index: InstructionIndex
class MediumLevelILFcmpO(function: 'MediumLevelILFunction', expr_index: <function NewType.<locals>.new_type at 0x7ff093f00b80>, instr: binaryninja.mediumlevelil.CoreMediumLevelILInstruction, instr_index: <function NewType.<locals>.new_type at 0x7ff093f8a310>)[source]

Bases: binaryninja.mediumlevelil.MediumLevelILComparisonBase, binaryninja.commonil.FloatingPoint

Parameters
Return type

None

expr_index: ExpressionIndex
function: MediumLevelILFunction
instr: CoreMediumLevelILInstruction
instr_index: InstructionIndex
class MediumLevelILFcmpUo(function: 'MediumLevelILFunction', expr_index: <function NewType.<locals>.new_type at 0x7ff093f00b80>, instr: binaryninja.mediumlevelil.CoreMediumLevelILInstruction, instr_index: <function NewType.<locals>.new_type at 0x7ff093f8a310>)[source]

Bases: binaryninja.mediumlevelil.MediumLevelILComparisonBase, binaryninja.commonil.FloatingPoint

Parameters
Return type

None

expr_index: ExpressionIndex
function: MediumLevelILFunction
instr: CoreMediumLevelILInstruction
instr_index: InstructionIndex
class MediumLevelILFdiv(function: 'MediumLevelILFunction', expr_index: <function NewType.<locals>.new_type at 0x7ff093f00b80>, instr: binaryninja.mediumlevelil.CoreMediumLevelILInstruction, instr_index: <function NewType.<locals>.new_type at 0x7ff093f8a310>)[source]

Bases: binaryninja.mediumlevelil.MediumLevelILBinaryBase, binaryninja.commonil.Arithmetic, binaryninja.commonil.FloatingPoint

Parameters
Return type

None

expr_index: ExpressionIndex
function: MediumLevelILFunction
instr: CoreMediumLevelILInstruction
instr_index: InstructionIndex
class MediumLevelILFloatConst(function: 'MediumLevelILFunction', expr_index: <function NewType.<locals>.new_type at 0x7ff093f00b80>, instr: binaryninja.mediumlevelil.CoreMediumLevelILInstruction, instr_index: <function NewType.<locals>.new_type at 0x7ff093f8a310>)[source]

Bases: binaryninja.mediumlevelil.MediumLevelILConstBase, binaryninja.commonil.FloatingPoint

Parameters
Return type

None

property constant: float
expr_index: ExpressionIndex
function: MediumLevelILFunction
instr: CoreMediumLevelILInstruction
instr_index: InstructionIndex
property operands: List[float]

Operands for the instruction

class MediumLevelILFloatConv(function: 'MediumLevelILFunction', expr_index: <function NewType.<locals>.new_type at 0x7ff093f00b80>, instr: binaryninja.mediumlevelil.CoreMediumLevelILInstruction, instr_index: <function NewType.<locals>.new_type at 0x7ff093f8a310>)[source]

Bases: binaryninja.mediumlevelil.MediumLevelILUnaryBase, binaryninja.commonil.Arithmetic, binaryninja.commonil.FloatingPoint

Parameters
Return type

None

expr_index: ExpressionIndex
function: MediumLevelILFunction
instr: CoreMediumLevelILInstruction
instr_index: InstructionIndex
class MediumLevelILFloatToInt(function: 'MediumLevelILFunction', expr_index: <function NewType.<locals>.new_type at 0x7ff093f00b80>, instr: binaryninja.mediumlevelil.CoreMediumLevelILInstruction, instr_index: <function NewType.<locals>.new_type at 0x7ff093f8a310>)[source]

Bases: binaryninja.mediumlevelil.MediumLevelILUnaryBase, binaryninja.commonil.Arithmetic, binaryninja.commonil.FloatingPoint

Parameters
Return type

None

expr_index: ExpressionIndex
function: MediumLevelILFunction
instr: CoreMediumLevelILInstruction
instr_index: InstructionIndex
class MediumLevelILFloor(function: 'MediumLevelILFunction', expr_index: <function NewType.<locals>.new_type at 0x7ff093f00b80>, instr: binaryninja.mediumlevelil.CoreMediumLevelILInstruction, instr_index: <function NewType.<locals>.new_type at 0x7ff093f8a310>)[source]

Bases: binaryninja.mediumlevelil.MediumLevelILUnaryBase, binaryninja.commonil.Arithmetic, binaryninja.commonil.FloatingPoint

Parameters
Return type

None

expr_index: ExpressionIndex
function: MediumLevelILFunction
instr: CoreMediumLevelILInstruction
instr_index: InstructionIndex
class MediumLevelILFmul(function: 'MediumLevelILFunction', expr_index: <function NewType.<locals>.new_type at 0x7ff093f00b80>, instr: binaryninja.mediumlevelil.CoreMediumLevelILInstruction, instr_index: <function NewType.<locals>.new_type at 0x7ff093f8a310>)[source]

Bases: binaryninja.mediumlevelil.MediumLevelILBinaryBase, binaryninja.commonil.Arithmetic, binaryninja.commonil.FloatingPoint

Parameters
Return type

None

expr_index: ExpressionIndex
function: MediumLevelILFunction
instr: CoreMediumLevelILInstruction
instr_index: InstructionIndex
class MediumLevelILFneg(function: 'MediumLevelILFunction', expr_index: <function NewType.<locals>.new_type at 0x7ff093f00b80>, instr: binaryninja.mediumlevelil.CoreMediumLevelILInstruction, instr_index: <function NewType.<locals>.new_type at 0x7ff093f8a310>)[source]

Bases: binaryninja.mediumlevelil.MediumLevelILUnaryBase, binaryninja.commonil.Arithmetic, binaryninja.commonil.FloatingPoint

Parameters
Return type

None

expr_index: ExpressionIndex
function: MediumLevelILFunction
instr: CoreMediumLevelILInstruction
instr_index: InstructionIndex
class MediumLevelILFreeVarSlot(function: 'MediumLevelILFunction', expr_index: <function NewType.<locals>.new_type at 0x7ff093f00b80>, instr: binaryninja.mediumlevelil.CoreMediumLevelILInstruction, instr_index: <function NewType.<locals>.new_type at 0x7ff093f8a310>)[source]

Bases: binaryninja.mediumlevelil.MediumLevelILInstruction, binaryninja.commonil.RegisterStack

Parameters
Return type

None

property dest: Variable
expr_index: ExpressionIndex
function: MediumLevelILFunction
instr: CoreMediumLevelILInstruction
instr_index: InstructionIndex
property operands: List[Variable]

Operands for the instruction

class MediumLevelILFreeVarSlotSsa(function: 'MediumLevelILFunction', expr_index: <function NewType.<locals>.new_type at 0x7ff093f00b80>, instr: binaryninja.mediumlevelil.CoreMediumLevelILInstruction, instr_index: <function NewType.<locals>.new_type at 0x7ff093f8a310>)[source]

Bases: binaryninja.mediumlevelil.MediumLevelILInstruction, binaryninja.commonil.SSA, binaryninja.commonil.RegisterStack

Parameters
Return type

None

property dest: SSAVariable
expr_index: ExpressionIndex
function: MediumLevelILFunction
instr: CoreMediumLevelILInstruction
instr_index: InstructionIndex
property operands: List[SSAVariable]

Operands for the instruction

property prev: SSAVariable
class MediumLevelILFsqrt(function: 'MediumLevelILFunction', expr_index: <function NewType.<locals>.new_type at 0x7ff093f00b80>, instr: binaryninja.mediumlevelil.CoreMediumLevelILInstruction, instr_index: <function NewType.<locals>.new_type at 0x7ff093f8a310>)[source]

Bases: binaryninja.mediumlevelil.MediumLevelILUnaryBase, binaryninja.commonil.Arithmetic, binaryninja.commonil.FloatingPoint

Parameters
Return type

None

expr_index: ExpressionIndex
function: MediumLevelILFunction
instr: CoreMediumLevelILInstruction
instr_index: InstructionIndex
class MediumLevelILFsub(function: 'MediumLevelILFunction', expr_index: <function NewType.<locals>.new_type at 0x7ff093f00b80>, instr: binaryninja.mediumlevelil.CoreMediumLevelILInstruction, instr_index: <function NewType.<locals>.new_type at 0x7ff093f8a310>)[source]

Bases: binaryninja.mediumlevelil.MediumLevelILBinaryBase, binaryninja.commonil.Arithmetic, binaryninja.commonil.FloatingPoint

Parameters
Return type

None

expr_index: ExpressionIndex
function: MediumLevelILFunction
instr: CoreMediumLevelILInstruction
instr_index: InstructionIndex
class MediumLevelILFtrunc(function: 'MediumLevelILFunction', expr_index: <function NewType.<locals>.new_type at 0x7ff093f00b80>, instr: binaryninja.mediumlevelil.CoreMediumLevelILInstruction, instr_index: <function NewType.<locals>.new_type at 0x7ff093f8a310>)[source]

Bases: binaryninja.mediumlevelil.MediumLevelILUnaryBase, binaryninja.commonil.Arithmetic, binaryninja.commonil.FloatingPoint

Parameters
Return type

None

expr_index: ExpressionIndex
function: MediumLevelILFunction
instr: CoreMediumLevelILInstruction
instr_index: InstructionIndex
class MediumLevelILFunction(arch: Optional[Architecture] = None, handle: Optional[binaryninja._binaryninjacore.BNMediumLevelILFunction] = None, source_func: Optional[Function] = None)[source]

Bases: object

class MediumLevelILFunction contains the list of ExpressionIndex objects that make up a function. ExpressionIndex objects can be added to the MediumLevelILFunction by calling append and passing the result of the various class methods which return ExpressionIndex objects.

Parameters
add_label_map(labels: Mapping[int, MediumLevelILLabel]) ExpressionIndex[source]

add_label_map returns a label list expression for the given list of MediumLevelILLabel objects.

Parameters

labels (dict(int, MediumLevelILLabel)) – the list of MediumLevelILLabel to get a label list expression from

Returns

the label list expression

Return type

ExpressionIndex

add_operand_list(operands: List[ExpressionIndex]) ExpressionIndex[source]

add_operand_list returns an operand list expression for the given list of integer operands.

Parameters

operands (list(int)) – list of operand numbers

Returns

an operand list expression

Return type

ExpressionIndex

append(expr: ExpressionIndex) int[source]

append adds the ExpressionIndex expr to the current MediumLevelILFunction.

Parameters

expr (ExpressionIndex) – the ExpressionIndex to add to the current MediumLevelILFunction

Returns

number of ExpressionIndex in the current function

Return type

int

create_graph(settings: Optional[DisassemblySettings] = None) CoreFlowGraph[source]
Parameters

settings (Optional[DisassemblySettings]) –

Return type

CoreFlowGraph

expr(operation: MediumLevelILOperation, a: int = 0, b: int = 0, c: int = 0, d: int = 0, e: int = 0, size: int = 0) ExpressionIndex[source]
Parameters
Return type

ExpressionIndex

finalize() None[source]

finalize ends the function and computes the list of basic blocks.

Return type

None

generate_ssa_form(analyze_conditionals: bool = True, handle_aliases: bool = True, known_not_aliases: Optional[List[Variable]] = None, known_aliases: Optional[List[Variable]] = None) None[source]

generate_ssa_form generate SSA form given the current MLIL

Parameters
  • analyze_conditionals (bool) – whether or not to analyze conditionals, defaults to True

  • handle_aliases (bool) – whether or not to handle aliases, defaults to True

  • known_not_aliases (list(Variable)) – optional list of variables known to be not aliased

  • known_aliases (list(Variable)) – optional list of variables known to be aliased

Return type

None

get_basic_block_at(index: int) Optional[BasicBlock][source]

get_basic_block_at returns the BasicBlock at the given MLIL instruction index.

Parameters

index (int) – Index of the MLIL instruction of the BasicBlock to retrieve.

Example
>>> current_il_function.get_basic_block_at(current_il_index)
<mlil block: [email protected]>
Return type

Optional[BasicBlock]

get_high_level_il_expr_index(expr: ExpressionIndex) Optional[ExpressionIndex][source]
Parameters

expr (ExpressionIndex) –

Return type

Optional[ExpressionIndex]

get_high_level_il_expr_indexes(expr: ExpressionIndex) List[ExpressionIndex][source]
Parameters

expr (ExpressionIndex) –

Return type

List[ExpressionIndex]

get_high_level_il_instruction_index(instr: InstructionIndex) Optional[InstructionIndex][source]
Parameters

instr (InstructionIndex) –

Return type

Optional[InstructionIndex]

get_instruction_start(addr: int, arch: Optional[Architecture] = None) Optional[int][source]
Parameters
Return type

Optional[int]

get_live_instructions_for_var(var: Variable, include_last_use: bool = True) List[MediumLevelILInstruction][source]

get_live_instructions_for_var computes the list of instructions for which var is live. If include_last_use is False, the last use of the variable will not be included in the list (this allows for easier computation of overlaps in liveness between two variables). If the variable is never used, this function will return an empty list.

Parameters
  • var (SSAVariable) – the variable to query

  • include_last_use (bool) – whether to include the last use of the variable in the list of instructions

Returns

list of instructions for which var is live

Return type

list(MediumLevelILInstruction)

get_low_level_il_expr_index(expr: ExpressionIndex) Optional[ExpressionIndex][source]
Parameters

expr (ExpressionIndex) –

Return type

Optional[ExpressionIndex]

get_low_level_il_expr_indexes(expr: ExpressionIndex) List[ExpressionIndex][source]
Parameters

expr (ExpressionIndex) –

Return type

List[ExpressionIndex]

get_low_level_il_instruction_index(instr: InstructionIndex) Optional[InstructionIndex][source]
Parameters

instr (InstructionIndex) –

Return type

Optional[InstructionIndex]

get_non_ssa_instruction_index(instr: InstructionIndex) InstructionIndex[source]
Parameters

instr (InstructionIndex) –

Return type

InstructionIndex

get_ssa_instruction_index(instr: InstructionIndex) InstructionIndex[source]
Parameters

instr (InstructionIndex) –

Return type

InstructionIndex

get_ssa_memory_definition(version: int) Optional[MediumLevelILInstruction][source]
Parameters

version (int) –

Return type

Optional[MediumLevelILInstruction]

get_ssa_memory_uses(version: int) List[MediumLevelILInstruction][source]
Parameters

version (int) –

Return type

List[MediumLevelILInstruction]

get_ssa_var_definition(ssa_var: SSAVariable) Optional[MediumLevelILInstruction][source]
Parameters

ssa_var (SSAVariable) –

Return type

Optional[MediumLevelILInstruction]

get_ssa_var_uses(ssa_var: SSAVariable) List[MediumLevelILInstruction][source]
Parameters

ssa_var (SSAVariable) –

Return type

List[MediumLevelILInstruction]

get_ssa_var_value(ssa_var: SSAVariable) RegisterValue[source]
Parameters

ssa_var (SSAVariable) –

Return type

RegisterValue

get_var_definitions(var: Variable) List[MediumLevelILInstruction][source]
Parameters

var (Variable) –

Return type

List[MediumLevelILInstruction]

get_var_uses(var: Variable) List[MediumLevelILInstruction][source]
Parameters

var (Variable) –

Return type

List[MediumLevelILInstruction]

goto(label: MediumLevelILLabel) ExpressionIndex[source]

goto returns a goto expression which jumps to the provided MediumLevelILLabel.

Parameters

label (MediumLevelILLabel) – Label to jump to

Returns

the ExpressionIndex that jumps to the provided label

Return type

ExpressionIndex

if_expr(operand: ExpressionIndex, t: MediumLevelILLabel, f: MediumLevelILLabel) ExpressionIndex[source]

if_expr returns the if expression which depending on condition operand jumps to the MediumLevelILLabel t when the condition expression operand is non-zero and f when it’s zero.

Parameters
Returns

the ExpressionIndex for the if expression

Return type

ExpressionIndex

is_ssa_var_live(ssa_var: SSAVariable) bool[source]

is_ssa_var_live determines if ssa_var is live at any point in the function

Parameters

ssa_var (SSAVariable) – the SSA variable to query

Returns

whether the variable is live at any point in the function

Return type

bool

mark_label(label: MediumLevelILLabel) None[source]

mark_label assigns a MediumLevelILLabel to the current IL address.

Parameters

label (MediumLevelILLabel) –

Return type

None

set_current_address(value: int, arch: Optional[Architecture] = None) None[source]
Parameters
Return type

None

property aliased_vars: List[Variable]

This returns a list of Variables that are taken reference to and used elsewhere. You may also wish to consider MediumLevelIlFunction.vars and MediumLevelIlFunction.source_function.param_vars

property arch: Architecture
property basic_blocks: MediumLevelILBasicBlockList
property current_address: int

Current IL Address (read/write)

property high_level_il: Optional[HighLevelILFunction]

High level IL for this medium level IL.

property hlil: Optional[HighLevelILFunction]
property il_form: FunctionGraphType
property instructions: Generator[MediumLevelILInstruction, None, None]

A generator of mlil instructions of the current function

property llil: Optional[LowLevelILFunction]

Alias for low_level_il

property low_level_il: Optional[LowLevelILFunction]

Low level IL for this function

property non_ssa_form: Optional[MediumLevelILFunction]

Medium level IL in non-SSA (default) form (read-only)

property source_function: Function
property ssa_form: Optional[MediumLevelILFunction]

Medium level IL in SSA form (read-only)

property ssa_vars: List[SSAVariable]

This gets just the MLIL SSA variables - you may be interested in the union of MediumLevelIlFunction.aliased_vars and MediumLevelIlFunction.source_function.param_vars for all the variables used in the function

property vars: List[Variable]

This gets just the MLIL variables - you may be interested in the union of MediumLevelIlFunction.aliased_vars and MediumLevelIlFunction.source_function.param_vars for all the variables used in the function

property view: BinaryView
class MediumLevelILGoto(function: 'MediumLevelILFunction', expr_index: <function NewType.<locals>.new_type at 0x7ff093f00b80>, instr: binaryninja.mediumlevelil.CoreMediumLevelILInstruction, instr_index: <function NewType.<locals>.new_type at 0x7ff093f8a310>)[source]

Bases: binaryninja.mediumlevelil.MediumLevelILInstruction, binaryninja.commonil.Terminal

Parameters
Return type

None

property dest: int
expr_index: ExpressionIndex
function: MediumLevelILFunction
instr: CoreMediumLevelILInstruction
instr_index: InstructionIndex
property operands: List[int]

Operands for the instruction

class MediumLevelILIf(function: 'MediumLevelILFunction', expr_index: <function NewType.<locals>.new_type at 0x7ff093f00b80>, instr: binaryninja.mediumlevelil.CoreMediumLevelILInstruction, instr_index: <function NewType.<locals>.new_type at 0x7ff093f8a310>)[source]

Bases: binaryninja.mediumlevelil.MediumLevelILInstruction, binaryninja.commonil.Terminal

Parameters
Return type

None

property condition: MediumLevelILInstruction
expr_index: ExpressionIndex
property false: int
function: MediumLevelILFunction
instr: CoreMediumLevelILInstruction
instr_index: InstructionIndex
property operands: List[Union[int, float, MediumLevelILOperationAndSize, MediumLevelILInstruction, ILIntrinsic, Variable, SSAVariable, List[int], List[Variable], List[SSAVariable], List[MediumLevelILInstruction], Mapping[int, int]]]

Operands for the instruction

property true: int
class MediumLevelILImport(function: 'MediumLevelILFunction', expr_index: <function NewType.<locals>.new_type at 0x7ff093f00b80>, instr: binaryninja.mediumlevelil.CoreMediumLevelILInstruction, instr_index: <function NewType.<locals>.new_type at 0x7ff093f8a310>)[source]

Bases: binaryninja.mediumlevelil.MediumLevelILConstBase

Parameters
Return type

None

property constant: int
expr_index: ExpressionIndex
function: MediumLevelILFunction
instr: CoreMediumLevelILInstruction
instr_index: InstructionIndex
property operands: List[int]

Operands for the instruction

class MediumLevelILInstruction(function: MediumLevelILFunction, expr_index: ExpressionIndex, instr: CoreMediumLevelILInstruction, instr_index: InstructionIndex)[source]

Bases: binaryninja.commonil.BaseILInstruction

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).

Parameters
Return type

None

classmethod create(func: MediumLevelILFunction, expr_index: ExpressionIndex, instr_index: Optional[InstructionIndex] = None) MediumLevelILInstruction[source]
Parameters
Return type

MediumLevelILInstruction

get_branch_dependence(branch_instr: int) ILBranchDependence[source]
Parameters

branch_instr (int) –

Return type

ILBranchDependence

get_flag_value(flag: Union[FlagName, ILFlag, FlagIndex]) RegisterValue[source]
Parameters

flag (Union[FlagName, ILFlag, FlagIndex]) –

Return type

RegisterValue

get_flag_value_after(flag: Union[FlagName, ILFlag, FlagIndex]) RegisterValue[source]
Parameters

flag (Union[FlagName, ILFlag, FlagIndex]) –

Return type

RegisterValue

get_possible_flag_values(flag: Union[FlagName, ILFlag, FlagIndex], options: Optional[List[DataFlowQueryOption]] = None) PossibleValueSet[source]
Parameters
Return type

PossibleValueSet

get_possible_flag_values_after(flag: Union[FlagName, ILFlag, FlagIndex], options: Optional[List[DataFlowQueryOption]] = None) PossibleValueSet[source]
Parameters
Return type

PossibleValueSet

get_possible_reg_values(reg: Union[RegisterName, ILRegister, RegisterIndex], options: Optional[List[DataFlowQueryOption]] = None) PossibleValueSet[source]
Parameters
Return type

PossibleValueSet

get_possible_reg_values_after(reg: Union[RegisterName, ILRegister, RegisterIndex], options: Optional[List[DataFlowQueryOption]] = None) PossibleValueSet[source]
Parameters
Return type

PossibleValueSet

get_possible_stack_contents(offset: int, size: int, options: Optional[List[DataFlowQueryOption]] = None) PossibleValueSet[source]
Parameters
Return type

PossibleValueSet

get_possible_stack_contents_after(offset: int, size: int, options: Optional[List[DataFlowQueryOption]] = None) PossibleValueSet[source]
Parameters
Return type

PossibleValueSet

get_possible_values(options: Optional[List[DataFlowQueryOption]] = None) PossibleValueSet[source]
Parameters

options (Optional[List[DataFlowQueryOption]]) –

Return type

PossibleValueSet

get_reg_value(reg: Union[RegisterName, ILRegister, RegisterIndex]) RegisterValue[source]
Parameters

reg (Union[RegisterName, ILRegister, RegisterIndex]) –

Return type

RegisterValue

get_reg_value_after(reg: Union[RegisterName, ILRegister, RegisterIndex]) RegisterValue[source]
Parameters

reg (Union[RegisterName, ILRegister, RegisterIndex]) –

Return type

RegisterValue

get_split_var_for_definition(var: Variable) Variable[source]

Gets the unique variable for a definition instruction. This unique variable can be passed to Function.split_var to split a variable at a definition. The given var is the assigned variable to query.

Parameters

var (Variable) – variable to query

Return type

Variable

get_ssa_var_possible_values(ssa_var: SSAVariable, options: List[DataFlowQueryOption] = [])[source]
Parameters
get_ssa_var_version(var: Variable) int[source]
Parameters

var (Variable) –

Return type

int

get_stack_contents(offset: int, size: int) RegisterValue[source]
Parameters
  • offset (int) –

  • size (int) –

Return type

RegisterValue

get_stack_contents_after(offset: int, size: int) RegisterValue[source]
Parameters
  • offset (int) –

  • size (int) –

Return type

RegisterValue

get_var_for_flag(flag: Union[FlagName, ILFlag, FlagIndex]) Variable[source]
Parameters

flag (Union[FlagName, ILFlag, FlagIndex]) –

Return type

Variable

get_var_for_reg(reg: Union[RegisterName, ILRegister, RegisterIndex]) Variable[source]
Parameters

reg (Union[RegisterName, ILRegister, RegisterIndex]) –

Return type

Variable

get_var_for_stack_location(offset: int) Variable[source]
Parameters

offset (int) –

Return type

Variable

static show_mlil_hierarchy()[source]

Opens a new tab showing the MLIL hierarchy which includes classes which can easily be used with isinstance to match multiple types of IL instructions.

ILOperations: ClassVar[Mapping[MediumLevelILOperation, List[Tuple[str, str]]]] = {MediumLevelILOperation.MLIL_NOP: [], MediumLevelILOperation.MLIL_SET_VAR: [('dest', 'var'), ('src', 'expr')], MediumLevelILOperation.MLIL_SET_VAR_FIELD: [('dest', 'var'), ('offset', 'int'), ('src', 'expr')], MediumLevelILOperation.MLIL_SET_VAR_SPLIT: [('high', 'var'), ('low', 'var'), ('src', 'expr')], MediumLevelILOperation.MLIL_LOAD: [('src', 'expr')], MediumLevelILOperation.MLIL_LOAD_STRUCT: [('src', 'expr'), ('offset', 'int')], MediumLevelILOperation.MLIL_STORE: [('dest', 'expr'), ('src', 'expr')], MediumLevelILOperation.MLIL_STORE_STRUCT: [('dest', 'expr'), ('offset', 'int'), ('src', 'expr')], MediumLevelILOperation.MLIL_VAR: [('src', 'var')], MediumLevelILOperation.MLIL_VAR_FIELD: [('src', 'var'), ('offset', 'int')], MediumLevelILOperation.MLIL_VAR_SPLIT: [('high', 'var'), ('low', 'var')], MediumLevelILOperation.MLIL_ADDRESS_OF: [('src', 'var')], MediumLevelILOperation.MLIL_ADDRESS_OF_FIELD: [('src', 'var'), ('offset', 'int')], MediumLevelILOperation.MLIL_CONST: [('constant', 'int')], MediumLevelILOperation.MLIL_CONST_PTR: [('constant', 'int')], MediumLevelILOperation.MLIL_EXTERN_PTR: [('constant', 'int'), ('offset', 'int')], MediumLevelILOperation.MLIL_FLOAT_CONST: [('constant', 'float')], MediumLevelILOperation.MLIL_IMPORT: [('constant', 'int')], MediumLevelILOperation.MLIL_ADD: [('left', 'expr'), ('right', 'expr')], MediumLevelILOperation.MLIL_ADC: [('left', 'expr'), ('right', 'expr'), ('carry', 'expr')], MediumLevelILOperation.MLIL_SUB: [('left', 'expr'), ('right', 'expr')], MediumLevelILOperation.MLIL_SBB: [('left', 'expr'), ('right', 'expr'), ('carry', 'expr')], MediumLevelILOperation.MLIL_AND: [('left', 'expr'), ('right', 'expr')], MediumLevelILOperation.MLIL_OR: [('left', 'expr'), ('right', 'expr')], MediumLevelILOperation.MLIL_XOR: [('left', 'expr'), ('right', 'expr')], MediumLevelILOperation.MLIL_LSL: [('left', 'expr'), ('right', 'expr')], MediumLevelILOperation.MLIL_LSR: [('left', 'expr'), ('right', 'expr')], MediumLevelILOperation.MLIL_ASR: [('left', 'expr'), ('right', 'expr')], MediumLevelILOperation.MLIL_ROL: [('left', 'expr'), ('right', 'expr')], MediumLevelILOperation.MLIL_RLC: [('left', 'expr'), ('right', 'expr'), ('carry', 'expr')], MediumLevelILOperation.MLIL_ROR: [('left', 'expr'), ('right', 'expr')], MediumLevelILOperation.MLIL_RRC: [('left', 'expr'), ('right', 'expr'), ('carry', 'expr')], MediumLevelILOperation.MLIL_MUL: [('left', 'expr'), ('right', 'expr')], MediumLevelILOperation.MLIL_MULU_DP: [('left', 'expr'), ('right', 'expr')], MediumLevelILOperation.MLIL_MULS_DP: [('left', 'expr'), ('right', 'expr')], MediumLevelILOperation.MLIL_DIVU: [('left', 'expr'), ('right', 'expr')], MediumLevelILOperation.MLIL_DIVU_DP: [('left', 'expr'), ('right', 'expr')], MediumLevelILOperation.MLIL_DIVS: [('left', 'expr'), ('right', 'expr')], MediumLevelILOperation.MLIL_DIVS_DP: [('left', 'expr'), ('right', 'expr')], MediumLevelILOperation.MLIL_MODU: [('left', 'expr'), ('right', 'expr')], MediumLevelILOperation.MLIL_MODU_DP: [('left', 'expr'), ('right', 'expr')], MediumLevelILOperation.MLIL_MODS: [('left', 'expr'), ('right', 'expr')], MediumLevelILOperation.MLIL_MODS_DP: [('left', 'expr'), ('right', 'expr')], MediumLevelILOperation.MLIL_NEG: [('src', 'expr')], MediumLevelILOperation.MLIL_NOT: [('src', 'expr')], MediumLevelILOperation.MLIL_SX: [('src', 'expr')], MediumLevelILOperation.MLIL_ZX: [('src', 'expr')], MediumLevelILOperation.MLIL_LOW_PART: [('src', 'expr')], MediumLevelILOperation.MLIL_JUMP: [('dest', 'expr')], MediumLevelILOperation.MLIL_JUMP_TO: [('dest', 'expr'), ('targets', 'target_map')], MediumLevelILOperation.MLIL_RET_HINT: [('dest', 'expr')], MediumLevelILOperation.MLIL_CALL: [('output', 'var_list'), ('dest', 'expr'), ('params', 'expr_list')], MediumLevelILOperation.MLIL_CALL_UNTYPED: [('output', 'expr'), ('dest', 'expr'), ('params', 'expr'), ('stack', 'expr')], MediumLevelILOperation.MLIL_CALL_OUTPUT: [('dest', 'var_list')], MediumLevelILOperation.MLIL_CALL_PARAM: [('src', 'var_list')], MediumLevelILOperation.MLIL_RET: [('src', 'expr_list')], MediumLevelILOperation.MLIL_NORET: [], MediumLevelILOperation.MLIL_IF: [('condition', 'expr'), ('true', 'int'), ('false', 'int')], MediumLevelILOperation.MLIL_GOTO: [('dest', 'int')], MediumLevelILOperation.MLIL_CMP_E: [('left', 'expr'), ('right', 'expr')], MediumLevelILOperation.MLIL_CMP_NE: [('left', 'expr'), ('right', 'expr')], MediumLevelILOperation.MLIL_CMP_SLT: [('left', 'expr'), ('right', 'expr')], MediumLevelILOperation.MLIL_CMP_ULT: [('left', 'expr'), ('right', 'expr')], MediumLevelILOperation.MLIL_CMP_SLE: [('left', 'expr'), ('right', 'expr')], MediumLevelILOperation.MLIL_CMP_ULE: [('left', 'expr'), ('right', 'expr')], MediumLevelILOperation.MLIL_CMP_SGE: [('left', 'expr'), ('right', 'expr')], MediumLevelILOperation.MLIL_CMP_UGE: [('left', 'expr'), ('right', 'expr')], MediumLevelILOperation.MLIL_CMP_SGT: [('left', 'expr'), ('right', 'expr')], MediumLevelILOperation.MLIL_CMP_UGT: [('left', 'expr'), ('right', 'expr')], MediumLevelILOperation.MLIL_TEST_BIT: [('left', 'expr'), ('right', 'expr')], MediumLevelILOperation.MLIL_BOOL_TO_INT: [('src', 'expr')], MediumLevelILOperation.MLIL_ADD_OVERFLOW: [('left', 'expr'), ('right', 'expr')], MediumLevelILOperation.MLIL_SYSCALL: [('output', 'var_list'), ('params', 'expr_list')], MediumLevelILOperation.MLIL_SYSCALL_UNTYPED: [('output', 'expr'), ('params', 'expr'), ('stack', 'expr')], MediumLevelILOperation.MLIL_TAILCALL: [('output', 'var_list'), ('dest', 'expr'), ('params', 'expr_list')], MediumLevelILOperation.MLIL_TAILCALL_UNTYPED: [('output', 'expr'), ('dest', 'expr'), ('params', 'expr'), ('stack', 'expr')], MediumLevelILOperation.MLIL_INTRINSIC: [('output', 'var_list'), ('intrinsic', 'intrinsic'), ('params', 'expr_list')], MediumLevelILOperation.MLIL_FREE_VAR_SLOT: [('dest', 'var')], MediumLevelILOperation.MLIL_BP: [], MediumLevelILOperation.MLIL_TRAP: [('vector', 'int')], MediumLevelILOperation.MLIL_UNDEF: [], MediumLevelILOperation.MLIL_UNIMPL: [], MediumLevelILOperation.MLIL_UNIMPL_MEM: [('src', 'expr')], MediumLevelILOperation.MLIL_FADD: [('left', 'expr'), ('right', 'expr')], MediumLevelILOperation.MLIL_FSUB: [('left', 'expr'), ('right', 'expr')], MediumLevelILOperation.MLIL_FMUL: [('left', 'expr'), ('right', 'expr')], MediumLevelILOperation.MLIL_FDIV: [('left', 'expr'), ('right', 'expr')], MediumLevelILOperation.MLIL_FSQRT: [('src', 'expr')], MediumLevelILOperation.MLIL_FNEG: [('src', 'expr')], MediumLevelILOperation.MLIL_FABS: [('src', 'expr')], MediumLevelILOperation.MLIL_FLOAT_TO_INT: [('src', 'expr')], MediumLevelILOperation.MLIL_INT_TO_FLOAT: [('src', 'expr')], MediumLevelILOperation.MLIL_FLOAT_CONV: [('src', 'expr')], MediumLevelILOperation.MLIL_ROUND_TO_INT: [('src', 'expr')], MediumLevelILOperation.MLIL_FLOOR: [('src', 'expr')], MediumLevelILOperation.MLIL_CEIL: [('src', 'expr')], MediumLevelILOperation.MLIL_FTRUNC: [('src', 'expr')], MediumLevelILOperation.MLIL_FCMP_E: [('left', 'expr'), ('right', 'expr')], MediumLevelILOperation.MLIL_FCMP_NE: [('left', 'expr'), ('right', 'expr')], MediumLevelILOperation.MLIL_FCMP_LT: [('left', 'expr'), ('right', 'expr')], MediumLevelILOperation.MLIL_FCMP_LE: [('left', 'expr'), ('right', 'expr')], MediumLevelILOperation.MLIL_FCMP_GE: [('left', 'expr'), ('right', 'expr')], MediumLevelILOperation.MLIL_FCMP_GT: [('left', 'expr'), ('right', 'expr')], MediumLevelILOperation.MLIL_FCMP_O: [('left', 'expr'), ('right', 'expr')], MediumLevelILOperation.MLIL_FCMP_UO: [('left', 'expr'), ('right', 'expr')], MediumLevelILOperation.MLIL_SET_VAR_SSA: [('dest', 'var_ssa'), ('src', 'expr')], MediumLevelILOperation.MLIL_SET_VAR_SSA_FIELD: [('prev', 'var_ssa_dest_and_src'), ('offset', 'int'), ('src', 'expr')], MediumLevelILOperation.MLIL_SET_VAR_SPLIT_SSA: [('high', 'var_ssa'), ('low', 'var_ssa'), ('src', 'expr')], MediumLevelILOperation.MLIL_SET_VAR_ALIASED: [('prev', 'var_ssa_dest_and_src'), ('src', 'expr')], MediumLevelILOperation.MLIL_SET_VAR_ALIASED_FIELD: [('prev', 'var_ssa_dest_and_src'), ('offset', 'int'), ('src', 'expr')], MediumLevelILOperation.MLIL_VAR_SSA: [('src', 'var_ssa')], MediumLevelILOperation.MLIL_VAR_SSA_FIELD: [('src', 'var_ssa'), ('offset', 'int')], MediumLevelILOperation.MLIL_VAR_ALIASED: [('src', 'var_ssa')], MediumLevelILOperation.MLIL_VAR_ALIASED_FIELD: [('src', 'var_ssa'), ('offset', 'int')], MediumLevelILOperation.MLIL_VAR_SPLIT_SSA: [('high', 'var_ssa'), ('low', 'var_ssa')], MediumLevelILOperation.MLIL_CALL_SSA: [('output', 'expr'), ('dest', 'expr'), ('params', 'expr_list'), ('src_memory', 'int')], MediumLevelILOperation.MLIL_CALL_UNTYPED_SSA: [('output', 'expr'), ('dest', 'expr'), ('params', 'expr'), ('stack', 'expr')], MediumLevelILOperation.MLIL_SYSCALL_SSA: [('output', 'expr'), ('params', 'expr_list'), ('src_memory', 'int')], MediumLevelILOperation.MLIL_SYSCALL_UNTYPED_SSA: [('output', 'expr'), ('params', 'expr'), ('stack', 'expr')], MediumLevelILOperation.MLIL_TAILCALL_SSA: [('output', 'expr'), ('dest', 'expr'), ('params', 'expr_list'), ('src_memory', 'int')], MediumLevelILOperation.MLIL_TAILCALL_UNTYPED_SSA: [('output', 'expr'), ('dest', 'expr'), ('params', 'expr'), ('stack', 'expr')], MediumLevelILOperation.MLIL_CALL_PARAM_SSA: [('src_memory', 'int'), ('src', 'var_ssa_list')], MediumLevelILOperation.MLIL_CALL_OUTPUT_SSA: [('dest_memory', 'int'), ('dest', 'var_ssa_list')], MediumLevelILOperation.MLIL_LOAD_SSA: [('src', 'expr'), ('src_memory', 'int')], MediumLevelILOperation.MLIL_LOAD_STRUCT_SSA: [('src', 'expr'), ('offset', 'int'), ('src_memory', 'int')], MediumLevelILOperation.MLIL_STORE_SSA: [('dest', 'expr'), ('dest_memory', 'int'), ('src_memory', 'int'), ('src', 'expr')], MediumLevelILOperation.MLIL_STORE_STRUCT_SSA: [('dest', 'expr'), ('offset', 'int'), ('dest_memory', 'int'), ('src_memory', 'int'), ('src', 'expr')], MediumLevelILOperation.MLIL_INTRINSIC_SSA: [('output', 'var_ssa_list'), ('intrinsic', 'intrinsic'), ('params', 'expr_list')], MediumLevelILOperation.MLIL_FREE_VAR_SLOT_SSA: [('prev', 'var_ssa_dest_and_src')], MediumLevelILOperation.MLIL_VAR_PHI: [('dest', 'var_ssa'), ('src', 'var_ssa_list')], MediumLevelILOperation.MLIL_MEM_PHI: [('dest_memory', 'int'), ('src_memory', 'int_list')]}
property address: int
property branch_dependence: Mapping[int, ILBranchDependence]

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

property core_operands: Tuple[ExpressionIndex, ExpressionIndex, ExpressionIndex, ExpressionIndex, ExpressionIndex]
expr_index: ExpressionIndex
property expr_type: Optional[Type]

Type of expression

function: MediumLevelILFunction
property high_level_il: Optional[HighLevelILInstruction]

High level IL form of this expression

property hlil: Optional[HighLevelILInstruction]

Alias for high_level_il

property hlils: List[HighLevelILInstruction]
property il_basic_block: MediumLevelILBasicBlock

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

instr: CoreMediumLevelILInstruction
instr_index: InstructionIndex
property instruction_operands: List[MediumLevelILInstruction]
property llil: Optional[LowLevelILInstruction]

Alias for low_level_il

property llils: List[LowLevelILInstruction]
property low_level_il: Optional[LowLevelILInstruction]

Low level IL form of this expression

property non_ssa_form: MediumLevelILInstruction

Non-SSA form of expression (read-only)

property operands: List[Union[int, float, MediumLevelILOperationAndSize, MediumLevelILInstruction, ILIntrinsic, Variable, SSAVariable, List[int], List[Variable], List[SSAVariable], List[MediumLevelILInstruction], Mapping[int, int]]]

Operands for the instruction

property operation: MediumLevelILOperation
property possible_values: PossibleValueSet

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

property postfix_operands: List[Union[int, float, MediumLevelILOperationAndSize, MediumLevelILInstruction, ILIntrinsic, Variable, SSAVariable, List[int], List[Variable], List[SSAVariable], List[MediumLevelILInstruction], Mapping[int, int]]]

All operands in the expression tree in postfix order

property prefix_operands: List[Union[int, float, MediumLevelILOperationAndSize, MediumLevelILInstruction, ILIntrinsic, Variable, SSAVariable, List[int], List[Variable], List[SSAVariable], List[MediumLevelILInstruction], Mapping[int, int]]]

All operands in the expression tree in prefix order

property size: int
property source_operand: ExpressionIndex
property ssa_form: MediumLevelILInstruction

SSA form of expression (read-only)

property ssa_memory_version: int

Version of active memory contents in SSA form for this instruction

property tokens: List[InstructionTextToken]

MLIL tokens (read-only)

property value: RegisterValue

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

property vars_address_taken: List[Union[Variable, SSAVariable]]

Non-unique list of variables whose address is taken by instruction

property vars_read: List[Union[Variable, SSAVariable]]

List of variables read by instruction

property vars_written: List[Union[Variable, SSAVariable]]

List of variables written by instruction

class MediumLevelILIntToFloat(function: 'MediumLevelILFunction', expr_index: <function NewType.<locals>.new_type at 0x7ff093f00b80>, instr: binaryninja.mediumlevelil.CoreMediumLevelILInstruction, instr_index: <function NewType.<locals>.new_type at 0x7ff093f8a310>)[source]

Bases: binaryninja.mediumlevelil.MediumLevelILUnaryBase, binaryninja.commonil.Arithmetic, binaryninja.commonil.FloatingPoint

Parameters
Return type

None

expr_index: ExpressionIndex
function: MediumLevelILFunction
instr: CoreMediumLevelILInstruction
instr_index: InstructionIndex
class MediumLevelILIntrinsic(function: 'MediumLevelILFunction', expr_index: <function NewType.<locals>.new_type at 0x7ff093f00b80>, instr: binaryninja.mediumlevelil.CoreMediumLevelILInstruction, instr_index: <function NewType.<locals>.new_type at 0x7ff093f8a310>)[source]

Bases: binaryninja.mediumlevelil.MediumLevelILInstruction, binaryninja.commonil.Intrinsic

Parameters
Return type

None

expr_index: ExpressionIndex
function: MediumLevelILFunction
instr: CoreMediumLevelILInstruction
instr_index: InstructionIndex
property intrinsic: ILIntrinsic
property operands: List[Union[int, float, MediumLevelILOperationAndSize, MediumLevelILInstruction, ILIntrinsic, Variable, SSAVariable, List[int], List[Variable], List[SSAVariable], List[MediumLevelILInstruction], Mapping[int, int]]]

Operands for the instruction

property output: List[Variable]
property params: List[MediumLevelILInstruction]
property vars_read: List[Variable]

List of variables read by instruction

property vars_written: List[Variable]

List of variables written by instruction

class MediumLevelILIntrinsicSsa(function: 'MediumLevelILFunction', expr_index: <function NewType.<locals>.new_type at 0x7ff093f00b80>, instr: binaryninja.mediumlevelil.CoreMediumLevelILInstruction, instr_index: <function NewType.<locals>.new_type at 0x7ff093f8a310>)[source]

Bases: binaryninja.mediumlevelil.MediumLevelILInstruction, binaryninja.commonil.SSA

Parameters
Return type

None

expr_index: ExpressionIndex
function: MediumLevelILFunction
instr: CoreMediumLevelILInstruction
instr_index: InstructionIndex
property intrinsic: ILIntrinsic
property operands: List[Union[int, float, MediumLevelILOperationAndSize, MediumLevelILInstruction, ILIntrinsic, Variable, SSAVariable, List[int], List[Variable], List[SSAVariable], List[MediumLevelILInstruction], Mapping[int, int]]]

Operands for the instruction

property output: List[SSAVariable]
property params: List[MediumLevelILInstruction]
property vars_read: List[SSAVariable]

List of variables read by instruction

property vars_written: List[SSAVariable]

List of variables written by instruction

class MediumLevelILJump(function: 'MediumLevelILFunction', expr_index: <function NewType.<locals>.new_type at 0x7ff093f00b80>, instr: binaryninja.mediumlevelil.CoreMediumLevelILInstruction, instr_index: <function NewType.<locals>.new_type at 0x7ff093f8a310>)[source]

Bases: binaryninja.mediumlevelil.MediumLevelILInstruction, binaryninja.commonil.Terminal

Parameters
Return type

None

property dest: MediumLevelILInstruction
expr_index: ExpressionIndex
function: MediumLevelILFunction
instr: CoreMediumLevelILInstruction
instr_index: InstructionIndex
property operands: List[MediumLevelILInstruction]

Operands for the instruction

class MediumLevelILJumpTo(function: 'MediumLevelILFunction', expr_index: <function NewType.<locals>.new_type at 0x7ff093f00b80>, instr: binaryninja.mediumlevelil.CoreMediumLevelILInstruction, instr_index: <function NewType.<locals>.new_type at 0x7ff093f8a310>)[source]

Bases: binaryninja.mediumlevelil.MediumLevelILInstruction, binaryninja.commonil.Terminal

Parameters
Return type

None

property dest: MediumLevelILInstruction
expr_index: ExpressionIndex
function: MediumLevelILFunction
instr: CoreMediumLevelILInstruction
instr_index: InstructionIndex
property operands: List[Union[int, float, MediumLevelILOperationAndSize, MediumLevelILInstruction, ILIntrinsic, Variable, SSAVariable, List[int], List[Variable], List[SSAVariable], List[MediumLevelILInstruction], Mapping[int, int]]]

Operands for the instruction

property targets: Mapping[int, int]
class MediumLevelILLabel(handle: Optional[binaryninja._binaryninjacore.BNMediumLevelILLabel] = None)[source]

Bases: object

Parameters

handle (Optional[binaryninja._binaryninjacore.BNMediumLevelILLabel]) –

class MediumLevelILLoad(function: 'MediumLevelILFunction', expr_index: <function NewType.<locals>.new_type at 0x7ff093f00b80>, instr: binaryninja.mediumlevelil.CoreMediumLevelILInstruction, instr_index: <function NewType.<locals>.new_type at 0x7ff093f8a310>)[source]

Bases: binaryninja.mediumlevelil.MediumLevelILInstruction, binaryninja.commonil.Load

Parameters
Return type

None

expr_index: ExpressionIndex
function: MediumLevelILFunction
instr: CoreMediumLevelILInstruction
instr_index: InstructionIndex
property operands: List[MediumLevelILInstruction]

Operands for the instruction

property src: MediumLevelILInstruction
class MediumLevelILLoadSsa(function: 'MediumLevelILFunction', expr_index: <function NewType.<locals>.new_type at 0x7ff093f00b80>, instr: binaryninja.mediumlevelil.CoreMediumLevelILInstruction, instr_index: <function NewType.<locals>.new_type at 0x7ff093f8a310>)[source]

Bases: binaryninja.mediumlevelil.MediumLevelILInstruction, binaryninja.commonil.Load, binaryninja.commonil.SSA

Parameters
Return type

None

expr_index: ExpressionIndex
function: MediumLevelILFunction
instr: CoreMediumLevelILInstruction
instr_index: InstructionIndex
property operands: List[Union[int, float, MediumLevelILOperationAndSize, MediumLevelILInstruction, ILIntrinsic, Variable, SSAVariable, List[int], List[Variable], List[SSAVariable], List[MediumLevelILInstruction], Mapping[int, int]]]

Operands for the instruction

property src: MediumLevelILInstruction
property src_memory: int
class MediumLevelILLoadStruct(function: 'MediumLevelILFunction', expr_index: <function NewType.<locals>.new_type at 0x7ff093f00b80>, instr: binaryninja.mediumlevelil.CoreMediumLevelILInstruction, instr_index: <function NewType.<locals>.new_type at 0x7ff093f8a310>)[source]

Bases: binaryninja.mediumlevelil.MediumLevelILInstruction, binaryninja.commonil.Load

Parameters
Return type

None

expr_index: ExpressionIndex
function: MediumLevelILFunction
instr: CoreMediumLevelILInstruction
instr_index: InstructionIndex
property offset: int
property operands: List[Union[int, float, MediumLevelILOperationAndSize, MediumLevelILInstruction, ILIntrinsic, Variable, SSAVariable, List[int], List[Variable], List[SSAVariable], List[MediumLevelILInstruction], Mapping[int, int]]]

Operands for the instruction

property src: MediumLevelILInstruction
class MediumLevelILLoadStructSsa(function: 'MediumLevelILFunction', expr_index: <function NewType.<locals>.new_type at 0x7ff093f00b80>, instr: binaryninja.mediumlevelil.CoreMediumLevelILInstruction, instr_index: <function NewType.<locals>.new_type at 0x7ff093f8a310>)[source]

Bases: binaryninja.mediumlevelil.MediumLevelILInstruction, binaryninja.commonil.Load, binaryninja.commonil.SSA

Parameters
Return type

None

expr_index: ExpressionIndex
function: MediumLevelILFunction
instr: CoreMediumLevelILInstruction
instr_index: InstructionIndex
property offset: int
property operands: List[Union[int, float, MediumLevelILOperationAndSize, MediumLevelILInstruction, ILIntrinsic, Variable, SSAVariable, List[int], List[Variable], List[SSAVariable], List[MediumLevelILInstruction], Mapping[int, int]]]

Operands for the instruction

property src: MediumLevelILInstruction
property src_memory: int
class MediumLevelILLowPart(function: 'MediumLevelILFunction', expr_index: <function NewType.<locals>.new_type at 0x7ff093f00b80>, instr: binaryninja.mediumlevelil.CoreMediumLevelILInstruction, instr_index: <function NewType.<locals>.new_type at 0x7ff093f8a310>)[source]

Bases: binaryninja.mediumlevelil.MediumLevelILUnaryBase, binaryninja.commonil.Arithmetic

Parameters
Return type

None

expr_index: ExpressionIndex
function: MediumLevelILFunction
instr: CoreMediumLevelILInstruction
instr_index: InstructionIndex
class MediumLevelILLsl(function: 'MediumLevelILFunction', expr_index: <function NewType.<locals>.new_type at 0x7ff093f00b80>, instr: binaryninja.mediumlevelil.CoreMediumLevelILInstruction, instr_index: <function NewType.<locals>.new_type at 0x7ff093f8a310>)[source]

Bases: binaryninja.mediumlevelil.MediumLevelILBinaryBase, binaryninja.commonil.Arithmetic

Parameters
Return type

None

expr_index: ExpressionIndex
function: MediumLevelILFunction
instr: CoreMediumLevelILInstruction
instr_index: InstructionIndex
class MediumLevelILLsr(function: 'MediumLevelILFunction', expr_index: <function NewType.<locals>.new_type at 0x7ff093f00b80>, instr: binaryninja.mediumlevelil.CoreMediumLevelILInstruction, instr_index: <function NewType.<locals>.new_type at 0x7ff093f8a310>)[source]

Bases: binaryninja.mediumlevelil.MediumLevelILBinaryBase, binaryninja.commonil.Arithmetic

Parameters
Return type

None

expr_index: ExpressionIndex
function: MediumLevelILFunction
instr: CoreMediumLevelILInstruction
instr_index: InstructionIndex
class MediumLevelILMemPhi(function: 'MediumLevelILFunction', expr_index: <function NewType.<locals>.new_type at 0x7ff093f00b80>, instr: binaryninja.mediumlevelil.CoreMediumLevelILInstruction, instr_index: <function NewType.<locals>.new_type at 0x7ff093f8a310>)[source]

Bases: binaryninja.mediumlevelil.MediumLevelILInstruction, binaryninja.commonil.Memory, binaryninja.commonil.Phi

Parameters
Return type

None

property dest_memory: int
expr_index: ExpressionIndex
function: MediumLevelILFunction
instr: CoreMediumLevelILInstruction
instr_index: InstructionIndex
property operands: List[Union[int, float, MediumLevelILOperationAndSize, MediumLevelILInstruction, ILIntrinsic, Variable, SSAVariable, List[int], List[Variable], List[SSAVariable], List[MediumLevelILInstruction], Mapping[int, int]]]

Operands for the instruction

property src_memory: List[int]
class MediumLevelILMods(function: 'MediumLevelILFunction', expr_index: <function NewType.<locals>.new_type at 0x7ff093f00b80>, instr: binaryninja.mediumlevelil.CoreMediumLevelILInstruction, instr_index: <function NewType.<locals>.new_type at 0x7ff093f8a310>)[source]

Bases: binaryninja.mediumlevelil.MediumLevelILBinaryBase, binaryninja.commonil.Arithmetic, binaryninja.commonil.Signed

Parameters
Return type

None

expr_index: ExpressionIndex
function: MediumLevelILFunction
instr: CoreMediumLevelILInstruction
instr_index: InstructionIndex
class MediumLevelILModsDp(function: 'MediumLevelILFunction', expr_index: <function NewType.<locals>.new_type at 0x7ff093f00b80>, instr: binaryninja.mediumlevelil.CoreMediumLevelILInstruction, instr_index: <function NewType.<locals>.new_type at 0x7ff093f8a310>)[source]

Bases: binaryninja.mediumlevelil.MediumLevelILBinaryBase, binaryninja.commonil.DoublePrecision, binaryninja.commonil.Signed

Parameters
Return type

None

expr_index: ExpressionIndex
function: MediumLevelILFunction
instr: CoreMediumLevelILInstruction
instr_index: InstructionIndex
class MediumLevelILModu(function: 'MediumLevelILFunction', expr_index: <function NewType.<locals>.new_type at 0x7ff093f00b80>, instr: binaryninja.mediumlevelil.CoreMediumLevelILInstruction, instr_index: <function NewType.<locals>.new_type at 0x7ff093f8a310>)[source]

Bases: binaryninja.mediumlevelil.MediumLevelILBinaryBase, binaryninja.commonil.Arithmetic

Parameters
Return type

None

expr_index: ExpressionIndex
function: MediumLevelILFunction
instr: CoreMediumLevelILInstruction
instr_index: InstructionIndex
class MediumLevelILModuDp(function: 'MediumLevelILFunction', expr_index: <function NewType.<locals>.new_type at 0x7ff093f00b80>, instr: binaryninja.mediumlevelil.CoreMediumLevelILInstruction, instr_index: <function NewType.<locals>.new_type at 0x7ff093f8a310>)[source]

Bases: binaryninja.mediumlevelil.MediumLevelILBinaryBase, binaryninja.commonil.DoublePrecision

Parameters
Return type

None

expr_index: ExpressionIndex
function: MediumLevelILFunction
instr: CoreMediumLevelILInstruction
instr_index: InstructionIndex
class MediumLevelILMul(function: 'MediumLevelILFunction', expr_index: <function NewType.<locals>.new_type at 0x7ff093f00b80>, instr: binaryninja.mediumlevelil.CoreMediumLevelILInstruction, instr_index: <function NewType.<locals>.new_type at 0x7ff093f8a310>)[source]

Bases: binaryninja.mediumlevelil.MediumLevelILBinaryBase, binaryninja.commonil.Arithmetic

Parameters
Return type

None

expr_index: ExpressionIndex
function: MediumLevelILFunction
instr: CoreMediumLevelILInstruction
instr_index: InstructionIndex
class MediumLevelILMulsDp(function: 'MediumLevelILFunction', expr_index: <function NewType.<locals>.new_type at 0x7ff093f00b80>, instr: binaryninja.mediumlevelil.CoreMediumLevelILInstruction, instr_index: <function NewType.<locals>.new_type at 0x7ff093f8a310>)[source]

Bases: binaryninja.mediumlevelil.MediumLevelILBinaryBase, binaryninja.commonil.DoublePrecision, binaryninja.commonil.Signed

Parameters
Return type

None

expr_index: ExpressionIndex
function: MediumLevelILFunction
instr: CoreMediumLevelILInstruction
instr_index: InstructionIndex
class MediumLevelILMuluDp(function: 'MediumLevelILFunction', expr_index: <function NewType.<locals>.new_type at 0x7ff093f00b80>, instr: binaryninja.mediumlevelil.CoreMediumLevelILInstruction, instr_index: <function NewType.<locals>.new_type at 0x7ff093f8a310>)[source]

Bases: binaryninja.mediumlevelil.MediumLevelILBinaryBase, binaryninja.commonil.DoublePrecision

Parameters
Return type

None

expr_index: ExpressionIndex
function: MediumLevelILFunction
instr: CoreMediumLevelILInstruction
instr_index: InstructionIndex
class MediumLevelILNeg(function: 'MediumLevelILFunction', expr_index: <function NewType.<locals>.new_type at 0x7ff093f00b80>, instr: binaryninja.mediumlevelil.CoreMediumLevelILInstruction, instr_index: <function NewType.<locals>.new_type at 0x7ff093f8a310>)[source]

Bases: binaryninja.mediumlevelil.MediumLevelILUnaryBase, binaryninja.commonil.Arithmetic

Parameters
Return type

None

expr_index: ExpressionIndex
function: MediumLevelILFunction
instr: CoreMediumLevelILInstruction
instr_index: InstructionIndex
class MediumLevelILNop(function: 'MediumLevelILFunction', expr_index: <function NewType.<locals>.new_type at 0x7ff093f00b80>, instr: binaryninja.mediumlevelil.CoreMediumLevelILInstruction, instr_index: <function NewType.<locals>.new_type at 0x7ff093f8a310>)[source]

Bases: binaryninja.mediumlevelil.MediumLevelILInstruction

Parameters
Return type

None

expr_index: ExpressionIndex
function: MediumLevelILFunction
instr: CoreMediumLevelILInstruction
instr_index: InstructionIndex
class MediumLevelILNoret(function: 'MediumLevelILFunction', expr_index: <function NewType.<locals>.new_type at 0x7ff093f00b80>, instr: binaryninja.mediumlevelil.CoreMediumLevelILInstruction, instr_index: <function NewType.<locals>.new_type at 0x7ff093f8a310>)[source]

Bases: binaryninja.mediumlevelil.MediumLevelILInstruction, binaryninja.commonil.Terminal

Parameters
Return type

None

expr_index: ExpressionIndex
function: MediumLevelILFunction
instr: CoreMediumLevelILInstruction
instr_index: InstructionIndex
class MediumLevelILNot(function: 'MediumLevelILFunction', expr_index: <function NewType.<locals>.new_type at 0x7ff093f00b80>, instr: binaryninja.mediumlevelil.CoreMediumLevelILInstruction, instr_index: <function NewType.<locals>.new_type at 0x7ff093f8a310>)[source]

Bases: binaryninja.mediumlevelil.MediumLevelILUnaryBase, binaryninja.commonil.Arithmetic

Parameters
Return type

None

expr_index: ExpressionIndex
function: MediumLevelILFunction
instr: CoreMediumLevelILInstruction
instr_index: InstructionIndex
class MediumLevelILOperationAndSize(operation: MediumLevelILOperation, size: int)[source]

Bases: object

Parameters
Return type

None

operation: MediumLevelILOperation
size: int
class MediumLevelILOr(function: 'MediumLevelILFunction', expr_index: <function NewType.<locals>.new_type at 0x7ff093f00b80>, instr: binaryninja.mediumlevelil.CoreMediumLevelILInstruction, instr_index: <function NewType.<locals>.new_type at 0x7ff093f8a310>)[source]

Bases: binaryninja.mediumlevelil.MediumLevelILBinaryBase, binaryninja.commonil.Arithmetic

Parameters
Return type

None

expr_index: ExpressionIndex
function: MediumLevelILFunction
instr: CoreMediumLevelILInstruction
instr_index: InstructionIndex
class MediumLevelILRet(function: 'MediumLevelILFunction', expr_index: <function NewType.<locals>.new_type at 0x7ff093f00b80>, instr: binaryninja.mediumlevelil.CoreMediumLevelILInstruction, instr_index: <function NewType.<locals>.new_type at 0x7ff093f8a310>)[source]

Bases: binaryninja.mediumlevelil.MediumLevelILInstruction, binaryninja.commonil.Return

Parameters
Return type

None

expr_index: ExpressionIndex
function: MediumLevelILFunction
instr: CoreMediumLevelILInstruction
instr_index: InstructionIndex
property operands: List[List[MediumLevelILInstruction]]

Operands for the instruction

property src: List[MediumLevelILInstruction]
class MediumLevelILRetHint(function: 'MediumLevelILFunction', expr_index: <function NewType.<locals>.new_type at 0x7ff093f00b80>, instr: binaryninja.mediumlevelil.CoreMediumLevelILInstruction, instr_index: <function NewType.<locals>.new_type at 0x7ff093f8a310>)[source]

Bases: binaryninja.mediumlevelil.MediumLevelILInstruction, binaryninja.commonil.ControlFlow

Parameters
Return type

None

property dest: MediumLevelILInstruction
expr_index: ExpressionIndex
function: MediumLevelILFunction
instr: CoreMediumLevelILInstruction
instr_index: InstructionIndex
property operands: List[MediumLevelILInstruction]

Operands for the instruction

class MediumLevelILRlc(function: 'MediumLevelILFunction', expr_index: <function NewType.<locals>.new_type at 0x7ff093f00b80>, instr: binaryninja.mediumlevelil.CoreMediumLevelILInstruction, instr_index: <function NewType.<locals>.new_type at 0x7ff093f8a310>)[source]

Bases: binaryninja.mediumlevelil.MediumLevelILCarryBase

Parameters
Return type

None

expr_index: ExpressionIndex
function: MediumLevelILFunction
instr: CoreMediumLevelILInstruction
instr_index: InstructionIndex
class MediumLevelILRol(function: 'MediumLevelILFunction', expr_index: <function NewType.<locals>.new_type at 0x7ff093f00b80>, instr: binaryninja.mediumlevelil.CoreMediumLevelILInstruction, instr_index: <function NewType.<locals>.new_type at 0x7ff093f8a310>)[source]

Bases: binaryninja.mediumlevelil.MediumLevelILBinaryBase, binaryninja.commonil.Arithmetic

Parameters
Return type

None

expr_index: ExpressionIndex
function: MediumLevelILFunction
instr: CoreMediumLevelILInstruction
instr_index: InstructionIndex
class MediumLevelILRor(function: 'MediumLevelILFunction', expr_index: <function NewType.<locals>.new_type at 0x7ff093f00b80>, instr: binaryninja.mediumlevelil.CoreMediumLevelILInstruction, instr_index: <function NewType.<locals>.new_type at 0x7ff093f8a310>)[source]

Bases: binaryninja.mediumlevelil.MediumLevelILBinaryBase, binaryninja.commonil.Arithmetic

Parameters
Return type

None

expr_index: ExpressionIndex
function: MediumLevelILFunction
instr: CoreMediumLevelILInstruction
instr_index: InstructionIndex
class MediumLevelILRoundToInt(function: 'MediumLevelILFunction', expr_index: <function NewType.<locals>.new_type at 0x7ff093f00b80>, instr: binaryninja.mediumlevelil.CoreMediumLevelILInstruction, instr_index: <function NewType.<locals>.new_type at 0x7ff093f8a310>)[source]

Bases: binaryninja.mediumlevelil.MediumLevelILUnaryBase, binaryninja.commonil.Arithmetic, binaryninja.commonil.FloatingPoint

Parameters
Return type

None

expr_index: ExpressionIndex
function: MediumLevelILFunction
instr: CoreMediumLevelILInstruction
instr_index: InstructionIndex
class MediumLevelILRrc(function: 'MediumLevelILFunction', expr_index: <function NewType.<locals>.new_type at 0x7ff093f00b80>, instr: binaryninja.mediumlevelil.CoreMediumLevelILInstruction, instr_index: <function NewType.<locals>.new_type at 0x7ff093f8a310>)[source]

Bases: binaryninja.mediumlevelil.MediumLevelILCarryBase

Parameters
Return type

None

expr_index: ExpressionIndex
function: MediumLevelILFunction
instr: CoreMediumLevelILInstruction
instr_index: InstructionIndex
class MediumLevelILSbb(function: 'MediumLevelILFunction', expr_index: <function NewType.<locals>.new_type at 0x7ff093f00b80>, instr: binaryninja.mediumlevelil.CoreMediumLevelILInstruction, instr_index: <function NewType.<locals>.new_type at 0x7ff093f8a310>)[source]

Bases: binaryninja.mediumlevelil.MediumLevelILCarryBase

Parameters
Return type

None

expr_index: ExpressionIndex
function: MediumLevelILFunction
instr: CoreMediumLevelILInstruction
instr_index: InstructionIndex
class MediumLevelILSetVar(function: 'MediumLevelILFunction', expr_index: <function NewType.<locals>.new_type at 0x7ff093f00b80>, instr: binaryninja.mediumlevelil.CoreMediumLevelILInstruction, instr_index: <function NewType.<locals>.new_type at 0x7ff093f8a310>)[source]

Bases: binaryninja.mediumlevelil.MediumLevelILInstruction, binaryninja.commonil.SetVar

Parameters
Return type

None

property dest: Variable
expr_index: ExpressionIndex
function: MediumLevelILFunction
instr: CoreMediumLevelILInstruction
instr_index: InstructionIndex
property operands: List[Union[int, float, MediumLevelILOperationAndSize, MediumLevelILInstruction, ILIntrinsic, Variable, SSAVariable, List[int], List[Variable], List[SSAVariable], List[MediumLevelILInstruction], Mapping[int, int]]]

Operands for the instruction

property src: MediumLevelILInstruction
property vars_read: List[Union[Variable, SSAVariable]]

List of variables read by instruction

property vars_written: List[Variable]

List of variables written by instruction

class MediumLevelILSetVarAliased(function: 'MediumLevelILFunction', expr_index: <function NewType.<locals>.new_type at 0x7ff093f00b80>, instr: binaryninja.mediumlevelil.CoreMediumLevelILInstruction, instr_index: <function NewType.<locals>.new_type at 0x7ff093f8a310>)[source]

Bases: binaryninja.mediumlevelil.MediumLevelILInstruction, binaryninja.commonil.SetVar, binaryninja.commonil.SSA

Parameters
Return type

None

property dest: SSAVariable
expr_index: ExpressionIndex
function: MediumLevelILFunction
instr: CoreMediumLevelILInstruction
instr_index: InstructionIndex
property operands: List[Union[int, float, MediumLevelILOperationAndSize, MediumLevelILInstruction, ILIntrinsic, Variable, SSAVariable, List[int], List[Variable], List[SSAVariable], List[MediumLevelILInstruction], Mapping[int, int]]]

Operands for the instruction

property prev: SSAVariable
property src: MediumLevelILInstruction
property vars_read: List[Union[Variable, SSAVariable]]

List of variables read by instruction

property vars_written: List[SSAVariable]

List of variables written by instruction

class MediumLevelILSetVarAliasedField(function: 'MediumLevelILFunction', expr_index: <function NewType.<locals>.new_type at 0x7ff093f00b80>, instr: binaryninja.mediumlevelil.CoreMediumLevelILInstruction, instr_index: <function NewType.<locals>.new_type at 0x7ff093f8a310>)[source]

Bases: binaryninja.mediumlevelil.MediumLevelILInstruction, binaryninja.commonil.SetVar, binaryninja.commonil.SSA

Parameters
Return type

None

property dest: SSAVariable
expr_index: ExpressionIndex
function: MediumLevelILFunction
instr: CoreMediumLevelILInstruction
instr_index: InstructionIndex
property offset: int
property operands: List[Union[int, float, MediumLevelILOperationAndSize, MediumLevelILInstruction, ILIntrinsic, Variable, SSAVariable, List[int], List[Variable], List[SSAVariable], List[MediumLevelILInstruction], Mapping[int, int]]]

Operands for the instruction

property prev: SSAVariable
property src: MediumLevelILInstruction
property vars_read: List[SSAVariable]

List of variables read by instruction

class MediumLevelILSetVarField(function: 'MediumLevelILFunction', expr_index: <function NewType.<locals>.new_type at 0x7ff093f00b80>, instr: binaryninja.mediumlevelil.CoreMediumLevelILInstruction, instr_index: <function NewType.<locals>.new_type at 0x7ff093f8a310>)[source]

Bases: binaryninja.mediumlevelil.MediumLevelILInstruction, binaryninja.commonil.SetVar

Parameters
Return type

None

property dest: Variable
expr_index: ExpressionIndex
function: MediumLevelILFunction
instr: CoreMediumLevelILInstruction
instr_index: InstructionIndex
property offset: int
property operands: List[Union[int, float, MediumLevelILOperationAndSize, MediumLevelILInstruction, ILIntrinsic, Variable, SSAVariable, List[int], List[Variable], List[SSAVariable], List[MediumLevelILInstruction], Mapping[int, int]]]

Operands for the instruction

property src: MediumLevelILInstruction
class MediumLevelILSetVarSplit(function: 'MediumLevelILFunction', expr_index: <function NewType.<locals>.new_type at 0x7ff093f00b80>, instr: binaryninja.mediumlevelil.CoreMediumLevelILInstruction, instr_index: <function NewType.<locals>.new_type at 0x7ff093f8a310>)[source]

Bases: binaryninja.mediumlevelil.MediumLevelILInstruction, binaryninja.commonil.SetVar

Parameters
Return type

None

expr_index: ExpressionIndex
function: MediumLevelILFunction
property high: Variable
instr: CoreMediumLevelILInstruction
instr_index: InstructionIndex
property low: Variable
property operands: List[Union[int, float, MediumLevelILOperationAndSize, MediumLevelILInstruction, ILIntrinsic, Variable, SSAVariable, List[int], List[Variable], List[SSAVariable], List[MediumLevelILInstruction], Mapping[int, int]]]

Operands for the instruction

property src: MediumLevelILInstruction
property vars_written: List[Variable]

List of variables written by instruction

class MediumLevelILSetVarSplitSsa(function: 'MediumLevelILFunction', expr_index: <function NewType.<locals>.new_type at 0x7ff093f00b80>, instr: binaryninja.mediumlevelil.CoreMediumLevelILInstruction, instr_index: <function NewType.<locals>.new_type at 0x7ff093f8a310>)[source]

Bases: binaryninja.mediumlevelil.MediumLevelILInstruction, binaryninja.commonil.SetVar, binaryninja.commonil.SSA

Parameters
Return type

None

expr_index: ExpressionIndex
function: MediumLevelILFunction
property high: SSAVariable
instr: CoreMediumLevelILInstruction
instr_index: InstructionIndex
property low: SSAVariable
property operands: List[Union[int, float, MediumLevelILOperationAndSize, MediumLevelILInstruction, ILIntrinsic, Variable, SSAVariable, List[int], List[Variable], List[SSAVariable], List[MediumLevelILInstruction], Mapping[int, int]]]

Operands for the instruction

property src: MediumLevelILInstruction
property vars_read: List[Union[Variable, SSAVariable]]

List of variables read by instruction

property vars_written: List[SSAVariable]

List of variables written by instruction

class MediumLevelILSetVarSsa(function: 'MediumLevelILFunction', expr_index: <function NewType.<locals>.new_type at 0x7ff093f00b80>, instr: binaryninja.mediumlevelil.CoreMediumLevelILInstruction, instr_index: <function NewType.<locals>.new_type at 0x7ff093f8a310>)[source]

Bases: binaryninja.mediumlevelil.MediumLevelILInstruction, binaryninja.commonil.SetVar, binaryninja.commonil.SSA

Parameters
Return type

None

property dest: SSAVariable
expr_index: ExpressionIndex
function: MediumLevelILFunction
instr: CoreMediumLevelILInstruction
instr_index: InstructionIndex
property operands: List[Union[int, float, MediumLevelILOperationAndSize, MediumLevelILInstruction, ILIntrinsic, Variable, SSAVariable, List[int], List[Variable], List[SSAVariable], List[MediumLevelILInstruction], Mapping[int, int]]]

Operands for the instruction

property src: MediumLevelILInstruction
property vars_read: List[Union[Variable, SSAVariable]]

List of variables read by instruction

property vars_written:</