mediumlevelil module¶
Class |
Description |
|---|---|
The |
|
|
|
|
|
|
|
|
|
- class CoreMediumLevelILInstruction[source]
Bases:
objectCoreMediumLevelILInstruction(operation: binaryninja.enums.MediumLevelILOperation, attributes: int, source_operand: int, size: int, operands: Tuple[ExpressionIndex, ExpressionIndex, ExpressionIndex, ExpressionIndex, ExpressionIndex], address: int)
- __init__(operation: MediumLevelILOperation, attributes: int, source_operand: int, size: int, operands: Tuple[ExpressionIndex, ExpressionIndex, ExpressionIndex, ExpressionIndex, ExpressionIndex], address: int) None
- classmethod from_BNMediumLevelILInstruction(instr: BNMediumLevelILInstruction) CoreMediumLevelILInstruction[source]
- Parameters:
instr (BNMediumLevelILInstruction) –
- Return type:
- address: int
- attributes: int
- operands: Tuple[ExpressionIndex, ExpressionIndex, ExpressionIndex, ExpressionIndex, ExpressionIndex]
- operation: MediumLevelILOperation
- size: int
- source_operand: int
- class LLILSSAToMLILExpressionMap[source]
Bases:
objectLLILSSAToMLILExpressionMap(lower_index: ‘lowlevelil.ExpressionIndex’, higher_index: <function NewType.<locals>.new_type at 0x1129439d0>, map_lower_to_higher: bool, map_higher_to_lower: bool, lower_to_higher_direct: bool, higher_to_lower_direct: bool)
- __init__(lower_index: ExpressionIndex, higher_index: ExpressionIndex, map_lower_to_higher: bool, map_higher_to_lower: bool, lower_to_higher_direct: bool, higher_to_lower_direct: bool) None
- higher_index: ExpressionIndex
- higher_to_lower_direct: bool
- lower_index: ExpressionIndex
- lower_to_higher_direct: bool
- map_higher_to_lower: bool
- map_lower_to_higher: bool
- class MediumLevelILAdc[source]
Bases:
MediumLevelILCarryBaseMediumLevelILAdc(function: ‘MediumLevelILFunction’, expr_index: <function NewType.<locals>.new_type at 0x1129439d0>, instr: binaryninja.mediumlevelil.CoreMediumLevelILInstruction, instr_index: <function NewType.<locals>.new_type at 0x111812ca0>)
- __init__(function: MediumLevelILFunction, expr_index: ExpressionIndex, instr: CoreMediumLevelILInstruction, instr_index: InstructionIndex) None
- Parameters:
function (MediumLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreMediumLevelILInstruction) –
instr_index (InstructionIndex) –
- Return type:
None
- expr_index: ExpressionIndex
- function: MediumLevelILFunction
- instr: CoreMediumLevelILInstruction
- instr_index: InstructionIndex
- class MediumLevelILAdd[source]
Bases:
MediumLevelILBinaryBase,ArithmeticMediumLevelILAdd(function: ‘MediumLevelILFunction’, expr_index: <function NewType.<locals>.new_type at 0x1129439d0>, instr: binaryninja.mediumlevelil.CoreMediumLevelILInstruction, instr_index: <function NewType.<locals>.new_type at 0x111812ca0>)
- __init__(function: MediumLevelILFunction, expr_index: ExpressionIndex, instr: CoreMediumLevelILInstruction, instr_index: InstructionIndex) None
- Parameters:
function (MediumLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreMediumLevelILInstruction) –
instr_index (InstructionIndex) –
- Return type:
None
- expr_index: ExpressionIndex
- function: MediumLevelILFunction
- instr: CoreMediumLevelILInstruction
- instr_index: InstructionIndex
- class MediumLevelILAddOverflow[source]
Bases:
MediumLevelILBinaryBase,ArithmeticMediumLevelILAddOverflow(function: ‘MediumLevelILFunction’, expr_index: <function NewType.<locals>.new_type at 0x1129439d0>, instr: binaryninja.mediumlevelil.CoreMediumLevelILInstruction, instr_index: <function NewType.<locals>.new_type at 0x111812ca0>)
- __init__(function: MediumLevelILFunction, expr_index: ExpressionIndex, instr: CoreMediumLevelILInstruction, instr_index: InstructionIndex) None
- Parameters:
function (MediumLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreMediumLevelILInstruction) –
instr_index (InstructionIndex) –
- Return type:
None
- expr_index: ExpressionIndex
- function: MediumLevelILFunction
- instr: CoreMediumLevelILInstruction
- instr_index: InstructionIndex
- class MediumLevelILAddressOf[source]
Bases:
MediumLevelILInstructionMediumLevelILAddressOf(function: ‘MediumLevelILFunction’, expr_index: <function NewType.<locals>.new_type at 0x1129439d0>, instr: binaryninja.mediumlevelil.CoreMediumLevelILInstruction, instr_index: <function NewType.<locals>.new_type at 0x111812ca0>)
- __init__(function: MediumLevelILFunction, expr_index: ExpressionIndex, instr: CoreMediumLevelILInstruction, instr_index: InstructionIndex) None
- Parameters:
function (MediumLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreMediumLevelILInstruction) –
instr_index (InstructionIndex) –
- Return type:
None
- property detailed_operands: List[Tuple[str, int | float | MediumLevelILOperationAndSize | MediumLevelILInstruction | ILIntrinsic | Variable | SSAVariable | List[int] | List[Variable] | List[SSAVariable] | List[MediumLevelILInstruction] | Dict[int, int] | ConstantData, str]]
Returns a list of tuples containing the name of the operand, the operand, and the type of the operand. Useful for iterating over all operands of an instruction and sub-instructions.
- expr_index: ExpressionIndex
- function: MediumLevelILFunction
- instr: CoreMediumLevelILInstruction
- instr_index: InstructionIndex
- property src: Variable
- class MediumLevelILAddressOfField[source]
Bases:
MediumLevelILInstructionMediumLevelILAddressOfField(function: ‘MediumLevelILFunction’, expr_index: <function NewType.<locals>.new_type at 0x1129439d0>, instr: binaryninja.mediumlevelil.CoreMediumLevelILInstruction, instr_index: <function NewType.<locals>.new_type at 0x111812ca0>)
- __init__(function: MediumLevelILFunction, expr_index: ExpressionIndex, instr: CoreMediumLevelILInstruction, instr_index: InstructionIndex) None
- Parameters:
function (MediumLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreMediumLevelILInstruction) –
instr_index (InstructionIndex) –
- Return type:
None
- property detailed_operands: List[Tuple[str, int | float | MediumLevelILOperationAndSize | MediumLevelILInstruction | ILIntrinsic | Variable | SSAVariable | List[int] | List[Variable] | List[SSAVariable] | List[MediumLevelILInstruction] | Dict[int, int] | ConstantData, str]]
Returns a list of tuples containing the name of the operand, the operand, and the type of the operand. Useful for iterating over all operands of an instruction and sub-instructions.
- expr_index: ExpressionIndex
- function: MediumLevelILFunction
- instr: CoreMediumLevelILInstruction
- instr_index: InstructionIndex
- property offset: int
- property src: Variable
- class MediumLevelILAnd[source]
Bases:
MediumLevelILBinaryBase,ArithmeticMediumLevelILAnd(function: ‘MediumLevelILFunction’, expr_index: <function NewType.<locals>.new_type at 0x1129439d0>, instr: binaryninja.mediumlevelil.CoreMediumLevelILInstruction, instr_index: <function NewType.<locals>.new_type at 0x111812ca0>)
- __init__(function: MediumLevelILFunction, expr_index: ExpressionIndex, instr: CoreMediumLevelILInstruction, instr_index: InstructionIndex) None
- Parameters:
function (MediumLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreMediumLevelILInstruction) –
instr_index (InstructionIndex) –
- Return type:
None
- expr_index: ExpressionIndex
- function: MediumLevelILFunction
- instr: CoreMediumLevelILInstruction
- instr_index: InstructionIndex
- class MediumLevelILAsr[source]
Bases:
MediumLevelILBinaryBase,ArithmeticMediumLevelILAsr(function: ‘MediumLevelILFunction’, expr_index: <function NewType.<locals>.new_type at 0x1129439d0>, instr: binaryninja.mediumlevelil.CoreMediumLevelILInstruction, instr_index: <function NewType.<locals>.new_type at 0x111812ca0>)
- __init__(function: MediumLevelILFunction, expr_index: ExpressionIndex, instr: CoreMediumLevelILInstruction, instr_index: InstructionIndex) None
- Parameters:
function (MediumLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreMediumLevelILInstruction) –
instr_index (InstructionIndex) –
- Return type:
None
- expr_index: ExpressionIndex
- function: MediumLevelILFunction
- instr: CoreMediumLevelILInstruction
- instr_index: InstructionIndex
- class MediumLevelILAssert[source]
Bases:
MediumLevelILInstructionMediumLevelILAssert(function: ‘MediumLevelILFunction’, expr_index: <function NewType.<locals>.new_type at 0x1129439d0>, instr: binaryninja.mediumlevelil.CoreMediumLevelILInstruction, instr_index: <function NewType.<locals>.new_type at 0x111812ca0>)
- __init__(function: MediumLevelILFunction, expr_index: ExpressionIndex, instr: CoreMediumLevelILInstruction, instr_index: InstructionIndex) None
- Parameters:
function (MediumLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreMediumLevelILInstruction) –
instr_index (InstructionIndex) –
- Return type:
None
- property constraint: PossibleValueSet
- expr_index: ExpressionIndex
- function: MediumLevelILFunction
- instr: CoreMediumLevelILInstruction
- instr_index: InstructionIndex
- property src: Variable
- class MediumLevelILAssertSsa[source]
Bases:
MediumLevelILInstruction,SSAMediumLevelILAssertSsa(function: ‘MediumLevelILFunction’, expr_index: <function NewType.<locals>.new_type at 0x1129439d0>, instr: binaryninja.mediumlevelil.CoreMediumLevelILInstruction, instr_index: <function NewType.<locals>.new_type at 0x111812ca0>)
- __init__(function: MediumLevelILFunction, expr_index: ExpressionIndex, instr: CoreMediumLevelILInstruction, instr_index: InstructionIndex) None
- Parameters:
function (MediumLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreMediumLevelILInstruction) –
instr_index (InstructionIndex) –
- Return type:
None
- property constraint: PossibleValueSet
- expr_index: ExpressionIndex
- function: MediumLevelILFunction
- instr: CoreMediumLevelILInstruction
- instr_index: InstructionIndex
- property src: SSAVariable
- class MediumLevelILBasicBlock[source]
Bases:
BasicBlockThe
MediumLevelILBasicBlockobject is returned during analysis and should not be directly instantiated.- __init__(handle: LP_BNBasicBlock, owner: MediumLevelILFunction, view: BinaryView | None = None)[source]
- Parameters:
handle (LP_BNBasicBlock) –
owner (MediumLevelILFunction) –
view (BinaryView | None) –
- property il_function: MediumLevelILFunction
IL Function of which this block is a part, if the block is part of an IL Function.
- property instruction_count: int
- class MediumLevelILBinaryBase[source]
Bases:
MediumLevelILInstruction,BinaryOperationMediumLevelILBinaryBase(function: ‘MediumLevelILFunction’, expr_index: <function NewType.<locals>.new_type at 0x1129439d0>, instr: binaryninja.mediumlevelil.CoreMediumLevelILInstruction, instr_index: <function NewType.<locals>.new_type at 0x111812ca0>)
- __init__(function: MediumLevelILFunction, expr_index: ExpressionIndex, instr: CoreMediumLevelILInstruction, instr_index: InstructionIndex) None
- Parameters:
function (MediumLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreMediumLevelILInstruction) –
instr_index (InstructionIndex) –
- Return type:
None
- property detailed_operands: List[Tuple[str, int | float | MediumLevelILOperationAndSize | MediumLevelILInstruction | ILIntrinsic | Variable | SSAVariable | List[int] | List[Variable] | List[SSAVariable] | List[MediumLevelILInstruction] | Dict[int, int] | ConstantData, str]]
Returns a list of tuples containing the name of the operand, the operand, and the type of the operand. Useful for iterating over all operands of an instruction and sub-instructions.
- expr_index: ExpressionIndex
- function: MediumLevelILFunction
- instr: CoreMediumLevelILInstruction
- instr_index: InstructionIndex
- property left: MediumLevelILInstruction
- property right: MediumLevelILInstruction
- class MediumLevelILBoolToInt[source]
Bases:
MediumLevelILInstructionMediumLevelILBoolToInt(function: ‘MediumLevelILFunction’, expr_index: <function NewType.<locals>.new_type at 0x1129439d0>, instr: binaryninja.mediumlevelil.CoreMediumLevelILInstruction, instr_index: <function NewType.<locals>.new_type at 0x111812ca0>)
- __init__(function: MediumLevelILFunction, expr_index: ExpressionIndex, instr: CoreMediumLevelILInstruction, instr_index: InstructionIndex) None
- Parameters:
function (MediumLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreMediumLevelILInstruction) –
instr_index (InstructionIndex) –
- Return type:
None
- property detailed_operands: List[Tuple[str, int | float | MediumLevelILOperationAndSize | MediumLevelILInstruction | ILIntrinsic | Variable | SSAVariable | List[int] | List[Variable] | List[SSAVariable] | List[MediumLevelILInstruction] | Dict[int, int] | ConstantData, str]]
Returns a list of tuples containing the name of the operand, the operand, and the type of the operand. Useful for iterating over all operands of an instruction and sub-instructions.
- expr_index: ExpressionIndex
- function: MediumLevelILFunction
- instr: CoreMediumLevelILInstruction
- instr_index: InstructionIndex
- property src: MediumLevelILInstruction
- class MediumLevelILBp[source]
Bases:
MediumLevelILInstruction,TerminalMediumLevelILBp(function: ‘MediumLevelILFunction’, expr_index: <function NewType.<locals>.new_type at 0x1129439d0>, instr: binaryninja.mediumlevelil.CoreMediumLevelILInstruction, instr_index: <function NewType.<locals>.new_type at 0x111812ca0>)
- __init__(function: MediumLevelILFunction, expr_index: ExpressionIndex, instr: CoreMediumLevelILInstruction, instr_index: InstructionIndex) None
- Parameters:
function (MediumLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreMediumLevelILInstruction) –
instr_index (InstructionIndex) –
- Return type:
None
- expr_index: ExpressionIndex
- function: MediumLevelILFunction
- instr: CoreMediumLevelILInstruction
- instr_index: InstructionIndex
- class MediumLevelILCall[source]
Bases:
MediumLevelILCallBase,LocalcallMediumLevelILCall(function: ‘MediumLevelILFunction’, expr_index: <function NewType.<locals>.new_type at 0x1129439d0>, instr: binaryninja.mediumlevelil.CoreMediumLevelILInstruction, instr_index: <function NewType.<locals>.new_type at 0x111812ca0>)
- __init__(function: MediumLevelILFunction, expr_index: ExpressionIndex, instr: CoreMediumLevelILInstruction, instr_index: InstructionIndex) None
- Parameters:
function (MediumLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreMediumLevelILInstruction) –
instr_index (InstructionIndex) –
- Return type:
None
- property dest: MediumLevelILInstruction
- property detailed_operands: List[Tuple[str, int | float | MediumLevelILOperationAndSize | MediumLevelILInstruction | ILIntrinsic | Variable | SSAVariable | List[int] | List[Variable] | List[SSAVariable] | List[MediumLevelILInstruction] | Dict[int, int] | ConstantData, str]]
Returns a list of tuples containing the name of the operand, the operand, and the type of the operand. Useful for iterating over all operands of an instruction and sub-instructions.
- expr_index: ExpressionIndex
- function: MediumLevelILFunction
- instr: CoreMediumLevelILInstruction
- instr_index: InstructionIndex
- property params: List[MediumLevelILInstruction]
- class MediumLevelILCallBase[source]
Bases:
MediumLevelILInstruction,CallMediumLevelILCallBase(function: ‘MediumLevelILFunction’, expr_index: <function NewType.<locals>.new_type at 0x1129439d0>, instr: binaryninja.mediumlevelil.CoreMediumLevelILInstruction, instr_index: <function NewType.<locals>.new_type at 0x111812ca0>)
- __init__(function: MediumLevelILFunction, expr_index: ExpressionIndex, instr: CoreMediumLevelILInstruction, instr_index: InstructionIndex) None
- Parameters:
function (MediumLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreMediumLevelILInstruction) –
instr_index (InstructionIndex) –
- Return type:
None
- expr_index: ExpressionIndex
- function: MediumLevelILFunction
- instr: CoreMediumLevelILInstruction
- instr_index: InstructionIndex
- property output: List[Variable | SSAVariable]
- property params: List[SSAVariable | Variable | MediumLevelILInstruction]
- property vars_read: List[Variable | SSAVariable]
List of variables read by instruction
- property vars_written: List[Variable | SSAVariable]
List of variables written by instruction
- class MediumLevelILCallOutput[source]
Bases:
MediumLevelILInstructionMediumLevelILCallOutput(function: ‘MediumLevelILFunction’, expr_index: <function NewType.<locals>.new_type at 0x1129439d0>, instr: binaryninja.mediumlevelil.CoreMediumLevelILInstruction, instr_index: <function NewType.<locals>.new_type at 0x111812ca0>)
- __init__(function: MediumLevelILFunction, expr_index: ExpressionIndex, instr: CoreMediumLevelILInstruction, instr_index: InstructionIndex) None
- Parameters:
function (MediumLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreMediumLevelILInstruction) –
instr_index (InstructionIndex) –
- Return type:
None
- property detailed_operands: List[Tuple[str, int | float | MediumLevelILOperationAndSize | MediumLevelILInstruction | ILIntrinsic | Variable | SSAVariable | List[int] | List[Variable] | List[SSAVariable] | List[MediumLevelILInstruction] | Dict[int, int] | ConstantData, str]]
Returns a list of tuples containing the name of the operand, the operand, and the type of the operand. Useful for iterating over all operands of an instruction and sub-instructions.
- expr_index: ExpressionIndex
- function: MediumLevelILFunction
- instr: CoreMediumLevelILInstruction
- instr_index: InstructionIndex
- class MediumLevelILCallOutputSsa[source]
Bases:
MediumLevelILInstruction,SSAMediumLevelILCallOutputSsa(function: ‘MediumLevelILFunction’, expr_index: <function NewType.<locals>.new_type at 0x1129439d0>, instr: binaryninja.mediumlevelil.CoreMediumLevelILInstruction, instr_index: <function NewType.<locals>.new_type at 0x111812ca0>)
- __init__(function: MediumLevelILFunction, expr_index: ExpressionIndex, instr: CoreMediumLevelILInstruction, instr_index: InstructionIndex) None
- Parameters:
function (MediumLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreMediumLevelILInstruction) –
instr_index (InstructionIndex) –
- Return type:
None
- property dest: List[SSAVariable]
- property dest_memory: int
- property detailed_operands: List[Tuple[str, int | float | MediumLevelILOperationAndSize | MediumLevelILInstruction | ILIntrinsic | Variable | SSAVariable | List[int] | List[Variable] | List[SSAVariable] | List[MediumLevelILInstruction] | Dict[int, int] | ConstantData, str]]
Returns a list of tuples containing the name of the operand, the operand, and the type of the operand. Useful for iterating over all operands of an instruction and sub-instructions.
- expr_index: ExpressionIndex
- function: MediumLevelILFunction
- instr: CoreMediumLevelILInstruction
- instr_index: InstructionIndex
- property vars_written: List[SSAVariable]
List of variables written by instruction
- class MediumLevelILCallParam[source]
Bases:
MediumLevelILInstructionMediumLevelILCallParam(function: ‘MediumLevelILFunction’, expr_index: <function NewType.<locals>.new_type at 0x1129439d0>, instr: binaryninja.mediumlevelil.CoreMediumLevelILInstruction, instr_index: <function NewType.<locals>.new_type at 0x111812ca0>)
- __init__(function: MediumLevelILFunction, expr_index: ExpressionIndex, instr: CoreMediumLevelILInstruction, instr_index: InstructionIndex) None
- Parameters:
function (MediumLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreMediumLevelILInstruction) –
instr_index (InstructionIndex) –
- Return type:
None
- property detailed_operands: List[Tuple[str, int | float | MediumLevelILOperationAndSize | MediumLevelILInstruction | ILIntrinsic | Variable | SSAVariable | List[int] | List[Variable] | List[SSAVariable] | List[MediumLevelILInstruction] | Dict[int, int] | ConstantData, str]]
Returns a list of tuples containing the name of the operand, the operand, and the type of the operand. Useful for iterating over all operands of an instruction and sub-instructions.
- expr_index: ExpressionIndex
- function: MediumLevelILFunction
- instr: CoreMediumLevelILInstruction
- instr_index: InstructionIndex
- property src: List[MediumLevelILInstruction]
- class MediumLevelILCallParamSsa[source]
Bases:
MediumLevelILInstruction,SSAMediumLevelILCallParamSsa(function: ‘MediumLevelILFunction’, expr_index: <function NewType.<locals>.new_type at 0x1129439d0>, instr: binaryninja.mediumlevelil.CoreMediumLevelILInstruction, instr_index: <function NewType.<locals>.new_type at 0x111812ca0>)
- __init__(function: MediumLevelILFunction, expr_index: ExpressionIndex, instr: CoreMediumLevelILInstruction, instr_index: InstructionIndex) None
- Parameters:
function (MediumLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreMediumLevelILInstruction) –
instr_index (InstructionIndex) –
- Return type:
None
- property detailed_operands: List[Tuple[str, int | float | MediumLevelILOperationAndSize | MediumLevelILInstruction | ILIntrinsic | Variable | SSAVariable | List[int] | List[Variable] | List[SSAVariable] | List[MediumLevelILInstruction] | Dict[int, int] | ConstantData, str]]
Returns a list of tuples containing the name of the operand, the operand, and the type of the operand. Useful for iterating over all operands of an instruction and sub-instructions.
- expr_index: ExpressionIndex
- function: MediumLevelILFunction
- instr: CoreMediumLevelILInstruction
- instr_index: InstructionIndex
- property src: List[MediumLevelILInstruction]
- property src_memory: int
- class MediumLevelILCallSsa[source]
Bases:
MediumLevelILCallBase,Localcall,SSAMediumLevelILCallSsa(function: ‘MediumLevelILFunction’, expr_index: <function NewType.<locals>.new_type at 0x1129439d0>, instr: binaryninja.mediumlevelil.CoreMediumLevelILInstruction, instr_index: <function NewType.<locals>.new_type at 0x111812ca0>)
- __init__(function: MediumLevelILFunction, expr_index: ExpressionIndex, instr: CoreMediumLevelILInstruction, instr_index: InstructionIndex) None
- Parameters:
function (MediumLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreMediumLevelILInstruction) –
instr_index (InstructionIndex) –
- Return type:
None
- property dest: MediumLevelILInstruction
- property detailed_operands: List[Tuple[str, int | float | MediumLevelILOperationAndSize | MediumLevelILInstruction | ILIntrinsic | Variable | SSAVariable | List[int] | List[Variable] | List[SSAVariable] | List[MediumLevelILInstruction] | Dict[int, int] | ConstantData, str]]
Returns a list of tuples containing the name of the operand, the operand, and the type of the operand. Useful for iterating over all operands of an instruction and sub-instructions.
- expr_index: ExpressionIndex
- function: MediumLevelILFunction
- instr: CoreMediumLevelILInstruction
- instr_index: InstructionIndex
- property output: List[SSAVariable]
- property output_dest_memory: int
- property params: List[MediumLevelILInstruction]
- property src_memory: int
- class MediumLevelILCallUntyped[source]
Bases:
MediumLevelILCallBase,LocalcallMediumLevelILCallUntyped(function: ‘MediumLevelILFunction’, expr_index: <function NewType.<locals>.new_type at 0x1129439d0>, instr: binaryninja.mediumlevelil.CoreMediumLevelILInstruction, instr_index: <function NewType.<locals>.new_type at 0x111812ca0>)
- __init__(function: MediumLevelILFunction, expr_index: ExpressionIndex, instr: CoreMediumLevelILInstruction, instr_index: InstructionIndex) None
- Parameters:
function (MediumLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreMediumLevelILInstruction) –
instr_index (InstructionIndex) –
- Return type:
None
- property dest: MediumLevelILInstruction
- property detailed_operands: List[Tuple[str, int | float | MediumLevelILOperationAndSize | MediumLevelILInstruction | ILIntrinsic | Variable | SSAVariable | List[int] | List[Variable] | List[SSAVariable] | List[MediumLevelILInstruction] | Dict[int, int] | ConstantData, str]]
Returns a list of tuples containing the name of the operand, the operand, and the type of the operand. Useful for iterating over all operands of an instruction and sub-instructions.
- expr_index: ExpressionIndex
- function: MediumLevelILFunction
- instr: CoreMediumLevelILInstruction
- instr_index: InstructionIndex
- property params: List[MediumLevelILInstruction]
- property stack: MediumLevelILInstruction
- class MediumLevelILCallUntypedSsa[source]
Bases:
MediumLevelILCallBase,Localcall,SSAMediumLevelILCallUntypedSsa(function: ‘MediumLevelILFunction’, expr_index: <function NewType.<locals>.new_type at 0x1129439d0>, instr: binaryninja.mediumlevelil.CoreMediumLevelILInstruction, instr_index: <function NewType.<locals>.new_type at 0x111812ca0>)
- __init__(function: MediumLevelILFunction, expr_index: ExpressionIndex, instr: CoreMediumLevelILInstruction, instr_index: InstructionIndex) None
- Parameters:
function (MediumLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreMediumLevelILInstruction) –
instr_index (InstructionIndex) –
- Return type:
None
- property dest: MediumLevelILInstruction
- property detailed_operands: List[Tuple[str, int | float | MediumLevelILOperationAndSize | MediumLevelILInstruction | ILIntrinsic | Variable | SSAVariable | List[int] | List[Variable] | List[SSAVariable] | List[MediumLevelILInstruction] | Dict[int, int] | ConstantData, str]]
Returns a list of tuples containing the name of the operand, the operand, and the type of the operand. Useful for iterating over all operands of an instruction and sub-instructions.
- expr_index: ExpressionIndex
- function: MediumLevelILFunction
- instr: CoreMediumLevelILInstruction
- instr_index: InstructionIndex
- property output: List[SSAVariable]
- property output_dest_memory: int
- property params: List[MediumLevelILInstruction]
- property params_src_memory
- property stack: MediumLevelILInstruction
- class MediumLevelILCarryBase[source]
Bases:
MediumLevelILInstruction,CarryMediumLevelILCarryBase(function: ‘MediumLevelILFunction’, expr_index: <function NewType.<locals>.new_type at 0x1129439d0>, instr: binaryninja.mediumlevelil.CoreMediumLevelILInstruction, instr_index: <function NewType.<locals>.new_type at 0x111812ca0>)
- __init__(function: MediumLevelILFunction, expr_index: ExpressionIndex, instr: CoreMediumLevelILInstruction, instr_index: InstructionIndex) None
- Parameters:
function (MediumLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreMediumLevelILInstruction) –
instr_index (InstructionIndex) –
- Return type:
None
- property carry: MediumLevelILInstruction
- property detailed_operands: List[Tuple[str, int | float | MediumLevelILOperationAndSize | MediumLevelILInstruction | ILIntrinsic | Variable | SSAVariable | List[int] | List[Variable] | List[SSAVariable] | List[MediumLevelILInstruction] | Dict[int, int] | ConstantData, str]]
Returns a list of tuples containing the name of the operand, the operand, and the type of the operand. Useful for iterating over all operands of an instruction and sub-instructions.
- expr_index: ExpressionIndex
- function: MediumLevelILFunction
- instr: CoreMediumLevelILInstruction
- instr_index: InstructionIndex
- property left: MediumLevelILInstruction
- property right: MediumLevelILInstruction
- class MediumLevelILCeil[source]
Bases:
MediumLevelILUnaryBase,Arithmetic,FloatingPointMediumLevelILCeil(function: ‘MediumLevelILFunction’, expr_index: <function NewType.<locals>.new_type at 0x1129439d0>, instr: binaryninja.mediumlevelil.CoreMediumLevelILInstruction, instr_index: <function NewType.<locals>.new_type at 0x111812ca0>)
- __init__(function: MediumLevelILFunction, expr_index: ExpressionIndex, instr: CoreMediumLevelILInstruction, instr_index: InstructionIndex) None
- Parameters:
function (MediumLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreMediumLevelILInstruction) –
instr_index (InstructionIndex) –
- Return type:
None
- expr_index: ExpressionIndex
- function: MediumLevelILFunction
- instr: CoreMediumLevelILInstruction
- instr_index: InstructionIndex
- class MediumLevelILCmpE[source]
Bases:
MediumLevelILComparisonBaseMediumLevelILCmpE(function: ‘MediumLevelILFunction’, expr_index: <function NewType.<locals>.new_type at 0x1129439d0>, instr: binaryninja.mediumlevelil.CoreMediumLevelILInstruction, instr_index: <function NewType.<locals>.new_type at 0x111812ca0>)
- __init__(function: MediumLevelILFunction, expr_index: ExpressionIndex, instr: CoreMediumLevelILInstruction, instr_index: InstructionIndex) None
- Parameters:
function (MediumLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreMediumLevelILInstruction) –
instr_index (InstructionIndex) –
- Return type:
None
- expr_index: ExpressionIndex
- function: MediumLevelILFunction
- instr: CoreMediumLevelILInstruction
- instr_index: InstructionIndex
- class MediumLevelILCmpNe[source]
Bases:
MediumLevelILComparisonBaseMediumLevelILCmpNe(function: ‘MediumLevelILFunction’, expr_index: <function NewType.<locals>.new_type at 0x1129439d0>, instr: binaryninja.mediumlevelil.CoreMediumLevelILInstruction, instr_index: <function NewType.<locals>.new_type at 0x111812ca0>)
- __init__(function: MediumLevelILFunction, expr_index: ExpressionIndex, instr: CoreMediumLevelILInstruction, instr_index: InstructionIndex) None
- Parameters:
function (MediumLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreMediumLevelILInstruction) –
instr_index (InstructionIndex) –
- Return type:
None
- expr_index: ExpressionIndex
- function: MediumLevelILFunction
- instr: CoreMediumLevelILInstruction
- instr_index: InstructionIndex
- class MediumLevelILCmpSge[source]
Bases:
MediumLevelILComparisonBase,SignedMediumLevelILCmpSge(function: ‘MediumLevelILFunction’, expr_index: <function NewType.<locals>.new_type at 0x1129439d0>, instr: binaryninja.mediumlevelil.CoreMediumLevelILInstruction, instr_index: <function NewType.<locals>.new_type at 0x111812ca0>)
- __init__(function: MediumLevelILFunction, expr_index: ExpressionIndex, instr: CoreMediumLevelILInstruction, instr_index: InstructionIndex) None
- Parameters:
function (MediumLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreMediumLevelILInstruction) –
instr_index (InstructionIndex) –
- Return type:
None
- expr_index: ExpressionIndex
- function: MediumLevelILFunction
- instr: CoreMediumLevelILInstruction
- instr_index: InstructionIndex
- class MediumLevelILCmpSgt[source]
Bases:
MediumLevelILComparisonBase,SignedMediumLevelILCmpSgt(function: ‘MediumLevelILFunction’, expr_index: <function NewType.<locals>.new_type at 0x1129439d0>, instr: binaryninja.mediumlevelil.CoreMediumLevelILInstruction, instr_index: <function NewType.<locals>.new_type at 0x111812ca0>)
- __init__(function: MediumLevelILFunction, expr_index: ExpressionIndex, instr: CoreMediumLevelILInstruction, instr_index: InstructionIndex) None
- Parameters:
function (MediumLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreMediumLevelILInstruction) –
instr_index (InstructionIndex) –
- Return type:
None
- expr_index: ExpressionIndex
- function: MediumLevelILFunction
- instr: CoreMediumLevelILInstruction
- instr_index: InstructionIndex
- class MediumLevelILCmpSle[source]
Bases:
MediumLevelILComparisonBase,SignedMediumLevelILCmpSle(function: ‘MediumLevelILFunction’, expr_index: <function NewType.<locals>.new_type at 0x1129439d0>, instr: binaryninja.mediumlevelil.CoreMediumLevelILInstruction, instr_index: <function NewType.<locals>.new_type at 0x111812ca0>)
- __init__(function: MediumLevelILFunction, expr_index: ExpressionIndex, instr: CoreMediumLevelILInstruction, instr_index: InstructionIndex) None
- Parameters:
function (MediumLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreMediumLevelILInstruction) –
instr_index (InstructionIndex) –
- Return type:
None
- expr_index: ExpressionIndex
- function: MediumLevelILFunction
- instr: CoreMediumLevelILInstruction
- instr_index: InstructionIndex
- class MediumLevelILCmpSlt[source]
Bases:
MediumLevelILComparisonBase,SignedMediumLevelILCmpSlt(function: ‘MediumLevelILFunction’, expr_index: <function NewType.<locals>.new_type at 0x1129439d0>, instr: binaryninja.mediumlevelil.CoreMediumLevelILInstruction, instr_index: <function NewType.<locals>.new_type at 0x111812ca0>)
- __init__(function: MediumLevelILFunction, expr_index: ExpressionIndex, instr: CoreMediumLevelILInstruction, instr_index: InstructionIndex) None
- Parameters:
function (MediumLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreMediumLevelILInstruction) –
instr_index (InstructionIndex) –
- Return type:
None
- expr_index: ExpressionIndex
- function: MediumLevelILFunction
- instr: CoreMediumLevelILInstruction
- instr_index: InstructionIndex
- class MediumLevelILCmpUge[source]
Bases:
MediumLevelILComparisonBaseMediumLevelILCmpUge(function: ‘MediumLevelILFunction’, expr_index: <function NewType.<locals>.new_type at 0x1129439d0>, instr: binaryninja.mediumlevelil.CoreMediumLevelILInstruction, instr_index: <function NewType.<locals>.new_type at 0x111812ca0>)
- __init__(function: MediumLevelILFunction, expr_index: ExpressionIndex, instr: CoreMediumLevelILInstruction, instr_index: InstructionIndex) None
- Parameters:
function (MediumLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreMediumLevelILInstruction) –
instr_index (InstructionIndex) –
- Return type:
None
- expr_index: ExpressionIndex
- function: MediumLevelILFunction
- instr: CoreMediumLevelILInstruction
- instr_index: InstructionIndex
- class MediumLevelILCmpUgt[source]
Bases:
MediumLevelILComparisonBaseMediumLevelILCmpUgt(function: ‘MediumLevelILFunction’, expr_index: <function NewType.<locals>.new_type at 0x1129439d0>, instr: binaryninja.mediumlevelil.CoreMediumLevelILInstruction, instr_index: <function NewType.<locals>.new_type at 0x111812ca0>)
- __init__(function: MediumLevelILFunction, expr_index: ExpressionIndex, instr: CoreMediumLevelILInstruction, instr_index: InstructionIndex) None
- Parameters:
function (MediumLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreMediumLevelILInstruction) –
instr_index (InstructionIndex) –
- Return type:
None
- expr_index: ExpressionIndex
- function: MediumLevelILFunction
- instr: CoreMediumLevelILInstruction
- instr_index: InstructionIndex
- class MediumLevelILCmpUle[source]
Bases:
MediumLevelILComparisonBaseMediumLevelILCmpUle(function: ‘MediumLevelILFunction’, expr_index: <function NewType.<locals>.new_type at 0x1129439d0>, instr: binaryninja.mediumlevelil.CoreMediumLevelILInstruction, instr_index: <function NewType.<locals>.new_type at 0x111812ca0>)
- __init__(function: MediumLevelILFunction, expr_index: ExpressionIndex, instr: CoreMediumLevelILInstruction, instr_index: InstructionIndex) None
- Parameters:
function (MediumLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreMediumLevelILInstruction) –
instr_index (InstructionIndex) –
- Return type:
None
- expr_index: ExpressionIndex
- function: MediumLevelILFunction
- instr: CoreMediumLevelILInstruction
- instr_index: InstructionIndex
- class MediumLevelILCmpUlt[source]
Bases:
MediumLevelILComparisonBaseMediumLevelILCmpUlt(function: ‘MediumLevelILFunction’, expr_index: <function NewType.<locals>.new_type at 0x1129439d0>, instr: binaryninja.mediumlevelil.CoreMediumLevelILInstruction, instr_index: <function NewType.<locals>.new_type at 0x111812ca0>)
- __init__(function: MediumLevelILFunction, expr_index: ExpressionIndex, instr: CoreMediumLevelILInstruction, instr_index: InstructionIndex) None
- Parameters:
function (MediumLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreMediumLevelILInstruction) –
instr_index (InstructionIndex) –
- Return type:
None
- expr_index: ExpressionIndex
- function: MediumLevelILFunction
- instr: CoreMediumLevelILInstruction
- instr_index: InstructionIndex
- class MediumLevelILComparisonBase[source]
Bases:
MediumLevelILBinaryBase,ComparisonMediumLevelILComparisonBase(function: ‘MediumLevelILFunction’, expr_index: <function NewType.<locals>.new_type at 0x1129439d0>, instr: binaryninja.mediumlevelil.CoreMediumLevelILInstruction, instr_index: <function NewType.<locals>.new_type at 0x111812ca0>)
- __init__(function: MediumLevelILFunction, expr_index: ExpressionIndex, instr: CoreMediumLevelILInstruction, instr_index: InstructionIndex) None
- Parameters:
function (MediumLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreMediumLevelILInstruction) –
instr_index (InstructionIndex) –
- Return type:
None
- expr_index: ExpressionIndex
- function: MediumLevelILFunction
- instr: CoreMediumLevelILInstruction
- instr_index: InstructionIndex
- class MediumLevelILConst[source]
Bases:
MediumLevelILConstBaseMediumLevelILConst(function: ‘MediumLevelILFunction’, expr_index: <function NewType.<locals>.new_type at 0x1129439d0>, instr: binaryninja.mediumlevelil.CoreMediumLevelILInstruction, instr_index: <function NewType.<locals>.new_type at 0x111812ca0>)
- __init__(function: MediumLevelILFunction, expr_index: ExpressionIndex, instr: CoreMediumLevelILInstruction, instr_index: InstructionIndex) None
- Parameters:
function (MediumLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreMediumLevelILInstruction) –
instr_index (InstructionIndex) –
- Return type:
None
- property constant: int
- property detailed_operands: List[Tuple[str, int | float | MediumLevelILOperationAndSize | MediumLevelILInstruction | ILIntrinsic | Variable | SSAVariable | List[int] | List[Variable] | List[SSAVariable] | List[MediumLevelILInstruction] | Dict[int, int] | ConstantData, str]]
Returns a list of tuples containing the name of the operand, the operand, and the type of the operand. Useful for iterating over all operands of an instruction and sub-instructions.
- expr_index: ExpressionIndex
- function: MediumLevelILFunction
- instr: CoreMediumLevelILInstruction
- instr_index: InstructionIndex
- class MediumLevelILConstBase[source]
Bases:
MediumLevelILInstruction,ConstantMediumLevelILConstBase(function: ‘MediumLevelILFunction’, expr_index: <function NewType.<locals>.new_type at 0x1129439d0>, instr: binaryninja.mediumlevelil.CoreMediumLevelILInstruction, instr_index: <function NewType.<locals>.new_type at 0x111812ca0>)
- __init__(function: MediumLevelILFunction, expr_index: ExpressionIndex, instr: CoreMediumLevelILInstruction, instr_index: InstructionIndex) None
- Parameters:
function (MediumLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreMediumLevelILInstruction) –
instr_index (InstructionIndex) –
- Return type:
None
- expr_index: ExpressionIndex
- function: MediumLevelILFunction
- instr: CoreMediumLevelILInstruction
- instr_index: InstructionIndex
- class MediumLevelILConstData[source]
Bases:
MediumLevelILConstBaseMediumLevelILConstData(function: ‘MediumLevelILFunction’, expr_index: <function NewType.<locals>.new_type at 0x1129439d0>, instr: binaryninja.mediumlevelil.CoreMediumLevelILInstruction, instr_index: <function NewType.<locals>.new_type at 0x111812ca0>)
- __init__(function: MediumLevelILFunction, expr_index: ExpressionIndex, instr: CoreMediumLevelILInstruction, instr_index: InstructionIndex) None
- Parameters:
function (MediumLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreMediumLevelILInstruction) –
instr_index (InstructionIndex) –
- Return type:
None
- property constant: ConstantData
- property constant_data: ConstantData
- property detailed_operands: List[Tuple[str, int | float | MediumLevelILOperationAndSize | MediumLevelILInstruction | ILIntrinsic | Variable | SSAVariable | List[int] | List[Variable] | List[SSAVariable] | List[MediumLevelILInstruction] | Dict[int, int] | ConstantData, str]]
Returns a list of tuples containing the name of the operand, the operand, and the type of the operand. Useful for iterating over all operands of an instruction and sub-instructions.
- expr_index: ExpressionIndex
- function: MediumLevelILFunction
- instr: CoreMediumLevelILInstruction
- instr_index: InstructionIndex
- class MediumLevelILConstPtr[source]
Bases:
MediumLevelILConstBaseMediumLevelILConstPtr(function: ‘MediumLevelILFunction’, expr_index: <function NewType.<locals>.new_type at 0x1129439d0>, instr: binaryninja.mediumlevelil.CoreMediumLevelILInstruction, instr_index: <function NewType.<locals>.new_type at 0x111812ca0>)
- __init__(function: MediumLevelILFunction, expr_index: ExpressionIndex, instr: CoreMediumLevelILInstruction, instr_index: InstructionIndex) None
- Parameters:
function (MediumLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreMediumLevelILInstruction) –
instr_index (InstructionIndex) –
- Return type:
None
- property constant: int
- property detailed_operands: List[Tuple[str, int | float | MediumLevelILOperationAndSize | MediumLevelILInstruction | ILIntrinsic | Variable | SSAVariable | List[int] | List[Variable] | List[SSAVariable] | List[MediumLevelILInstruction] | Dict[int, int] | ConstantData, str]]
Returns a list of tuples containing the name of the operand, the operand, and the type of the operand. Useful for iterating over all operands of an instruction and sub-instructions.
- expr_index: ExpressionIndex
- function: MediumLevelILFunction
- instr: CoreMediumLevelILInstruction
- instr_index: InstructionIndex
- property string: Tuple[str, StringType] | None
- class MediumLevelILDivs[source]
Bases:
MediumLevelILBinaryBase,Arithmetic,SignedMediumLevelILDivs(function: ‘MediumLevelILFunction’, expr_index: <function NewType.<locals>.new_type at 0x1129439d0>, instr: binaryninja.mediumlevelil.CoreMediumLevelILInstruction, instr_index: <function NewType.<locals>.new_type at 0x111812ca0>)
- __init__(function: MediumLevelILFunction, expr_index: ExpressionIndex, instr: CoreMediumLevelILInstruction, instr_index: InstructionIndex) None
- Parameters:
function (MediumLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreMediumLevelILInstruction) –
instr_index (InstructionIndex) –
- Return type:
None
- expr_index: ExpressionIndex
- function: MediumLevelILFunction
- instr: CoreMediumLevelILInstruction
- instr_index: InstructionIndex
- class MediumLevelILDivsDp[source]
Bases:
MediumLevelILBinaryBase,DoublePrecision,SignedMediumLevelILDivsDp(function: ‘MediumLevelILFunction’, expr_index: <function NewType.<locals>.new_type at 0x1129439d0>, instr: binaryninja.mediumlevelil.CoreMediumLevelILInstruction, instr_index: <function NewType.<locals>.new_type at 0x111812ca0>)
- __init__(function: MediumLevelILFunction, expr_index: ExpressionIndex, instr: CoreMediumLevelILInstruction, instr_index: InstructionIndex) None
- Parameters:
function (MediumLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreMediumLevelILInstruction) –
instr_index (InstructionIndex) –
- Return type:
None
- expr_index: ExpressionIndex
- function: MediumLevelILFunction
- instr: CoreMediumLevelILInstruction
- instr_index: InstructionIndex
- class MediumLevelILDivu[source]
Bases:
MediumLevelILBinaryBase,ArithmeticMediumLevelILDivu(function: ‘MediumLevelILFunction’, expr_index: <function NewType.<locals>.new_type at 0x1129439d0>, instr: binaryninja.mediumlevelil.CoreMediumLevelILInstruction, instr_index: <function NewType.<locals>.new_type at 0x111812ca0>)
- __init__(function: MediumLevelILFunction, expr_index: ExpressionIndex, instr: CoreMediumLevelILInstruction, instr_index: InstructionIndex) None
- Parameters:
function (MediumLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreMediumLevelILInstruction) –
instr_index (InstructionIndex) –
- Return type:
None
- expr_index: ExpressionIndex
- function: MediumLevelILFunction
- instr: CoreMediumLevelILInstruction
- instr_index: InstructionIndex
- class MediumLevelILDivuDp[source]
Bases:
MediumLevelILBinaryBase,DoublePrecisionMediumLevelILDivuDp(function: ‘MediumLevelILFunction’, expr_index: <function NewType.<locals>.new_type at 0x1129439d0>, instr: binaryninja.mediumlevelil.CoreMediumLevelILInstruction, instr_index: <function NewType.<locals>.new_type at 0x111812ca0>)
- __init__(function: MediumLevelILFunction, expr_index: ExpressionIndex, instr: CoreMediumLevelILInstruction, instr_index: InstructionIndex) None
- Parameters:
function (MediumLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreMediumLevelILInstruction) –
instr_index (InstructionIndex) –
- Return type:
None
- expr_index: ExpressionIndex
- function: MediumLevelILFunction
- instr: CoreMediumLevelILInstruction
- instr_index: InstructionIndex
- class MediumLevelILExpr[source]
Bases:
objectclass MediumLevelILExprhold the index of IL Expressions.Note
Deprecated. Use ExpressionIndex instead
- __init__(index)[source]
- property index
- class MediumLevelILExternPtr[source]
Bases:
MediumLevelILConstBaseMediumLevelILExternPtr(function: ‘MediumLevelILFunction’, expr_index: <function NewType.<locals>.new_type at 0x1129439d0>, instr: binaryninja.mediumlevelil.CoreMediumLevelILInstruction, instr_index: <function NewType.<locals>.new_type at 0x111812ca0>)
- __init__(function: MediumLevelILFunction, expr_index: ExpressionIndex, instr: CoreMediumLevelILInstruction, instr_index: InstructionIndex) None
- Parameters:
function (MediumLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreMediumLevelILInstruction) –
instr_index (InstructionIndex) –
- Return type:
None
- property constant: int
- property detailed_operands: List[Tuple[str, int | float | MediumLevelILOperationAndSize | MediumLevelILInstruction | ILIntrinsic | Variable | SSAVariable | List[int] | List[Variable] | List[SSAVariable] | List[MediumLevelILInstruction] | Dict[int, int] | ConstantData, str]]
Returns a list of tuples containing the name of the operand, the operand, and the type of the operand. Useful for iterating over all operands of an instruction and sub-instructions.
- expr_index: ExpressionIndex
- function: MediumLevelILFunction
- instr: CoreMediumLevelILInstruction
- instr_index: InstructionIndex
- property offset: int
- class MediumLevelILFabs[source]
Bases:
MediumLevelILUnaryBase,Arithmetic,FloatingPointMediumLevelILFabs(function: ‘MediumLevelILFunction’, expr_index: <function NewType.<locals>.new_type at 0x1129439d0>, instr: binaryninja.mediumlevelil.CoreMediumLevelILInstruction, instr_index: <function NewType.<locals>.new_type at 0x111812ca0>)
- __init__(function: MediumLevelILFunction, expr_index: ExpressionIndex, instr: CoreMediumLevelILInstruction, instr_index: InstructionIndex) None
- Parameters:
function (MediumLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreMediumLevelILInstruction) –
instr_index (InstructionIndex) –
- Return type:
None
- expr_index: ExpressionIndex
- function: MediumLevelILFunction
- instr: CoreMediumLevelILInstruction
- instr_index: InstructionIndex
- class MediumLevelILFadd[source]
Bases:
MediumLevelILBinaryBase,Arithmetic,FloatingPointMediumLevelILFadd(function: ‘MediumLevelILFunction’, expr_index: <function NewType.<locals>.new_type at 0x1129439d0>, instr: binaryninja.mediumlevelil.CoreMediumLevelILInstruction, instr_index: <function NewType.<locals>.new_type at 0x111812ca0>)
- __init__(function: MediumLevelILFunction, expr_index: ExpressionIndex, instr: CoreMediumLevelILInstruction, instr_index: InstructionIndex) None
- Parameters:
function (MediumLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreMediumLevelILInstruction) –
instr_index (InstructionIndex) –
- Return type:
None
- expr_index: ExpressionIndex
- function: MediumLevelILFunction
- instr: CoreMediumLevelILInstruction
- instr_index: InstructionIndex
- class MediumLevelILFcmpE[source]
Bases:
MediumLevelILComparisonBase,FloatingPointMediumLevelILFcmpE(function: ‘MediumLevelILFunction’, expr_index: <function NewType.<locals>.new_type at 0x1129439d0>, instr: binaryninja.mediumlevelil.CoreMediumLevelILInstruction, instr_index: <function NewType.<locals>.new_type at 0x111812ca0>)
- __init__(function: MediumLevelILFunction, expr_index: ExpressionIndex, instr: CoreMediumLevelILInstruction, instr_index: InstructionIndex) None
- Parameters:
function (MediumLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreMediumLevelILInstruction) –
instr_index (InstructionIndex) –
- Return type:
None
- expr_index: ExpressionIndex
- function: MediumLevelILFunction
- instr: CoreMediumLevelILInstruction
- instr_index: InstructionIndex
- class MediumLevelILFcmpGe[source]
Bases:
MediumLevelILComparisonBase,FloatingPointMediumLevelILFcmpGe(function: ‘MediumLevelILFunction’, expr_index: <function NewType.<locals>.new_type at 0x1129439d0>, instr: binaryninja.mediumlevelil.CoreMediumLevelILInstruction, instr_index: <function NewType.<locals>.new_type at 0x111812ca0>)
- __init__(function: MediumLevelILFunction, expr_index: ExpressionIndex, instr: CoreMediumLevelILInstruction, instr_index: InstructionIndex) None
- Parameters:
function (MediumLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreMediumLevelILInstruction) –
instr_index (InstructionIndex) –
- Return type:
None
- expr_index: ExpressionIndex
- function: MediumLevelILFunction
- instr: CoreMediumLevelILInstruction
- instr_index: InstructionIndex
- class MediumLevelILFcmpGt[source]
Bases:
MediumLevelILComparisonBase,FloatingPointMediumLevelILFcmpGt(function: ‘MediumLevelILFunction’, expr_index: <function NewType.<locals>.new_type at 0x1129439d0>, instr: binaryninja.mediumlevelil.CoreMediumLevelILInstruction, instr_index: <function NewType.<locals>.new_type at 0x111812ca0>)
- __init__(function: MediumLevelILFunction, expr_index: ExpressionIndex, instr: CoreMediumLevelILInstruction, instr_index: InstructionIndex) None
- Parameters:
function (MediumLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreMediumLevelILInstruction) –
instr_index (InstructionIndex) –
- Return type:
None
- expr_index: ExpressionIndex
- function: MediumLevelILFunction
- instr: CoreMediumLevelILInstruction
- instr_index: InstructionIndex
- class MediumLevelILFcmpLe[source]
Bases:
MediumLevelILComparisonBase,FloatingPointMediumLevelILFcmpLe(function: ‘MediumLevelILFunction’, expr_index: <function NewType.<locals>.new_type at 0x1129439d0>, instr: binaryninja.mediumlevelil.CoreMediumLevelILInstruction, instr_index: <function NewType.<locals>.new_type at 0x111812ca0>)
- __init__(function: MediumLevelILFunction, expr_index: ExpressionIndex, instr: CoreMediumLevelILInstruction, instr_index: InstructionIndex) None
- Parameters:
function (MediumLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreMediumLevelILInstruction) –
instr_index (InstructionIndex) –
- Return type:
None
- expr_index: ExpressionIndex
- function: MediumLevelILFunction
- instr: CoreMediumLevelILInstruction
- instr_index: InstructionIndex
- class MediumLevelILFcmpLt[source]
Bases:
MediumLevelILComparisonBase,FloatingPointMediumLevelILFcmpLt(function: ‘MediumLevelILFunction’, expr_index: <function NewType.<locals>.new_type at 0x1129439d0>, instr: binaryninja.mediumlevelil.CoreMediumLevelILInstruction, instr_index: <function NewType.<locals>.new_type at 0x111812ca0>)
- __init__(function: MediumLevelILFunction, expr_index: ExpressionIndex, instr: CoreMediumLevelILInstruction, instr_index: InstructionIndex) None
- Parameters:
function (MediumLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreMediumLevelILInstruction) –
instr_index (InstructionIndex) –
- Return type:
None
- expr_index: ExpressionIndex
- function: MediumLevelILFunction
- instr: CoreMediumLevelILInstruction
- instr_index: InstructionIndex
- class MediumLevelILFcmpNe[source]
Bases:
MediumLevelILComparisonBase,FloatingPointMediumLevelILFcmpNe(function: ‘MediumLevelILFunction’, expr_index: <function NewType.<locals>.new_type at 0x1129439d0>, instr: binaryninja.mediumlevelil.CoreMediumLevelILInstruction, instr_index: <function NewType.<locals>.new_type at 0x111812ca0>)
- __init__(function: MediumLevelILFunction, expr_index: ExpressionIndex, instr: CoreMediumLevelILInstruction, instr_index: InstructionIndex) None
- Parameters:
function (MediumLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreMediumLevelILInstruction) –
instr_index (InstructionIndex) –
- Return type:
None
- expr_index: ExpressionIndex
- function: MediumLevelILFunction
- instr: CoreMediumLevelILInstruction
- instr_index: InstructionIndex
- class MediumLevelILFcmpO[source]
Bases:
MediumLevelILComparisonBase,FloatingPointMediumLevelILFcmpO(function: ‘MediumLevelILFunction’, expr_index: <function NewType.<locals>.new_type at 0x1129439d0>, instr: binaryninja.mediumlevelil.CoreMediumLevelILInstruction, instr_index: <function NewType.<locals>.new_type at 0x111812ca0>)
- __init__(function: MediumLevelILFunction, expr_index: ExpressionIndex, instr: CoreMediumLevelILInstruction, instr_index: InstructionIndex) None
- Parameters:
function (MediumLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreMediumLevelILInstruction) –
instr_index (InstructionIndex) –
- Return type:
None
- expr_index: ExpressionIndex
- function: MediumLevelILFunction
- instr: CoreMediumLevelILInstruction
- instr_index: InstructionIndex
- class MediumLevelILFcmpUo[source]
Bases:
MediumLevelILComparisonBase,FloatingPointMediumLevelILFcmpUo(function: ‘MediumLevelILFunction’, expr_index: <function NewType.<locals>.new_type at 0x1129439d0>, instr: binaryninja.mediumlevelil.CoreMediumLevelILInstruction, instr_index: <function NewType.<locals>.new_type at 0x111812ca0>)
- __init__(function: MediumLevelILFunction, expr_index: ExpressionIndex, instr: CoreMediumLevelILInstruction, instr_index: InstructionIndex) None
- Parameters:
function (MediumLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreMediumLevelILInstruction) –
instr_index (InstructionIndex) –
- Return type:
None
- expr_index: ExpressionIndex
- function: MediumLevelILFunction
- instr: CoreMediumLevelILInstruction
- instr_index: InstructionIndex
- class MediumLevelILFdiv[source]
Bases:
MediumLevelILBinaryBase,Arithmetic,FloatingPointMediumLevelILFdiv(function: ‘MediumLevelILFunction’, expr_index: <function NewType.<locals>.new_type at 0x1129439d0>, instr: binaryninja.mediumlevelil.CoreMediumLevelILInstruction, instr_index: <function NewType.<locals>.new_type at 0x111812ca0>)
- __init__(function: MediumLevelILFunction, expr_index: ExpressionIndex, instr: CoreMediumLevelILInstruction, instr_index: InstructionIndex) None
- Parameters:
function (MediumLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreMediumLevelILInstruction) –
instr_index (InstructionIndex) –
- Return type:
None
- expr_index: ExpressionIndex
- function: MediumLevelILFunction
- instr: CoreMediumLevelILInstruction
- instr_index: InstructionIndex
- class MediumLevelILFloatConst[source]
Bases:
MediumLevelILConstBase,FloatingPointMediumLevelILFloatConst(function: ‘MediumLevelILFunction’, expr_index: <function NewType.<locals>.new_type at 0x1129439d0>, instr: binaryninja.mediumlevelil.CoreMediumLevelILInstruction, instr_index: <function NewType.<locals>.new_type at 0x111812ca0>)
- __init__(function: MediumLevelILFunction, expr_index: ExpressionIndex, instr: CoreMediumLevelILInstruction, instr_index: InstructionIndex) None
- Parameters:
function (MediumLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreMediumLevelILInstruction) –
instr_index (InstructionIndex) –
- Return type:
None
- property constant: float
- property detailed_operands: List[Tuple[str, int | float | MediumLevelILOperationAndSize | MediumLevelILInstruction | ILIntrinsic | Variable | SSAVariable | List[int] | List[Variable] | List[SSAVariable] | List[MediumLevelILInstruction] | Dict[int, int] | ConstantData, str]]
Returns a list of tuples containing the name of the operand, the operand, and the type of the operand. Useful for iterating over all operands of an instruction and sub-instructions.
- expr_index: ExpressionIndex
- function: MediumLevelILFunction
- instr: CoreMediumLevelILInstruction
- instr_index: InstructionIndex
- class MediumLevelILFloatConv[source]
Bases:
MediumLevelILUnaryBase,Arithmetic,FloatingPointMediumLevelILFloatConv(function: ‘MediumLevelILFunction’, expr_index: <function NewType.<locals>.new_type at 0x1129439d0>, instr: binaryninja.mediumlevelil.CoreMediumLevelILInstruction, instr_index: <function NewType.<locals>.new_type at 0x111812ca0>)
- __init__(function: MediumLevelILFunction, expr_index: ExpressionIndex, instr: CoreMediumLevelILInstruction, instr_index: InstructionIndex) None
- Parameters:
function (MediumLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreMediumLevelILInstruction) –
instr_index (InstructionIndex) –
- Return type:
None
- expr_index: ExpressionIndex
- function: MediumLevelILFunction
- instr: CoreMediumLevelILInstruction
- instr_index: InstructionIndex
- class MediumLevelILFloatToInt[source]
Bases:
MediumLevelILUnaryBase,Arithmetic,FloatingPointMediumLevelILFloatToInt(function: ‘MediumLevelILFunction’, expr_index: <function NewType.<locals>.new_type at 0x1129439d0>, instr: binaryninja.mediumlevelil.CoreMediumLevelILInstruction, instr_index: <function NewType.<locals>.new_type at 0x111812ca0>)
- __init__(function: MediumLevelILFunction, expr_index: ExpressionIndex, instr: CoreMediumLevelILInstruction, instr_index: InstructionIndex) None
- Parameters:
function (MediumLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreMediumLevelILInstruction) –
instr_index (InstructionIndex) –
- Return type:
None
- expr_index: ExpressionIndex
- function: MediumLevelILFunction
- instr: CoreMediumLevelILInstruction
- instr_index: InstructionIndex
- class MediumLevelILFloor[source]
Bases:
MediumLevelILUnaryBase,Arithmetic,FloatingPointMediumLevelILFloor(function: ‘MediumLevelILFunction’, expr_index: <function NewType.<locals>.new_type at 0x1129439d0>, instr: binaryninja.mediumlevelil.CoreMediumLevelILInstruction, instr_index: <function NewType.<locals>.new_type at 0x111812ca0>)
- __init__(function: MediumLevelILFunction, expr_index: ExpressionIndex, instr: CoreMediumLevelILInstruction, instr_index: InstructionIndex) None
- Parameters:
function (MediumLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreMediumLevelILInstruction) –
instr_index (InstructionIndex) –
- Return type:
None
- expr_index: ExpressionIndex
- function: MediumLevelILFunction
- instr: CoreMediumLevelILInstruction
- instr_index: InstructionIndex
- class MediumLevelILFmul[source]
Bases:
MediumLevelILBinaryBase,Arithmetic,FloatingPointMediumLevelILFmul(function: ‘MediumLevelILFunction’, expr_index: <function NewType.<locals>.new_type at 0x1129439d0>, instr: binaryninja.mediumlevelil.CoreMediumLevelILInstruction, instr_index: <function NewType.<locals>.new_type at 0x111812ca0>)
- __init__(function: MediumLevelILFunction, expr_index: ExpressionIndex, instr: CoreMediumLevelILInstruction, instr_index: InstructionIndex) None
- Parameters:
function (MediumLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreMediumLevelILInstruction) –
instr_index (InstructionIndex) –
- Return type:
None
- expr_index: ExpressionIndex
- function: MediumLevelILFunction
- instr: CoreMediumLevelILInstruction
- instr_index: InstructionIndex
- class MediumLevelILFneg[source]
Bases:
MediumLevelILUnaryBase,Arithmetic,FloatingPointMediumLevelILFneg(function: ‘MediumLevelILFunction’, expr_index: <function NewType.<locals>.new_type at 0x1129439d0>, instr: binaryninja.mediumlevelil.CoreMediumLevelILInstruction, instr_index: <function NewType.<locals>.new_type at 0x111812ca0>)
- __init__(function: MediumLevelILFunction, expr_index: ExpressionIndex, instr: CoreMediumLevelILInstruction, instr_index: InstructionIndex) None
- Parameters:
function (MediumLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreMediumLevelILInstruction) –
instr_index (InstructionIndex) –
- Return type:
None
- expr_index: ExpressionIndex
- function: MediumLevelILFunction
- instr: CoreMediumLevelILInstruction
- instr_index: InstructionIndex
- class MediumLevelILForceVer[source]
Bases:
MediumLevelILInstructionMediumLevelILForceVer(function: ‘MediumLevelILFunction’, expr_index: <function NewType.<locals>.new_type at 0x1129439d0>, instr: binaryninja.mediumlevelil.CoreMediumLevelILInstruction, instr_index: <function NewType.<locals>.new_type at 0x111812ca0>)
- __init__(function: MediumLevelILFunction, expr_index: ExpressionIndex, instr: CoreMediumLevelILInstruction, instr_index: InstructionIndex) None
- Parameters:
function (MediumLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreMediumLevelILInstruction) –
instr_index (InstructionIndex) –
- Return type:
None
- property dest: Variable
- expr_index: ExpressionIndex
- function: MediumLevelILFunction
- instr: CoreMediumLevelILInstruction
- instr_index: InstructionIndex
- property src: Variable
- class MediumLevelILForceVerSsa[source]
Bases:
MediumLevelILInstruction,SSAMediumLevelILForceVerSsa(function: ‘MediumLevelILFunction’, expr_index: <function NewType.<locals>.new_type at 0x1129439d0>, instr: binaryninja.mediumlevelil.CoreMediumLevelILInstruction, instr_index: <function NewType.<locals>.new_type at 0x111812ca0>)
- __init__(function: MediumLevelILFunction, expr_index: ExpressionIndex, instr: CoreMediumLevelILInstruction, instr_index: InstructionIndex) None
- Parameters:
function (MediumLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreMediumLevelILInstruction) –
instr_index (InstructionIndex) –
- Return type:
None
- property dest: SSAVariable
- expr_index: ExpressionIndex
- function: MediumLevelILFunction
- instr: CoreMediumLevelILInstruction
- instr_index: InstructionIndex
- property src: SSAVariable
- class MediumLevelILFreeVarSlot[source]
Bases:
MediumLevelILInstruction,RegisterStackMediumLevelILFreeVarSlot(function: ‘MediumLevelILFunction’, expr_index: <function NewType.<locals>.new_type at 0x1129439d0>, instr: binaryninja.mediumlevelil.CoreMediumLevelILInstruction, instr_index: <function NewType.<locals>.new_type at 0x111812ca0>)
- __init__(function: MediumLevelILFunction, expr_index: ExpressionIndex, instr: CoreMediumLevelILInstruction, instr_index: InstructionIndex) None
- Parameters:
function (MediumLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreMediumLevelILInstruction) –
instr_index (InstructionIndex) –
- Return type:
None
- property dest: Variable
- property detailed_operands: List[Tuple[str, int | float | MediumLevelILOperationAndSize | MediumLevelILInstruction | ILIntrinsic | Variable | SSAVariable | List[int] | List[Variable] | List[SSAVariable] | List[MediumLevelILInstruction] | Dict[int, int] | ConstantData, str]]
Returns a list of tuples containing the name of the operand, the operand, and the type of the operand. Useful for iterating over all operands of an instruction and sub-instructions.
- expr_index: ExpressionIndex
- function: MediumLevelILFunction
- instr: CoreMediumLevelILInstruction
- instr_index: InstructionIndex
- class MediumLevelILFreeVarSlotSsa[source]
Bases:
MediumLevelILInstruction,SSA,RegisterStackMediumLevelILFreeVarSlotSsa(function: ‘MediumLevelILFunction’, expr_index: <function NewType.<locals>.new_type at 0x1129439d0>, instr: binaryninja.mediumlevelil.CoreMediumLevelILInstruction, instr_index: <function NewType.<locals>.new_type at 0x111812ca0>)
- __init__(function: MediumLevelILFunction, expr_index: ExpressionIndex, instr: CoreMediumLevelILInstruction, instr_index: InstructionIndex) None
- Parameters:
function (MediumLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreMediumLevelILInstruction) –
instr_index (InstructionIndex) –
- Return type:
None
- property dest: SSAVariable
- property detailed_operands: List[Tuple[str, int | float | MediumLevelILOperationAndSize | MediumLevelILInstruction | ILIntrinsic | Variable | SSAVariable | List[int] | List[Variable] | List[SSAVariable] | List[MediumLevelILInstruction] | Dict[int, int] | ConstantData, str]]
Returns a list of tuples containing the name of the operand, the operand, and the type of the operand. Useful for iterating over all operands of an instruction and sub-instructions.
- expr_index: ExpressionIndex
- function: MediumLevelILFunction
- instr: CoreMediumLevelILInstruction
- instr_index: InstructionIndex
- property prev: SSAVariable
- class MediumLevelILFsqrt[source]
Bases:
MediumLevelILUnaryBase,Arithmetic,FloatingPointMediumLevelILFsqrt(function: ‘MediumLevelILFunction’, expr_index: <function NewType.<locals>.new_type at 0x1129439d0>, instr: binaryninja.mediumlevelil.CoreMediumLevelILInstruction, instr_index: <function NewType.<locals>.new_type at 0x111812ca0>)
- __init__(function: MediumLevelILFunction, expr_index: ExpressionIndex, instr: CoreMediumLevelILInstruction, instr_index: InstructionIndex) None
- Parameters:
function (MediumLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreMediumLevelILInstruction) –
instr_index (InstructionIndex) –
- Return type:
None
- expr_index: ExpressionIndex
- function: MediumLevelILFunction
- instr: CoreMediumLevelILInstruction
- instr_index: InstructionIndex
- class MediumLevelILFsub[source]
Bases:
MediumLevelILBinaryBase,Arithmetic,FloatingPointMediumLevelILFsub(function: ‘MediumLevelILFunction’, expr_index: <function NewType.<locals>.new_type at 0x1129439d0>, instr: binaryninja.mediumlevelil.CoreMediumLevelILInstruction, instr_index: <function NewType.<locals>.new_type at 0x111812ca0>)
- __init__(function: MediumLevelILFunction, expr_index: ExpressionIndex, instr: CoreMediumLevelILInstruction, instr_index: InstructionIndex) None
- Parameters:
function (MediumLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreMediumLevelILInstruction) –
instr_index (InstructionIndex) –
- Return type:
None
- expr_index: ExpressionIndex
- function: MediumLevelILFunction
- instr: CoreMediumLevelILInstruction
- instr_index: InstructionIndex
- class MediumLevelILFtrunc[source]
Bases:
MediumLevelILUnaryBase,Arithmetic,FloatingPointMediumLevelILFtrunc(function: ‘MediumLevelILFunction’, expr_index: <function NewType.<locals>.new_type at 0x1129439d0>, instr: binaryninja.mediumlevelil.CoreMediumLevelILInstruction, instr_index: <function NewType.<locals>.new_type at 0x111812ca0>)
- __init__(function: MediumLevelILFunction, expr_index: ExpressionIndex, instr: CoreMediumLevelILInstruction, instr_index: InstructionIndex) None
- Parameters:
function (MediumLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreMediumLevelILInstruction) –
instr_index (InstructionIndex) –
- Return type:
None
- expr_index: ExpressionIndex
- function: MediumLevelILFunction
- instr: CoreMediumLevelILInstruction
- instr_index: InstructionIndex
- class MediumLevelILFunction[source]
Bases:
objectclass MediumLevelILFunctioncontains the list of ExpressionIndex objects that make up a function. ExpressionIndex objects can be added to the MediumLevelILFunction by callingappendand passing the result of the various class methods which return ExpressionIndex objects.- __init__(arch: Architecture | None = None, handle: BNMediumLevelILFunction | None = None, source_func: Function | None = None, low_level_il: LowLevelILFunction | None = None)[source]
- Parameters:
arch (Architecture | None) –
handle (BNMediumLevelILFunction | None) –
source_func (Function | None) –
low_level_il (LowLevelILFunction | None) –
- add(size: int, a: ExpressionIndex, b: ExpressionIndex, loc: ILSourceLocation | None = None) ExpressionIndex[source]
addadds expressionato expressionbreturning an expression ofsizebytes- Parameters:
size (int) – the size of the result in bytes
a (ExpressionIndex) – LHS expression
b (ExpressionIndex) – RHS expression
loc (ILSourceLocation) – location of returned expression
- Returns:
The expression
add.<size>(a, b)- Return type:
ExpressionIndex
- add_carry(size: int, a: ExpressionIndex, b: ExpressionIndex, carry: ExpressionIndex, loc: ILSourceLocation | None = None) ExpressionIndex[source]
add_carryadds expressionato expressionbwith carry fromcarryreturning an expression ofsizebytes- Parameters:
size (int) – the size of the result in bytes
a (ExpressionIndex) – LHS expression
b (ExpressionIndex) – RHS expression
carry (ExpressionIndex) – Carried value expression
loc (ILSourceLocation) – location of returned expression
- Returns:
The expression
adc.<size>(a, b, carry)- Return type:
ExpressionIndex
- add_label_map(labels: Mapping[int, MediumLevelILLabel]) ExpressionIndex[source]
add_label_mapreturns 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_listreturns an operand list expression for the given list of integer operands.
- add_variable_list(vars: List[Variable]) ExpressionIndex[source]
add_variable_listreturns a variable list expression for the given list of variables.
- address_of(var: Variable, loc: ILSourceLocation | None = None) ExpressionIndex[source]
address_oftakes the address ofvar- Parameters:
var (Variable) – the variable having its address taken
loc (ILSourceLocation) – location of returned expression
- Returns:
The expression
&var- Return type:
ExpressionIndex
- address_of_field(var: Variable, offset: int, loc: ILSourceLocation | None = None) ExpressionIndex[source]
address_of_fieldtakes the address ofvarat the offsetoffset- Parameters:
var (Variable) – the variable having its address taken
offset (int) – the offset of the taken address
loc (ILSourceLocation) – location of returned expression
- Returns:
The expression
&var:offset- Return type:
ExpressionIndex
- and_expr(size: int, a: ExpressionIndex, b: ExpressionIndex, loc: ILSourceLocation | None = None) ExpressionIndex[source]
and_exprbitwise and’s expressionaand expressionbreturning an expression ofsizebytes- Parameters:
size (int) – the size of the result in bytes
a (ExpressionIndex) – LHS expression
b (ExpressionIndex) – RHS expression
loc (ILSourceLocation) – location of returned expression
- Returns:
The expression
and.<size>(a, b)- Return type:
ExpressionIndex
- append(expr: ExpressionIndex, source_location: ILSourceLocation | None = None) InstructionIndex[source]
appendadds the ExpressionIndexexprto the current MediumLevelILFunction.- Parameters:
expr (ExpressionIndex) – the ExpressionIndex to add to the current MediumLevelILFunction
source_location (ILSourceLocation) – Optional source location for the instruction
- Returns:
Index of added instruction in the current function
- Return type:
- arith_shift_right(size: int, a: ExpressionIndex, b: ExpressionIndex, loc: ILSourceLocation | None = None) ExpressionIndex[source]
arith_shift_rightarithmetically right shifts expressionaby expressionbreturning an expression ofsizebytes- Parameters:
size (int) – the size of the result in bytes
a (ExpressionIndex) – LHS expression
b (ExpressionIndex) – RHS expression
loc (ILSourceLocation) – location of returned expression
- Returns:
The expression
asr.<size>(a, b)- Return type:
ExpressionIndex
- assert_expr(size: int, src: Variable, constraint: PossibleValueSet, loc: ILSourceLocation | None = None) ExpressionIndex[source]
assert_exprassertconstraintis the value of the given variablesrc. Used when setting user variable values.- Parameters:
size (int) – size of value in the constraint
src (Variable) – variable to constrain
constraint (PossibleValueSet) – asserted value of variable
loc (ILSourceLocation) – location of returned expression
- Returns:
The expression
ASSERT(src, constraint)- Return type:
ExpressionIndex
- bool_to_int(size: int, a: ExpressionIndex, loc: ILSourceLocation | None = None) ExpressionIndex[source]
bool_to_intreturns an expression of sizesizeconverting the boolean expressionato an integer- Parameters:
size (int) – size in bytes
a (ExpressionIndex) – boolean expression to be converted
loc (ILSourceLocation) – location of returned expression
- Returns:
the converted integer expression.
- Return type:
ExpressionIndex
- breakpoint(loc: ILSourceLocation | None = None) ExpressionIndex[source]
breakpointreturns a processor breakpoint expression.- Parameters:
loc (ILSourceLocation) – location of returned expression
- Returns:
a breakpoint expression.
- Return type:
ExpressionIndex
- cache_possible_value_set(pvs: PossibleValueSet) int[source]
Cache a PossibleValueSet in the IL function, returning its index for use in an expression operand :param pvs: PossibleValueSet to cache :return: Index of the PossibleValueSet in the cache
- Parameters:
pvs (PossibleValueSet) –
- Return type:
- call(output: List[Variable], dest: ExpressionIndex, params: List[ExpressionIndex], loc: ILSourceLocation | None = None) ExpressionIndex[source]
callreturns an expression which calls the function in the expressiondestwith the parameters defined inparamsreturning values in the variables inoutput.- Parameters:
output (List['variable.Variable']) – output variables
dest (ExpressionIndex) – the expression to call
params (List[ExpressionIndex]) – parameter variables
loc (ILSourceLocation) – location of returned expression
- Returns:
The expression
output = call(dest, params...)- Return type:
ExpressionIndex
- call_untyped(output: List[Variable], dest: ExpressionIndex, params: List[ExpressionIndex], stack: ExpressionIndex, loc: ILSourceLocation | None = None) ExpressionIndex[source]
call_untypedreturns an expression which calls the function in the expressiondestwith the parameters defined inparamsreturning values in the variables inoutputwhere stack resolution could not be determined and the top of the stack has to be specified instack- Parameters:
output (List['variable.Variable']) – output variables
dest (ExpressionIndex) – the expression to call
params (List[ExpressionIndex]) – parameter variables
stack (ExpressionIndex) – expression of top of stack
loc (ILSourceLocation) – location of returned expression
- Returns:
The expression
output = call(dest, params..., stack = stack)- Return type:
ExpressionIndex
- ceil(size: int, value: ExpressionIndex, loc: ILSourceLocation | None = None) ExpressionIndex[source]
ceilrounds a floating point value to an integer towards positive infinity- Parameters:
size (int) – the size of the result in bytes
value (ExpressionIndex) – the expression to round up
loc (ILSourceLocation) – location of returned expression
- Returns:
The expression
roundint.<size>(value)- Return type:
ExpressionIndex
- compare_equal(size: int, a: ExpressionIndex, b: ExpressionIndex, loc: ILSourceLocation | None = None) ExpressionIndex[source]
compare_equalreturns comparison expression of sizesizechecking if expressionais equal to expressionb- Parameters:
size (int) – size in bytes
a (ExpressionIndex) – LHS of comparison
b (ExpressionIndex) – RHS of comparison
loc (ILSourceLocation) – location of returned expression
- Returns:
a comparison expression.
- Return type:
ExpressionIndex
- compare_not_equal(size: int, a: ExpressionIndex, b: ExpressionIndex, loc: ILSourceLocation | None = None) ExpressionIndex[source]
compare_not_equalreturns comparison expression of sizesizechecking if expressionais not equal to expressionb- Parameters:
size (int) – size in bytes
a (ExpressionIndex) – LHS of comparison
b (ExpressionIndex) – RHS of comparison
loc (ILSourceLocation) – location of returned expression
- Returns:
a comparison expression.
- Return type:
ExpressionIndex
- compare_signed_greater_equal(size: int, a: ExpressionIndex, b: ExpressionIndex, loc: ILSourceLocation | None = None) ExpressionIndex[source]
compare_signed_greater_equalreturns comparison expression of sizesizechecking if expressionais signed greater than or equal to expressionb- Parameters:
size (int) – size in bytes
a (ExpressionIndex) – LHS of comparison
b (ExpressionIndex) – RHS of comparison
loc (ILSourceLocation) – location of returned expression
- Returns:
a comparison expression.
- Return type:
ExpressionIndex
- compare_signed_greater_than(size: int, a: ExpressionIndex, b: ExpressionIndex, loc: ILSourceLocation | None = None) ExpressionIndex[source]
compare_signed_greater_thanreturns comparison expression of sizesizechecking if expressionais signed greater than or equal to expressionb- Parameters:
size (int) – size in bytes
a (ExpressionIndex) – LHS of comparison
b (ExpressionIndex) – RHS of comparison
loc (ILSourceLocation) – location of returned expression
- Returns:
a comparison expression.
- Return type:
ExpressionIndex
- compare_signed_less_equal(size: int, a: ExpressionIndex, b: ExpressionIndex, loc: ILSourceLocation | None = None) ExpressionIndex[source]
compare_signed_less_equalreturns comparison expression of sizesizechecking if expressionais signed less than or equal to expressionb- Parameters:
size (int) – size in bytes
a (ExpressionIndex) – LHS of comparison
b (ExpressionIndex) – RHS of comparison
loc (ILSourceLocation) – location of returned expression
- Returns:
a comparison expression.
- Return type:
ExpressionIndex
- compare_signed_less_than(size: int, a: ExpressionIndex, b: ExpressionIndex, loc: ILSourceLocation | None = None) ExpressionIndex[source]
compare_signed_less_thanreturns comparison expression of sizesizechecking if expressionais signed less than expressionb- Parameters:
size (int) – size in bytes
a (ExpressionIndex) – LHS of comparison
b (ExpressionIndex) – RHS of comparison
loc (ILSourceLocation) – location of returned expression
- Returns:
a comparison expression.
- Return type:
ExpressionIndex
- compare_unsigned_greater_equal(size: int, a: ExpressionIndex, b: ExpressionIndex, loc: ILSourceLocation | None = None) ExpressionIndex[source]
compare_unsigned_greater_equalreturns comparison expression of sizesizechecking if expressionais unsigned greater than or equal to expressionb- Parameters:
size (int) – size in bytes
a (ExpressionIndex) – LHS of comparison
b (ExpressionIndex) – RHS of comparison
loc (ILSourceLocation) – location of returned expression
- Returns:
a comparison expression.
- Return type:
ExpressionIndex
- compare_unsigned_greater_than(size: int, a: ExpressionIndex, b: ExpressionIndex, loc: ILSourceLocation | None = None) ExpressionIndex[source]
compare_unsigned_greater_thanreturns comparison expression of sizesizechecking if expressionais unsigned greater than or equal to expressionb- Parameters:
size (int) – size in bytes
a (ExpressionIndex) – LHS of comparison
b (ExpressionIndex) – RHS of comparison
loc (ILSourceLocation) – location of returned expression
- Returns:
a comparison expression.
- Return type:
ExpressionIndex
- compare_unsigned_less_equal(size: int, a: ExpressionIndex, b: ExpressionIndex, loc: ILSourceLocation | None = None) ExpressionIndex[source]
compare_unsigned_less_equalreturns comparison expression of sizesizechecking if expressionais unsigned less than or equal to expressionb- Parameters:
size (int) – size in bytes
a (ExpressionIndex) – LHS of comparison
b (ExpressionIndex) – RHS of comparison
loc (ILSourceLocation) – location of returned expression
- Returns:
a comparison expression.
- Return type:
ExpressionIndex
- compare_unsigned_less_than(size: int, a: ExpressionIndex, b: ExpressionIndex, loc: ILSourceLocation | None = None) ExpressionIndex[source]
compare_unsigned_less_thanreturns comparison expression of sizesizechecking if expressionais unsigned less than expressionb- Parameters:
size (int) – size in bytes
a (ExpressionIndex) – LHS of comparison
b (ExpressionIndex) – RHS of comparison
loc (ILSourceLocation) – location of returned expression
- Returns:
a comparison expression.
- Return type:
ExpressionIndex
- const(size: int, value: int, loc: ILSourceLocation | None = None) ExpressionIndex[source]
constreturns an expression for the constant integervalueof sizesize- Parameters:
size (int) – the size of the constant in bytes
value (int) – integer value of the constant
loc (ILSourceLocation) – location of returned expression
- Returns:
A constant expression of given value and size
- Return type:
ExpressionIndex
- const_data(size: int, data: ConstantData, loc: ILSourceLocation | None = None) ExpressionIndex[source]
const_datareturns an expression for the constant datadata- Parameters:
size (int) – size of the data
data (ConstantData) – value of the data
loc (ILSourceLocation) – location of returned expression
- Returns:
A constant expression of given value and size
- Return type:
ExpressionIndex
- const_pointer(size: int, value: int, loc: ILSourceLocation | None = None) ExpressionIndex[source]
const_pointerreturns an expression for the constant pointervalueof sizesize- Parameters:
size (int) – the size of the pointer in bytes
value (int) – address referenced by the pointer
loc (ILSourceLocation) – location of returned expression
- Returns:
A constant expression of given value and size
- Return type:
ExpressionIndex
- copy_expr(original: MediumLevelILInstruction) ExpressionIndex[source]
copy_exprmakes a shallow copy of the given IL expression, adding a new expression to the IL function.Warning
The copy will not copy any child expressions, but will instead reference them as well (by expression index). This means that you cannot use this function to copy an expression tree to another function. If you want to copy an expression tree, you should use
MediumLevelILFunction.copy_expr_to. Metadata such as expression type and attributes are also not copied.- Parameters:
original (MediumLevelILInstruction) – the original IL Instruction you want to copy
- Returns:
The index of the newly copied expression
- Return type:
ExpressionIndex
- copy_expr_to(expr: MediumLevelILInstruction, dest: MediumLevelILFunction, sub_expr_handler: Callable[[MediumLevelILInstruction], ExpressionIndex] | None = None) ExpressionIndex[source]
copy_expr_todeep copies an expression from this function into a target function If provided, the functionsub_expr_handlerwill be called on every copied sub-expressionWarning
This function should ONLY be called as a part of a lifter or workflow. It will otherwise not do anything useful as analysis will not be running.
- Parameters:
expr (MediumLevelILInstruction) – Expression in this function to copy
dest (MediumLevelILFunction) – Function to copy the expression to
sub_expr_handler (Callable[[MediumLevelILInstruction], ExpressionIndex] | None) – Optional function to call on every copied sub-expression
- Returns:
Index of the copied expression in the target function
- Return type:
ExpressionIndex
- create_graph(settings: DisassemblySettings | None = None) CoreFlowGraph[source]
- Parameters:
settings (DisassemblySettings | None) –
- Return type:
- create_graph_immediate(settings: DisassemblySettings | None = None) CoreFlowGraph[source]
- Parameters:
settings (DisassemblySettings | None) –
- Return type:
- div_double_prec_signed(size: int, a: ExpressionIndex, b: ExpressionIndex, loc: ILSourceLocation | None = None) ExpressionIndex[source]
div_double_prec_signedsigned divides double precision expressionaby expressionband returns an expression. The first operand is of size2*sizebytes and the other operand and return value are of sizesizebytes.- Parameters:
size (int) – the size of the result and input operands, in bytes
a (ExpressionIndex) – LHS expression
b (ExpressionIndex) – RHS expression
loc (ILSourceLocation) – location of returned expression
- Returns:
The expression
divs.dp.<size>(a, b)- Return type:
ExpressionIndex
- div_double_prec_unsigned(size: int, a: ExpressionIndex, b: ExpressionIndex, loc: ILSourceLocation | None = None) ExpressionIndex[source]
div_double_prec_unsignedunsigned divides double precision expressionaby expressionband returns an expression. The first operand is of size2*sizebytes and the other operand and return value are of sizesizebytes.- Parameters:
size (int) – the size of the result and input operands, in bytes
a (ExpressionIndex) – LHS expression
b (ExpressionIndex) – RHS expression
loc (ILSourceLocation) – location of returned expression
- Returns:
The expression
divu.dp.<size>(a, b)- Return type:
ExpressionIndex
- div_signed(size: int, a: ExpressionIndex, b: ExpressionIndex, loc: ILSourceLocation | None = None) ExpressionIndex[source]
div_signedsigned divides expressionaby expressionband returns an expression. Both the operands and return value aresizebytes.- Parameters:
size (int) – the size of the result and input operands, in bytes
a (ExpressionIndex) – LHS expression
b (ExpressionIndex) – RHS expression
loc (ILSourceLocation) – location of returned expression
- Returns:
The expression
divs.<size>(a, b)- Return type:
ExpressionIndex
- div_unsigned(size: int, a: ExpressionIndex, b: ExpressionIndex, loc: ILSourceLocation | None = None) ExpressionIndex[source]
div_unsignedunsigned divides expressionaby expressionband returns an expression. Both the operands and return value aresizebytes.- Parameters:
size (int) – the size of the result and input operands, in bytes
a (ExpressionIndex) – LHS expression
b (ExpressionIndex) – RHS expression
loc (ILSourceLocation) – location of returned expression
- Returns:
The expression
divu.<size>(a, b)- Return type:
ExpressionIndex
- expr(operation: MediumLevelILOperation, a: int = 0, b: int = 0, c: int = 0, d: int = 0, e: int = 0, size: int = 0, source_location: ILSourceLocation | None = None) ExpressionIndex[source]
- Parameters:
operation (MediumLevelILOperation) –
a (int) –
b (int) –
c (int) –
d (int) –
e (int) –
size (int) –
source_location (ILSourceLocation | None) –
- Return type:
ExpressionIndex
- extern_pointer(size: int, value: int, offset: int, loc: ILSourceLocation | None = None) ExpressionIndex[source]
extern_pointerreturns an expression for the external pointervalueat offsetoffsetof sizesize- Parameters:
size (int) – the size of the pointer in bytes
value (int) – address referenced by the pointer
offset (int) – offset applied to the address
loc (ILSourceLocation | None) – location of returned expression
- Returns:
A constant expression of given value and size
- Return type:
ExpressionIndex
- finalize() None[source]
finalizeends the function and computes the list of basic blocks.- Return type:
None
- float_abs(size: int, value: ExpressionIndex, loc: ILSourceLocation | None = None) ExpressionIndex[source]
float_absreturns absolute value of floating point expressionvalueof sizesize- Parameters:
size (int) – the size of the result in bytes
value (ExpressionIndex) – the expression to get the absolute value of
loc (ILSourceLocation) – location of returned expression
- Returns:
The expression
fabs.<size>(value)- Return type:
ExpressionIndex
- float_add(size: int, a: ExpressionIndex, b: ExpressionIndex, loc: ILSourceLocation | None = None) ExpressionIndex[source]
float_addadds floating point expressionato expressionband returning an expression ofsizebytes.- Parameters:
size (int) – the size of the result in bytes
a (ExpressionIndex) – LHS expression
b (ExpressionIndex) – RHS expression
loc (ILSourceLocation) – location of returned expression
- Returns:
The expression
fadd.<size>(a, b)- Return type:
ExpressionIndex
- float_compare_equal(size: int, a: ExpressionIndex, b: ExpressionIndex, loc: ILSourceLocation | None = None) ExpressionIndex[source]
float_compare_equalreturns floating point comparison expression of sizesizechecking if expressionais equal to expressionb- Parameters:
size (int) – the size of the operands in bytes
a (ExpressionIndex) – LHS expression
b (ExpressionIndex) – RHS expression
loc (ILSourceLocation) – location of returned expression
- Returns:
The expression
a f== b- Return type:
ExpressionIndex
- float_compare_greater_equal(size: int, a: ExpressionIndex, b: ExpressionIndex, loc: ILSourceLocation | None = None) ExpressionIndex[source]
float_compare_greater_equalreturns floating point comparison expression of sizesizechecking if expressionais greater than or equal to expressionb- Parameters:
size (int) – the size of the operands in bytes
a (ExpressionIndex) – LHS expression
b (ExpressionIndex) – RHS expression
loc (ILSourceLocation) – location of returned expression
- Returns:
The expression
a f>= b- Return type:
ExpressionIndex
- float_compare_greater_than(size: int, a: ExpressionIndex, b: ExpressionIndex, loc: ILSourceLocation | None = None) ExpressionIndex[source]
float_compare_greater_thanreturns floating point comparison expression of sizesizechecking if expressionais greater than expressionb- Parameters:
size (int) – the size of the operands in bytes
a (ExpressionIndex) – LHS expression
b (ExpressionIndex) – RHS expression
loc (ILSourceLocation) – location of returned expression
- Returns:
The expression
a f> b- Return type:
ExpressionIndex
- float_compare_less_equal(size: int, a: ExpressionIndex, b: ExpressionIndex, loc: ILSourceLocation | None = None) ExpressionIndex[source]
float_compare_less_equalreturns floating point comparison expression of sizesizechecking if expressionais less than or equal to expressionb- Parameters:
size (int) – the size of the operands in bytes
a (ExpressionIndex) – LHS expression
b (ExpressionIndex) – RHS expression
loc (ILSourceLocation) – location of returned expression
- Returns:
The expression
a f<= b- Return type:
ExpressionIndex
- float_compare_less_than(size: int, a: ExpressionIndex, b: ExpressionIndex, loc: ILSourceLocation | None = None) ExpressionIndex[source]
float_compare_less_thanreturns floating point comparison expression of sizesizechecking if expressionais less than expressionb- Parameters:
size (int) – the size of the operands in bytes
a (ExpressionIndex) – LHS expression
b (ExpressionIndex) – RHS expression
loc (ILSourceLocation) – location of returned expression
- Returns:
The expression
a f< b- Return type:
ExpressionIndex
- float_compare_not_equal(size: int, a: ExpressionIndex, b: ExpressionIndex, loc: ILSourceLocation | None = None) ExpressionIndex[source]
float_compare_not_equalreturns floating point comparison expression of sizesizechecking if expressionais not equal to expressionb- Parameters:
size (int) – the size of the operands in bytes
a (ExpressionIndex) – LHS expression
b (ExpressionIndex) – RHS expression
loc (ILSourceLocation) – location of returned expression
- Returns:
The expression
a f!= b- Return type:
ExpressionIndex
- float_compare_ordered(size: int, a: ExpressionIndex, b: ExpressionIndex, loc: ILSourceLocation | None = None) ExpressionIndex[source]
float_compare_orderedreturns floating point comparison expression of sizesizechecking if expressionais ordered relative to expressionb- Parameters:
size (int) – the size of the operands in bytes
a (ExpressionIndex) – LHS expression
b (ExpressionIndex) – RHS expression
loc (ILSourceLocation) – location of returned expression
- Returns:
The expression
is_ordered(a, b)- Return type:
ExpressionIndex
- float_compare_unordered(size: int, a: ExpressionIndex, b: ExpressionIndex, loc: ILSourceLocation | None = None) ExpressionIndex[source]
float_compare_unorderedreturns floating point comparison expression of sizesizechecking if expressionais unordered relative to expressionb- Parameters:
size (int) – the size of the operands in bytes
a (ExpressionIndex) – LHS expression
b (ExpressionIndex) – RHS expression
loc (ILSourceLocation) – location of returned expression
- Returns:
The expression
is_unordered(a, b)- Return type:
ExpressionIndex
- float_const_double(value: float, loc: ILSourceLocation | None = None) ExpressionIndex[source]
float_const_doublereturns an expression for the double precision floating point valuevalue- Parameters:
value (float) – float value for the constant
loc (ILSourceLocation) – location of returned expression
- Returns:
A constant expression of given value and size
- Return type:
ExpressionIndex
- float_const_raw(size: int, value: int, loc: ILSourceLocation | None = None) ExpressionIndex[source]
float_const_rawreturns an expression for the constant raw binary floating point valuevaluewith sizesize- Parameters:
size (int) – the size of the constant in bytes
value (int) – integer value for the raw binary representation of the constant
loc (ILSourceLocation) – location of returned expression
- Returns:
A constant expression of given value and size
- Return type:
ExpressionIndex
- float_const_single(value: float, loc: ILSourceLocation | None = None) ExpressionIndex[source]
float_const_singlereturns an expression for the single precision floating point valuevalue- Parameters:
value (float) – float value for the constant
loc (ILSourceLocation) – location of returned expression
- Returns:
A constant expression of given value and size
- Return type:
ExpressionIndex
- float_convert(size: int, value: ExpressionIndex, loc: ILSourceLocation | None = None) ExpressionIndex[source]
int_to_floatconverts floating point value of expressionvalueto sizesize- Parameters:
size (int) – the size of the result in bytes
value (ExpressionIndex) – the expression to negate
loc (ILSourceLocation) – location of returned expression
- Returns:
The expression
fconvert.<size>(value)- Return type:
ExpressionIndex
- float_div(size: int, a: ExpressionIndex, b: ExpressionIndex, loc: ILSourceLocation | None = None) ExpressionIndex[source]
float_divdivides floating point expressionaby expressionband returning an expression ofsizebytes.- Parameters:
size (int) – the size of the result in bytes
a (ExpressionIndex) – LHS expression
b (ExpressionIndex) – RHS expression
loc (ILSourceLocation) – location of returned expression
- Returns:
The expression
fdiv.<size>(a, b)- Return type:
ExpressionIndex
- float_mult(size: int, a: ExpressionIndex, b: ExpressionIndex, loc: ILSourceLocation | None = None) ExpressionIndex[source]
float_multmultiplies floating point expressionaby expressionband returning an expression ofsizebytes.- Parameters:
size (int) – the size of the result in bytes
a (ExpressionIndex) – LHS expression
b (ExpressionIndex) – RHS expression
loc (ILSourceLocation) – location of returned expression
- Returns:
The expression
fmul.<size>(a, b)- Return type:
ExpressionIndex
- float_neg(size: int, value: ExpressionIndex, loc: ILSourceLocation | None = None) ExpressionIndex[source]
float_negreturns sign negation of floating point expressionvalueof sizesize- Parameters:
size (int) – the size of the result in bytes
value (ExpressionIndex) – the expression to negate
loc (ILSourceLocation) – location of returned expression
- Returns:
The expression
fneg.<size>(value)- Return type:
ExpressionIndex
- float_sqrt(size: int, value: ExpressionIndex, loc: ILSourceLocation | None = None) ExpressionIndex[source]
float_sqrtreturns square root of floating point expressionvalueof sizesize- Parameters:
size (int) – the size of the result in bytes
value (ExpressionIndex) – the expression to calculate the square root of
loc (ILSourceLocation) – location of returned expression
- Returns:
The expression
sqrt.<size>(value)- Return type:
ExpressionIndex
- float_sub(size: int, a: ExpressionIndex, b: ExpressionIndex, loc: ILSourceLocation | None = None) ExpressionIndex[source]
float_subsubtracts floating point expressionbfrom expressionaand returning an expression ofsizebytes.- Parameters:
size (int) – the size of the result in bytes
a (ExpressionIndex) – LHS expression
b (ExpressionIndex) – RHS expression
loc (ILSourceLocation) – location of returned expression
- Returns:
The expression
fsub.<size>(a, b)- Return type:
ExpressionIndex
- float_to_int(size: int, value: ExpressionIndex, loc: ILSourceLocation | None = None) ExpressionIndex[source]
float_to_intreturns integer value of floating point expressionvalueof sizesize- Parameters:
size (int) – the size of the result in bytes
value (ExpressionIndex) – the expression to convert to an int
loc (ILSourceLocation) – location of returned expression
- Returns:
The expression
int.<size>(value)- Return type:
ExpressionIndex
- float_trunc(size: int, value: ExpressionIndex, loc: ILSourceLocation | None = None) ExpressionIndex[source]
float_truncrounds a floating point value to an integer towards zero- Parameters:
size (int) – the size of the result in bytes
value (ExpressionIndex) – the expression to truncate
loc (ILSourceLocation) – location of returned expression
- Returns:
The expression
roundint.<size>(value)- Return type:
ExpressionIndex
- floor(size: int, value: ExpressionIndex, loc: ILSourceLocation | None = None) ExpressionIndex[source]
floorrounds a floating point value to an integer towards negative infinity- Parameters:
size (int) – the size of the result in bytes
value (ExpressionIndex) – the expression to round down
loc (ILSourceLocation) – location of returned expression
- Returns:
The expression
roundint.<size>(value)- Return type:
ExpressionIndex
- force_ver(size: int, dest: Variable, src: Variable, loc: ILSourceLocation | None = None) ExpressionIndex[source]
force_vercreates a new version of the variabledestinsrcEffectively, this is like saying src = dest, which analysis can then use as a new variable definition site.- Parameters:
size (int) – size of the variable
dest (Variable) – the variable to force a new version of
src (Variable) – the variable created with the new version
loc (ILSourceLocation) – location of returned expression
- Returns:
The expression
FORCE_VER(reg)- Return type:
ExpressionIndex
- free_var_slot(var: Variable, loc: ILSourceLocation | None = None) ExpressionIndex[source]
free_var_slotreturn an expression that clears the slot of the variablevarwhich is in a register stack- Parameters:
var (Variable) – variable to free
loc (ILSourceLocation) – location of returned expression
- Returns:
the expression
free_var_slot(var)- Return type:
ExpressionIndex
- generate_ssa_form(analyze_conditionals: bool = True, handle_aliases: bool = True, known_not_aliases: List[Variable] | None = None, known_aliases: List[Variable] | None = None) None[source]
generate_ssa_formgenerate SSA form given the current MLIL- Parameters:
analyze_conditionals (bool) – whether or not to analyze conditionals, defaults to
Truehandle_aliases (bool) – whether or not to handle aliases, defaults to
Trueknown_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) BasicBlock | None[source]
get_basic_block_atreturns the BasicBlock at the given MLIL instructionindex.- 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: x86@40-60>
- Return type:
BasicBlock | None
- get_expr(index: ExpressionIndex) MediumLevelILInstruction | None[source]
get_exprretrieves the IL expression at a given expression index in the function.Warning
Not all IL expressions are valid, even if their index is within the bounds of the function, they might not be used by the function and might not contain properly structured data.
- Parameters:
index (ExpressionIndex) – Index of desired expression in function
- Returns:
A MediumLevelILInstruction object for the expression, if it exists. Otherwise, None
- Return type:
MediumLevelILInstruction | None
- get_expr_count() int[source]
get_expr_countgives a the total number of expressions in this IL functionYou can use this to enumerate all expressions in conjunction with
get_exprWarning
Not all IL expressions are valid, even if their index is within the bounds of the function, they might not be used by the function and might not contain properly structured data.
- Returns:
The number of expressions in the function
- Return type:
- get_expr_index_for_instruction(instr: InstructionIndex) ExpressionIndex[source]
- Parameters:
instr (InstructionIndex) –
- Return type:
ExpressionIndex
- get_expr_type(expr_index: int) Type | None[source]
Get type of expression
- Parameters:
expr_index (int) – index of the expression to retrieve
- Return type:
Optional[’types.Type’]
- get_high_level_il_expr_index(expr: ExpressionIndex) ExpressionIndex | None[source]
- Parameters:
expr (ExpressionIndex) –
- Return type:
ExpressionIndex | None
- 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) InstructionIndex | None[source]
- Parameters:
instr (InstructionIndex) –
- Return type:
InstructionIndex | None
- get_instruction_index_for_expr(expr: ExpressionIndex) InstructionIndex | None[source]
- Parameters:
expr (ExpressionIndex) –
- Return type:
InstructionIndex | None
- get_instruction_start(addr: int, arch: Architecture | None = None) InstructionIndex | None[source]
- Parameters:
addr (int) –
arch (Architecture | None) –
- Return type:
InstructionIndex | None
- get_label_for_source_instruction(i: InstructionIndex) MediumLevelILLabel | None[source]
Get the MediumLevelILLabel for a given source instruction. The returned label is to an internal object with the same lifetime as the containing MediumLevelILFunction.
- Parameters:
i (InstructionIndex) – The source instruction index
- Returns:
The MediumLevelILLabel for the source instruction
- Return type:
MediumLevelILLabel | None
- get_live_instructions_for_var(var: Variable, include_last_use: bool = True) List[MediumLevelILInstruction][source]
get_live_instructions_for_varcomputes the list of instructions for whichvaris live. Ifinclude_last_useis 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
varis live- Return type:
- get_low_level_il_expr_index(expr: ExpressionIndex) ExpressionIndex | None[source]
- Parameters:
expr (ExpressionIndex) –
- Return type:
ExpressionIndex | None
- 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) InstructionIndex | None[source]
- Parameters:
instr (InstructionIndex) –
- Return type:
InstructionIndex | None
- 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) MediumLevelILInstruction | None[source]
- Parameters:
version (int) –
- Return type:
MediumLevelILInstruction | None
- get_ssa_memory_uses(version: int) List[MediumLevelILInstruction][source]
- Parameters:
version (int) –
- Return type:
- get_ssa_var_definition(ssa_var: SSAVariable | MediumLevelILVarSsa) MediumLevelILInstruction | None[source]
Gets the instruction that contains the given SSA variable’s definition.
Since SSA variables can only be defined once, this will return the single instruction where that occurs. For SSA variable version 0s, which don’t have definitions, this will return None instead.
- Parameters:
ssa_var (SSAVariable | MediumLevelILVarSsa) –
- Return type:
MediumLevelILInstruction | None
- get_ssa_var_uses(ssa_var: SSAVariable | MediumLevelILVarSsa) List[MediumLevelILInstruction][source]
Gets all the instructions that use the given SSA variable.
- Parameters:
ssa_var (SSAVariable | MediumLevelILVarSsa) –
- Return type:
- get_ssa_var_value(ssa_var: SSAVariable) RegisterValue[source]
- Parameters:
ssa_var (SSAVariable) –
- Return type:
- get_var_definitions(var: Variable) List[MediumLevelILInstruction][source]
- Parameters:
var (Variable) –
- Return type:
- get_var_uses(var: Variable) List[MediumLevelILInstruction][source]
- Parameters:
var (Variable) –
- Return type:
- goto(label: MediumLevelILLabel, loc: ILSourceLocation | None = None) ExpressionIndex[source]
gotoreturns a goto expression which jumps to the provided MediumLevelILLabel.- Parameters:
label (MediumLevelILLabel) – Label to jump to
loc (ILSourceLocation) – location of returned expression
- Returns:
the ExpressionIndex that jumps to the provided label
- Return type:
ExpressionIndex
- if_expr(operand: ExpressionIndex, t: MediumLevelILLabel, f: MediumLevelILLabel, loc: ILSourceLocation | None = None) ExpressionIndex[source]
if_exprreturns theifexpression which depending on conditionoperandjumps to the MediumLevelILLabeltwhen the condition expressionoperandis non-zero andfwhen it’s zero.- Parameters:
operand (ExpressionIndex) – comparison expression to evaluate.
t (MediumLevelILLabel) – Label for the true branch
f (MediumLevelILLabel) – Label for the false branch
loc (ILSourceLocation) – location of returned expression
- Returns:
the ExpressionIndex for the if expression
- Return type:
ExpressionIndex
- imported_address(size: int, value: int, loc: ILSourceLocation | None = None) ExpressionIndex[source]
imported_addressreturns an expression for an imported value with addressvalueand sizesize- Parameters:
size (int) – size of the imported value
value (int) – address of the imported value
loc (ILSourceLocation) – location of returned expression
- Returns:
A constant expression of given value and size
- Return type:
ExpressionIndex
- int_to_float(size: int, value: ExpressionIndex, loc: ILSourceLocation | None = None) ExpressionIndex[source]
int_to_floatreturns floating point value of integer expressionvalueof sizesize- Parameters:
size (int) – the size of the result in bytes
value (ExpressionIndex) – the expression to convert to a float
loc (ILSourceLocation) – location of returned expression
- Returns:
The expression
float.<size>(value)- Return type:
ExpressionIndex
- intrinsic(outputs: List[Variable], intrinsic: IntrinsicName | ILIntrinsic | IntrinsicIndex, params: List[ExpressionIndex], loc: ILSourceLocation | None = None)[source]
intrinsicreturn an intrinsic expression.- Parameters:
outputs (List[Variable]) – list of output variables
intrinsic (IntrinsicType) – which intrinsic to call
params (List[ExpressionIndex]) – parameters to intrinsic
loc (ILSourceLocation) – location of returned expression
- Returns:
an intrinsic expression.
- Return type:
ExpressionIndex
- is_ssa_var_live(ssa_var: SSAVariable) bool[source]
is_ssa_var_livedetermines ifssa_varis 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:
- is_ssa_var_live_at(ssa_var: SSAVariable, instr: InstructionIndex) bool[source]
is_ssa_var_live_atdetermines ifssa_varis live at a given point in the function; counts phi’s as uses- Parameters:
ssa_var (SSAVariable) –
instr (InstructionIndex) –
- Return type:
- is_var_live_at(var: Variable, instr: InstructionIndex) bool[source]
is_var_live_atdetermines ifvaris live at a given point in the function
- jump(dest: ExpressionIndex, loc: ILSourceLocation | None = None) ExpressionIndex[source]
jumpreturns an expression which jumps (branches) to the expressiondest- Parameters:
dest (ExpressionIndex) – the expression to jump to
loc (ILSourceLocation) – location of returned expression
- Returns:
The expression
jump(dest)- Return type:
ExpressionIndex
- jump_to(dest: ExpressionIndex, targets: Mapping[int, MediumLevelILLabel], loc: ILSourceLocation | None = None) ExpressionIndex[source]
jump_toreturns an expression which jumps (branches) various targets intargetschoosing the target intargetsbased on the value calculated bydest- Parameters:
dest (ExpressionIndex) – the expression choosing which jump target to use
targets (Mapping[int, MediumLevelILLabel]) – the list of targets for jump locations
loc (ILSourceLocation) – location of returned expression
targets –
- Returns:
The expression
jump(dest)- Return type:
ExpressionIndex
- load(size: int, src: ExpressionIndex, loc: ILSourceLocation | None = None) ExpressionIndex[source]
loadReadssizebytes from the expressionsrc- Parameters:
size (int) – number of bytes to read
src (ExpressionIndex) – the expression to read memory from
loc (ILSourceLocation) – location of returned expression
- Returns:
The expression
[addr].size- Return type:
ExpressionIndex
- load_struct(size: int, src: ExpressionIndex, offset: int, loc: ILSourceLocation | None = None) ExpressionIndex[source]
load_structReadssizebytes at the offsetoffsetfrom the expressionsrc- Parameters:
size (int) – number of bytes to read
src (ExpressionIndex) – the expression to read memory from
offset (int) – offset of field in the memory
loc (ILSourceLocation) – location of returned expression
- Returns:
The expression
[(src + offset)].size(often renderedsrc->offset.size)- Return type:
ExpressionIndex
- logical_shift_right(size: int, a: ExpressionIndex, b: ExpressionIndex, loc: ILSourceLocation | None = None) ExpressionIndex[source]
logical_shift_rightlogically right shifts expressionaby expressionbreturning an expression ofsizebytes- Parameters:
size (int) – the size of the result in bytes
a (ExpressionIndex) – LHS expression
b (ExpressionIndex) – RHS expression
loc (ILSourceLocation) – location of returned expression
- Returns:
The expression
lsr.<size>(a, b)- Return type:
ExpressionIndex
- low_part(size: int, value: ExpressionIndex, loc: ILSourceLocation | None = None) ExpressionIndex[source]
low_parttruncates the expression invaluetosizebytes- Parameters:
size (int) – the size of the result in bytes
value (ExpressionIndex) – the expression to zero extend
loc (ILSourceLocation) – location of returned expression
- Returns:
The expression
(value).<size>- Return type:
ExpressionIndex
- mark_label(label: MediumLevelILLabel) None[source]
mark_labelassigns a MediumLevelILLabel to the current IL address.- Parameters:
label (MediumLevelILLabel) –
- Return type:
None
- mod_double_prec_signed(size: int, a: ExpressionIndex, b: ExpressionIndex, loc: ILSourceLocation | None = None) ExpressionIndex[source]
mod_double_prec_signedsigned modulus double precision expressionaby expressionband returns an expression. The first operand is of size2*sizebytes and the other operand and return value are of sizesizebytes.- Parameters:
size (int) – the size of the result and input operands, in bytes
a (ExpressionIndex) – LHS expression
b (ExpressionIndex) – RHS expression
loc (ILSourceLocation) – location of returned expression
- Returns:
The expression
mods.dp.<size>(a, b)- Return type:
ExpressionIndex
- mod_double_prec_unsigned(size: int, a: ExpressionIndex, b: ExpressionIndex, loc: ILSourceLocation | None = None) ExpressionIndex[source]
mod_double_prec_unsignedunsigned modulus double precision expressionaby expressionband returns an expression. The first operand is of size2*sizebytes and the other operand and return value are of sizesizebytes.- Parameters:
size (int) – the size of the result and input operands, in bytes
a (ExpressionIndex) – LHS expression
b (ExpressionIndex) – RHS expression
loc (ILSourceLocation) – location of returned expression
- Returns:
The expression
modu.dp.<size>(a, b)- Return type:
ExpressionIndex
- mod_signed(size: int, a: ExpressionIndex, b: ExpressionIndex, loc: ILSourceLocation | None = None) ExpressionIndex[source]
mod_signedsigned modulus expressionaby expressionband returns an expression. Both the operands and return value aresizebytes.- Parameters:
size (int) – the size of the result and input operands, in bytes
a (ExpressionIndex) – LHS expression
b (ExpressionIndex) – RHS expression
loc (ILSourceLocation) – location of returned expression
- Returns:
The expression
mods.<size>(a, b)- Return type:
ExpressionIndex
- mod_unsigned(size: int, a: ExpressionIndex, b: ExpressionIndex, loc: ILSourceLocation | None = None) ExpressionIndex[source]
mod_unsignedunsigned modulus expressionaby expressionband returns an expression. Both the operands and return value aresizebytes.- Parameters:
size (int) – the size of the result and input operands, in bytes
a (ExpressionIndex) – LHS expression
b (ExpressionIndex) – RHS expression
loc (ILSourceLocation) – location of returned expression
- Returns:
The expression
modu.<size>(a, b)- Return type:
ExpressionIndex
- mult(size: int, a: ExpressionIndex, b: ExpressionIndex, loc: ILSourceLocation | None = None) ExpressionIndex[source]
multmultiplies expressionaby expressionband returns an expression. Both the operands and return value aresizebytes as the product’s upper half is discarded.- Parameters:
size (int) – the size of the result and input operands, in bytes
a (ExpressionIndex) – LHS expression
b (ExpressionIndex) – RHS expression
loc (ILSourceLocation) – location of returned expression
- Returns:
The expression
mult.<size>(a, b)- Return type:
ExpressionIndex
- mult_double_prec_signed(size: int, a: ExpressionIndex, b: ExpressionIndex, loc: ILSourceLocation | None = None) ExpressionIndex[source]
mult_double_prec_signedsigned multiplies expressionaby expressionband returns an expression. Both the operands aresizebytes and the returned expression is of size2*sizebytes.- Parameters:
size (int) – the size of the result and input operands, in bytes
a (ExpressionIndex) – LHS expression
b (ExpressionIndex) – RHS expression
loc (ILSourceLocation) – location of returned expression
- Returns:
The expression
muls.dp.<2*size>(a, b)- Return type:
ExpressionIndex
- mult_double_prec_unsigned(size: int, a: ExpressionIndex, b: ExpressionIndex, loc: ILSourceLocation | None = None) ExpressionIndex[source]
mult_double_prec_unsignedunsigned multiplies expressionaby expressionband returnisan expression. Both the operands aresizebytes and the returned expression is of size2*sizebytes.- Parameters:
size (int) – the size of the result and input operands, in bytes
a (ExpressionIndex) – LHS expression
b (ExpressionIndex) – RHS expression
loc (ILSourceLocation) – location of returned expression
- Returns:
The expression
mulu.dp.<2*size>(a, b)- Return type:
ExpressionIndex
- neg_expr(size: int, value: ExpressionIndex, loc: ILSourceLocation | None = None) ExpressionIndex[source]
neg_exprtwo’s complement sign negation of expressionvalueof sizesize- Parameters:
size (int) – the size of the result in bytes
value (ExpressionIndex) – the expression to negate
loc (ILSourceLocation) – location of returned expression
- Returns:
The expression
neg.<size>(value)- Return type:
ExpressionIndex
- no_ret(loc: ILSourceLocation | None = None) ExpressionIndex[source]
no_retreturns an expression that halts execution- Parameters:
loc (ILSourceLocation) – location of returned expression
- Returns:
The expression
noreturn- Return type:
ExpressionIndex
- nop(loc: ILSourceLocation | None = None) ExpressionIndex[source]
nopno operation, this instruction does nothing- Parameters:
loc (ILSourceLocation | None) – Location of expression
- Returns:
The no operation expression
- Return type:
ExpressionIndex
- not_expr(size: int, value: ExpressionIndex, loc: ILSourceLocation | None = None) ExpressionIndex[source]
not_exprbitwise inversion of expressionvalueof sizesize- Parameters:
size (int) – the size of the result in bytes
value (ExpressionIndex) – the expression to bitwise invert
loc (ILSourceLocation) – location of returned expression
- Returns:
The expression
not.<size>(value)- Return type:
ExpressionIndex
- or_expr(size: int, a: ExpressionIndex, b: ExpressionIndex, loc: ILSourceLocation | None = None) ExpressionIndex[source]
or_exprbitwise or’s expressionaand expressionbreturning an expression ofsizebytes- Parameters:
size (int) – the size of the result in bytes
a (ExpressionIndex) – LHS expression
b (ExpressionIndex) – RHS expression
loc (ILSourceLocation) – location of returned expression
- Returns:
The expression
or.<size>(a, b)- Return type:
ExpressionIndex
- prepare_to_copy_block(src: MediumLevelILBasicBlock)[source]
prepare_to_copy_blocksets up state when copying a function in preparation of copying the instructions from the blocksrc- Parameters:
src (MediumLevelILBasicBlock) – block about to be copied from
- prepare_to_copy_function(src: MediumLevelILFunction)[source]
prepare_to_copy_functionsets up state in this MLIL function in preparation of copying instructions fromsrc- Parameters:
src (MediumLevelILFunction) – function about to be copied from
- replace_expr(original: MediumLevelILInstruction | ExpressionIndex | InstructionIndex, new: MediumLevelILInstruction | ExpressionIndex | InstructionIndex) None[source]
replace_exprreplace an existing IL instruction in-place with another oneBoth expressions must have been created on the same function. The original expression will be replaced completely and the new expression will not be modified.
- Parameters:
original (ExpressionIndex) – the ExpressionIndex to replace (may also be an expression index)
new (ExpressionIndex) – the ExpressionIndex to add to the current LowLevelILFunction (may also be an expression index)
- Return type:
None
- ret(sources: List[ExpressionIndex], loc: ILSourceLocation | None = None) ExpressionIndex[source]
retreturns an expression which jumps (branches) to the calling function, returning a result specified by the expressions insources.- Parameters:
sources (List[ExpressionIndex]) – list of returned expressions
loc (ILSourceLocation) – location of returned expression
- Returns:
The expression
return sources...- Return type:
ExpressionIndex
- rotate_left(size: int, a: ExpressionIndex, b: ExpressionIndex, loc: ILSourceLocation | None = None) ExpressionIndex[source]
rotate_leftbitwise rotates left expressionaby expressionbreturning an expression ofsizebytes- Parameters:
size (int) – the size of the result in bytes
a (ExpressionIndex) – LHS expression
b (ExpressionIndex) – RHS expression
loc (ILSourceLocation) – location of returned expression
- Returns:
The expression
rol.<size>(a, b)- Return type:
ExpressionIndex
- rotate_left_carry(size: int, a: ExpressionIndex, b: ExpressionIndex, carry: ExpressionIndex, loc: ILSourceLocation | None = None) ExpressionIndex[source]
rotate_left_carrybitwise rotates left expressionaby expressionbwith carry fromcarryreturning an expression ofsizebytes- Parameters:
size (int) – the size of the result in bytes
a (ExpressionIndex) – LHS expression
b (ExpressionIndex) – RHS expression
carry (ExpressionIndex) – Carried value expression
loc (ILSourceLocation) – location of returned expression
- Returns:
The expression
rlc.<size>(a, b, carry)- Return type:
ExpressionIndex
- rotate_right(size: int, a: ExpressionIndex, b: ExpressionIndex, loc: ILSourceLocation | None = None) ExpressionIndex[source]
rotate_rightbitwise rotates right expressionaby expressionbreturning an expression ofsizebytes- Parameters:
size (int) – the size of the result in bytes
a (ExpressionIndex) – LHS expression
b (ExpressionIndex) – RHS expression
loc (ILSourceLocation) – location of returned expression
- Returns:
The expression
ror.<size>(a, b)- Return type:
ExpressionIndex
- rotate_right_carry(size: int, a: ExpressionIndex, b: ExpressionIndex, carry: ExpressionIndex, loc: ILSourceLocation | None = None) ExpressionIndex[source]
rotate_right_carrybitwise rotates right expressionaby expressionbwith carry fromcarryreturning an expression ofsizebytes- Parameters:
size (int) – the size of the result in bytes
a (ExpressionIndex) – LHS expression
b (ExpressionIndex) – RHS expression
carry (ExpressionIndex) – Carried value expression
loc (ILSourceLocation) – location of returned expression
- Returns:
The expression
rrc.<size>(a, b, carry)- Return type:
ExpressionIndex
- round_to_int(size: int, value: ExpressionIndex, loc: ILSourceLocation | None = None) ExpressionIndex[source]
round_to_introunds a floating point value to the nearest integer- Parameters:
size (int) – the size of the result in bytes
value (ExpressionIndex) – the expression to round to the nearest integer
loc (ILSourceLocation) – location of returned expression
- Returns:
The expression
roundint.<size>(value)- Return type:
ExpressionIndex
- set_current_address(value: int, arch: Architecture | None = None) None[source]
- Parameters:
value (int) –
arch (Architecture | None) –
- Return type:
None
- set_expr_attributes(expr: MediumLevelILInstruction | ExpressionIndex | InstructionIndex, value: Set[ILInstructionAttribute] | List[ILInstructionAttribute])[source]
set_expr_attributesallows modification of instruction attributes but ONLY during lifting.Warning
This function should ONLY be called as a part of a lifter. It will otherwise not do anything useful as there’s no way to trigger re-analysis of IL levels at this time.
- Parameters:
expr (ExpressionIndex) – the ExpressionIndex to replace (may also be an expression index)
value (set(ILInstructionAttribute)) – the set of attributes to place on the instruction
- Return type:
None
- set_expr_type(expr_index: int, expr_type: str | Type | TypeBuilder | None) None[source]
Set type of expression
This API is only meant for workflows or for debugging purposes, since the changes they make are not persistent and get lost after a database save and reload. To make persistent changes to the analysis, one should use other APIs to, for example, change the type of variables. The analysis will then propagate the type of the variable and update the type of related expressions.
- Parameters:
expr_index (int) – index of the expression to set
StringOrType – new type of the expression
expr_type (str | Type | TypeBuilder | None) –
- Return type:
None
- set_var(size: int, dest: Variable, src: ExpressionIndex, loc: ILSourceLocation | None = None) ExpressionIndex[source]
set_varsets the variabledestof sizesizeto the expressionsrc- Parameters:
size (int) – the size of the variable in bytes
dest (Variable) – the variable being set
src (ExpressionIndex) – expression with the value to set the variable to
loc (ILSourceLocation) – location of returned expression
- Returns:
The expression
dest = src- Return type:
ExpressionIndex
- set_var_field(size: int, dest: Variable, offset: int, src: ExpressionIndex, loc: ILSourceLocation | None = None) ExpressionIndex[source]
set_var_fieldsets the fieldoffsetof variabledestof sizesizeto the expressionsrc- Parameters:
size (int) – the size of the field in bytes
dest (Variable) – the variable being set
offset (int) – offset of field in the variable
src (ExpressionIndex) – expression with the value to set the field to
loc (ILSourceLocation) – location of returned expression
- Returns:
The expression
dest:offset = src- Return type:
ExpressionIndex
- set_var_split(size: int, hi: Variable, lo: Variable, src: ExpressionIndex, loc: ILSourceLocation | None = None) ExpressionIndex[source]
set_var_splituseshiandloas a single extended variable of size2*sizesettinghi:loto the expressionsrc- Parameters:
size (int) – the size of each variable in bytes
hi (Variable) – the high variable being set
lo (Variable) – the low variable being set
src (ExpressionIndex) – expression with the value to set the variables to
loc (ILSourceLocation) – location of returned expression
- Returns:
The expression
hi:lo = src- Return type:
ExpressionIndex
- shift_left(size: int, a: ExpressionIndex, b: ExpressionIndex, loc: ILSourceLocation | None = None) ExpressionIndex[source]
shift_leftleft shifts expressionaby expressionbreturning an expression ofsizebytes- Parameters:
size (int) – the size of the result in bytes
a (ExpressionIndex) – LHS expression
b (ExpressionIndex) – RHS expression
loc (ILSourceLocation) – location of returned expression
- Returns:
The expression
lsl.<size>(a, b)- Return type:
ExpressionIndex
- sign_extend(size: int, value: ExpressionIndex, loc: ILSourceLocation | None = None) ExpressionIndex[source]
sign_extendtwo’s complement sign-extends the expression invaluetosizebytes- Parameters:
size (int) – the size of the result in bytes
value (ExpressionIndex) – the expression to sign extend
loc (ILSourceLocation) – location of returned expression
- Returns:
The expression
sx.<size>(value)- Return type:
ExpressionIndex
- store(size: int, dest: ExpressionIndex, src: ExpressionIndex, loc: ILSourceLocation | None = None) ExpressionIndex[source]
storeWritessizebytes to expressiondestread from expressionsrc- Parameters:
size (int) – number of bytes to write
dest (ExpressionIndex) – the expression to write to
src (ExpressionIndex) – the expression to be written
loc (ILSourceLocation) – location of returned expression
- Returns:
The expression
[dest].size = src- Return type:
ExpressionIndex
- store_struct(size: int, dest: ExpressionIndex, offset: int, src: ExpressionIndex, loc: ILSourceLocation | None = None) ExpressionIndex[source]
store_structWritessizebytes to expressiondestat the offsetoffsetread from expressionsrc- Parameters:
size (int) – number of bytes to write
dest (ExpressionIndex) – the expression to write to
offset (int) – offset of field in the memory
src (ExpressionIndex) – the expression to be written
loc (ILSourceLocation) – location of returned expression
- Returns:
The expression
[(dest + offset)].size = src(often rendereddest->offset.size)- Return type:
ExpressionIndex
- sub(size: int, a: ExpressionIndex, b: ExpressionIndex, loc: ILSourceLocation | None = None) ExpressionIndex[source]
subsubtracts expressionato expressionbreturning an expression ofsizebytes- Parameters:
size (int) – the size of the result in bytes
a (ExpressionIndex) – LHS expression
b (ExpressionIndex) – RHS expression
loc (ILSourceLocation) – location of returned expression
- Returns:
The expression
sub.<size>(a, b)- Return type:
ExpressionIndex
- sub_borrow(size: int, a: ExpressionIndex, b: ExpressionIndex, carry: ExpressionIndex, loc: ILSourceLocation | None = None) ExpressionIndex[source]
sub_borrowsubtracts expressionato expressionbwith borrow fromcarryreturning an expression ofsizebytes- Parameters:
size (int) – the size of the result in bytes
a (ExpressionIndex) – LHS expression
b (ExpressionIndex) – RHS expression
carry (ExpressionIndex) – Carried value expression
loc (ILSourceLocation) – location of returned expression
- Returns:
The expression
sbb.<size>(a, b, carry)- Return type:
ExpressionIndex
- system_call(output: List[Variable], params: List[ExpressionIndex], loc: ILSourceLocation | None = None) ExpressionIndex[source]
system_callreturns an expression which performs a system call with the parameters defined inparamsreturning values in the variables inoutput.- Parameters:
output (List['variable.Variable']) – output variables
params (List[ExpressionIndex]) – parameter variables
loc (ILSourceLocation) – location of returned expression
- Returns:
The expression
output = syscall(dest, params...)- Return type:
ExpressionIndex
- system_call_untyped(output: List[Variable], params: List[ExpressionIndex], stack: ExpressionIndex, loc: ILSourceLocation | None = None) ExpressionIndex[source]
system_call_untypedreturns an expression which performs a system call with the parameters defined inparamsreturning values in the variables inoutputwhere stack resolution could not be determined and the top of the stack has to be specified instack- Parameters:
output (List['variable.Variable']) – output variables
params (List[ExpressionIndex]) – parameter variables
stack (ExpressionIndex) – expression of top of stack
loc (ILSourceLocation) – location of returned expression
- Returns:
The expression
output = syscall(dest, params..., stack = stack)- Return type:
ExpressionIndex
- tailcall(output: List[Variable], dest: ExpressionIndex, params: List[ExpressionIndex], loc: ILSourceLocation | None = None) ExpressionIndex[source]
tailcallreturns an expression which tailcalls the function in the expressiondestwith the parameters defined inparamsreturning values in the variables inoutput.- Parameters:
output (List['variable.Variable']) – output variables
dest (ExpressionIndex) – the expression to call
params (List[ExpressionIndex]) – parameter variables
loc (ILSourceLocation) – location of returned expression
- Returns:
The expression
output = tailcall(dest, params...)- Return type:
ExpressionIndex
- tailcall_untyped(output: List[Variable], dest: ExpressionIndex, params: List[ExpressionIndex], stack: ExpressionIndex, loc: ILSourceLocation | None = None) ExpressionIndex[source]
tailcall_untypedreturns an expression which tailcalls the function in the expressiondestwith the parameters defined inparamsreturning values in the variables inoutputwhere stack resolution could not be determined and the top of the stack has to be specified instack- Parameters:
output (List['variable.Variable']) – output variables
dest (ExpressionIndex) – the expression to call
params (List[ExpressionIndex]) – parameter variables
stack (ExpressionIndex) – expression of top of stack
loc (ILSourceLocation) – location of returned expression
- Returns:
The expression
output = tailcall(dest, params..., stack = stack)- Return type:
ExpressionIndex
- test_bit(size: int, a: ExpressionIndex, b: ExpressionIndex, loc: ILSourceLocation | None = None) ExpressionIndex[source]
test_bitreturns an expression of sizesizethat tells whether expressionahas its bit with an index of the expressionbis set- Parameters:
size (int) – size in bytes
a (ExpressionIndex) – an expression to be tested
b (ExpressionIndex) – an expression for the index of the big
loc (ILSourceLocation) – location of returned expression
- Returns:
the result expression.
- Return type:
ExpressionIndex
- translate(expr_handler: Callable[[MediumLevelILFunction, MediumLevelILBasicBlock, MediumLevelILInstruction], ExpressionIndex]) MediumLevelILFunction[source]
translateclones an IL function and modifies its expressions as specified by a givenexpr_handler, returning the updated IL function.- Parameters:
expr_handler (Callable[[MediumLevelILFunction, MediumLevelILBasicBlock, MediumLevelILInstruction], ExpressionIndex]) –
Function to modify an expression and copy it to the new function. The function should have the following signature:
expr_handler(new_func: MediumLevelILFunction, old_block: MediumLevelILBasicBlock, old_instr: MediumLevelILInstruction) -> ExpressionIndex
- Where:
new_func (MediumLevelILFunction): New function to receive translated instructions
old_block (MediumLevelILBasicBlock): Original block containing old_instr
old_instr (MediumLevelILInstruction): Original instruction
returns (ExpressionIndex): Expression index of newly created instruction in
new_func
- Returns:
Cloned IL function with modifications
- Return type:
- trap(value: int, loc: ILSourceLocation | None = None) ExpressionIndex[source]
trapreturns a processor trap (interrupt) expression of the given integervalue.- Parameters:
value (int) – trap (interrupt) number
loc (ILSourceLocation) – location of returned expression
- Returns:
a trap expression.
- Return type:
ExpressionIndex
- traverse(cb: Callable[[MediumLevelILInstruction, Any], Any], *args: Any, **kwargs: Any) Iterator[Any][source]
traverseiterates through all the instructions in the MediumLevelILInstruction and calls the callback function for each instruction and sub-instruction. See the Developer Docs for more examples.- Parameters:
cb (Callable[[MediumLevelILInstruction, Any], Any]) – Callback function that takes a HighLevelILInstruction and returns a value
args (Any) – Custom user-defined arguments
kwargs (Any) – Custom user-defined keyword arguments
cb –
- Returns:
An iterator of the results of the callback function
- Return type:
Iterator[Any]
- Example:
>>> def find_constants(instr) -> Optional[int]: ... if isinstance(instr, Constant): ... return instr.constant >>> print(list(current_il_function.traverse(find_constants)))
- undefined(loc: ILSourceLocation | None = None) ExpressionIndex[source]
undefinedreturns the undefined expression. This should be used for instructions which perform functions but aren’t important for dataflow or partial emulation purposes.- Parameters:
loc (ILSourceLocation) – location of returned expression
- Returns:
the undefined expression.
- Return type:
ExpressionIndex
- unimplemented(loc: ILSourceLocation | None = None) ExpressionIndex[source]
unimplementedreturns the unimplemented expression. This should be used for all instructions which aren’t implemented.- Parameters:
loc (ILSourceLocation) – location of returned expression
- Returns:
the unimplemented expression.
- Return type:
ExpressionIndex
- unimplemented_memory_ref(size: int, addr: ExpressionIndex, loc: ILSourceLocation | None = None) ExpressionIndex[source]
unimplemented_memory_refa memory reference to expressionaddrof sizesizewith unimplemented operation.- Parameters:
size (int) – size in bytes of the memory reference
addr (ExpressionIndex) – expression to reference memory
loc (ILSourceLocation) – location of returned expression
- Returns:
the unimplemented memory reference expression.
- Return type:
ExpressionIndex
- var(size: int, src: Variable, loc: ILSourceLocation | None = None) ExpressionIndex[source]
varreturns the variablesrcof sizesize- Parameters:
size (int) – the size of the variable in bytes
src (Variable) – the variable being read
loc (ILSourceLocation) – location of returned expression
- Returns:
An expression for the given variable
- Return type:
ExpressionIndex
- var_field(size: int, src: Variable, offset: int, loc: ILSourceLocation | None = None) ExpressionIndex[source]
var_fieldreturns the field at offsetoffsetfrom variablesrcof sizesize- Parameters:
size (int) – the size of the field in bytes
src (Variable) – the variable being read
offset (int) – offset of field in the variable
loc (ILSourceLocation) – location of returned expression
- Returns:
The expression
var:offset.size- Return type:
ExpressionIndex
- var_split(size: int, hi: Variable, lo: Variable, loc: ILSourceLocation | None = None) ExpressionIndex[source]
var_splitcombines variableshiandloof sizesizeinto an expression of size2*size- Parameters:
size (int) – the size of each variable in bytes
hi (Variable) – the variable holding high part of value
lo (Variable) – the variable holding low part of value
loc (ILSourceLocation) – location of returned expression
- Returns:
The expression
hi:lo- Return type:
ExpressionIndex
- visit(cb: Callable[[str, int | float | MediumLevelILOperationAndSize | MediumLevelILInstruction | ILIntrinsic | Variable | SSAVariable | List[int] | List[Variable] | List[SSAVariable] | List[MediumLevelILInstruction] | Dict[int, int] | ConstantData, str, MediumLevelILInstruction | None], bool]) bool[source]
Iterates over all the instructions in the function and calls the callback function for each instruction and each sub-instruction.
- Parameters:
cb (MediumLevelILVisitorCallback) – Callback function that takes the name of the operand, the operand, operand type, and parent instruction
- Returns:
True if all instructions were visited, False if the callback function returned False.
- Return type:
Deprecated since version 4.0.4907: Use
MediumLevelILFunction.traverseinstead.
- visit_all(cb: Callable[[str, int | float | MediumLevelILOperationAndSize | MediumLevelILInstruction | ILIntrinsic | Variable | SSAVariable | List[int] | List[Variable] | List[SSAVariable] | List[MediumLevelILInstruction] | Dict[int, int] | ConstantData, str, MediumLevelILInstruction | None], bool]) bool[source]
Iterates over all the instructions in the function and calls the callback function for each instruction and their operands.
- Parameters:
cb (MediumLevelILVisitorCallback) – Callback function that takes the name of the operand, the operand, operand type, and parent instruction
- Returns:
True if all instructions were visited, False if the callback function returned False.
- Return type:
Deprecated since version 4.0.4907: Use
MediumLevelILFunction.traverseinstead.
- visit_operands(cb: Callable[[str, int | float | MediumLevelILOperationAndSize | MediumLevelILInstruction | ILIntrinsic | Variable | SSAVariable | List[int] | List[Variable] | List[SSAVariable] | List[MediumLevelILInstruction] | Dict[int, int] | ConstantData, str, MediumLevelILInstruction | None], bool]) bool[source]
- Iterates over all the instructions in the function and calls the callback function for each operand and
the operands of each sub-instruction.
- Parameters:
cb (MediumLevelILVisitorCallback) – Callback function that takes the name of the operand, the operand, operand type, and parent instruction
- Returns:
True if all instructions were visited, False if the callback function returned False.
- Return type:
Deprecated since version 4.0.4907: Use
MediumLevelILFunction.traverseinstead.
- xor_expr(size: int, a: ExpressionIndex, b: ExpressionIndex, loc: ILSourceLocation | None = None) ExpressionIndex[source]
xor_exprxor’s expressionaand expressionbreturning an expression ofsizebytes- Parameters:
size (int) – the size of the result in bytes
a (ExpressionIndex) – LHS expression
b (ExpressionIndex) – RHS expression
loc (ILSourceLocation) – location of returned expression
- Returns:
The expression
xor.<size>(a, b)- Return type:
ExpressionIndex
- zero_extend(size: int, value: ExpressionIndex, loc: ILSourceLocation | None = None) ExpressionIndex[source]
zero_extendzero-extends the expression invaluetosizebytes- Parameters:
size (int) – the size of the result in bytes
value (ExpressionIndex) – the expression to zero extend
loc (ILSourceLocation) – location of returned expression
- Returns:
The expression
zx.<size>(value)- Return type:
ExpressionIndex
- 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.parameter_vars
- property arch: Architecture
- property basic_blocks: MediumLevelILBasicBlockList
- property current_address: int
Current IL Address (read/write)
- property high_level_il: HighLevelILFunction | None
High level IL for this medium level IL.
- property hlil: HighLevelILFunction | None
- property il_form: FunctionGraphType
- property instructions: Generator[MediumLevelILInstruction, None, None]
A generator of mlil instructions of the current function
- property llil: LowLevelILFunction | None
Alias for low_level_il
- property low_level_il: LowLevelILFunction | None
Low level IL for this function
- property non_ssa_form: MediumLevelILFunction | None
Medium level IL in non-SSA (default) form (read-only)
- property source_function: Function
- property ssa_form: MediumLevelILFunction | None
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.parameter_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.parameter_vars for all the variables used in the function
- property view: BinaryView
- class MediumLevelILGoto[source]
Bases:
MediumLevelILInstruction,TerminalMediumLevelILGoto(function: ‘MediumLevelILFunction’, expr_index: <function NewType.<locals>.new_type at 0x1129439d0>, instr: binaryninja.mediumlevelil.CoreMediumLevelILInstruction, instr_index: <function NewType.<locals>.new_type at 0x111812ca0>)
- __init__(function: MediumLevelILFunction, expr_index: ExpressionIndex, instr: CoreMediumLevelILInstruction, instr_index: InstructionIndex) None
- Parameters:
function (MediumLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreMediumLevelILInstruction) –
instr_index (InstructionIndex) –
- Return type:
None
- property dest: InstructionIndex
- property detailed_operands: List[Tuple[str, int | float | MediumLevelILOperationAndSize | MediumLevelILInstruction | ILIntrinsic | Variable | SSAVariable | List[int] | List[Variable] | List[SSAVariable] | List[MediumLevelILInstruction] | Dict[int, int] | ConstantData, str]]
Returns a list of tuples containing the name of the operand, the operand, and the type of the operand. Useful for iterating over all operands of an instruction and sub-instructions.
- expr_index: ExpressionIndex
- function: MediumLevelILFunction
- instr: CoreMediumLevelILInstruction
- instr_index: InstructionIndex
- class MediumLevelILIf[source]
Bases:
MediumLevelILInstruction,TerminalMediumLevelILIf(function: ‘MediumLevelILFunction’, expr_index: <function NewType.<locals>.new_type at 0x1129439d0>, instr: binaryninja.mediumlevelil.CoreMediumLevelILInstruction, instr_index: <function NewType.<locals>.new_type at 0x111812ca0>)
- __init__(function: MediumLevelILFunction, expr_index: ExpressionIndex, instr: CoreMediumLevelILInstruction, instr_index: InstructionIndex) None
- Parameters:
function (MediumLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreMediumLevelILInstruction) –
instr_index (InstructionIndex) –
- Return type:
None
- property condition: MediumLevelILInstruction
- property detailed_operands: List[Tuple[str, int | float | MediumLevelILOperationAndSize | MediumLevelILInstruction | ILIntrinsic | Variable | SSAVariable | List[int] | List[Variable] | List[SSAVariable] | List[MediumLevelILInstruction] | Dict[int, int] | ConstantData, str]]
Returns a list of tuples containing the name of the operand, the operand, and the type of the operand. Useful for iterating over all operands of an instruction and sub-instructions.
- expr_index: ExpressionIndex
- property false: InstructionIndex
- function: MediumLevelILFunction
- instr: CoreMediumLevelILInstruction
- instr_index: InstructionIndex
- property true: InstructionIndex
- class MediumLevelILImport[source]
Bases:
MediumLevelILConstBaseMediumLevelILImport(function: ‘MediumLevelILFunction’, expr_index: <function NewType.<locals>.new_type at 0x1129439d0>, instr: binaryninja.mediumlevelil.CoreMediumLevelILInstruction, instr_index: <function NewType.<locals>.new_type at 0x111812ca0>)
- __init__(function: MediumLevelILFunction, expr_index: ExpressionIndex, instr: CoreMediumLevelILInstruction, instr_index: InstructionIndex) None
- Parameters:
function (MediumLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreMediumLevelILInstruction) –
instr_index (InstructionIndex) –
- Return type:
None
- property constant: int
- property detailed_operands: List[Tuple[str, int | float | MediumLevelILOperationAndSize | MediumLevelILInstruction | ILIntrinsic | Variable | SSAVariable | List[int] | List[Variable] | List[SSAVariable] | List[MediumLevelILInstruction] | Dict[int, int] | ConstantData, str]]
Returns a list of tuples containing the name of the operand, the operand, and the type of the operand. Useful for iterating over all operands of an instruction and sub-instructions.
- expr_index: ExpressionIndex
- function: MediumLevelILFunction
- instr: CoreMediumLevelILInstruction
- instr_index: InstructionIndex
- class MediumLevelILInstruction[source]
Bases:
BaseILInstructionclass MediumLevelILInstructionMedium 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. x86mov eax, 0vs. MLILeax = 0).- __init__(function: MediumLevelILFunction, expr_index: ExpressionIndex, instr: CoreMediumLevelILInstruction, instr_index: InstructionIndex) None
- Parameters:
function (MediumLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreMediumLevelILInstruction) –
instr_index (InstructionIndex) –
- Return type:
None
- copy_to(dest: MediumLevelILFunction, sub_expr_handler: Callable[[MediumLevelILInstruction], ExpressionIndex] | None = None) ExpressionIndex[source]
copy_todeep copies an expression into a new IL function. If provided, the functionsub_expr_handlerwill be called on every copied sub-expressionWarning
This function should ONLY be called as a part of a lifter or workflow. It will otherwise not do anything useful as analysis will not be running.
- Parameters:
dest (MediumLevelILFunction) – Function to copy the expression to
sub_expr_handler (Callable[[MediumLevelILInstruction], ExpressionIndex] | None) – Optional function to call on every copied sub-expression
- Returns:
Index of the copied expression in the target function
- Return type:
ExpressionIndex
- classmethod create(func: MediumLevelILFunction, expr_index: ExpressionIndex, instr_index: InstructionIndex | None = None) MediumLevelILInstruction[source]
- Parameters:
func (MediumLevelILFunction) –
expr_index (ExpressionIndex) –
instr_index (InstructionIndex | None) –
- Return type:
- get_branch_dependence(branch_instr: int) ILBranchDependence[source]
- Parameters:
branch_instr (int) –
- Return type:
- get_flag_value(flag: FlagName | ILFlag | FlagIndex) RegisterValue[source]
- Parameters:
flag (FlagName | ILFlag | FlagIndex) –
- Return type:
- get_flag_value_after(flag: FlagName | ILFlag | FlagIndex) RegisterValue[source]
- Parameters:
flag (FlagName | ILFlag | FlagIndex) –
- Return type:
- get_possible_flag_values(flag: FlagName | ILFlag | FlagIndex, options: List[DataFlowQueryOption] | None = None) PossibleValueSet[source]
- Parameters:
flag (FlagName | ILFlag | FlagIndex) –
options (List[DataFlowQueryOption] | None) –
- Return type:
- get_possible_flag_values_after(flag: FlagName | ILFlag | FlagIndex, options: List[DataFlowQueryOption] | None = None) PossibleValueSet[source]
- Parameters:
flag (FlagName | ILFlag | FlagIndex) –
options (List[DataFlowQueryOption] | None) –
- Return type:
- get_possible_reg_values(reg: RegisterName | ILRegister | RegisterIndex, options: List[DataFlowQueryOption] | None = None) PossibleValueSet[source]
- Parameters:
reg (RegisterName | ILRegister | RegisterIndex) –
options (List[DataFlowQueryOption] | None) –
- Return type:
- get_possible_reg_values_after(reg: RegisterName | ILRegister | RegisterIndex, options: List[DataFlowQueryOption] | None = None) PossibleValueSet[source]
- Parameters:
reg (RegisterName | ILRegister | RegisterIndex) –
options (List[DataFlowQueryOption] | None) –
- Return type:
- get_possible_stack_contents(offset: int, size: int, options: List[DataFlowQueryOption] | None = None) PossibleValueSet[source]
- Parameters:
offset (int) –
size (int) –
options (List[DataFlowQueryOption] | None) –
- Return type:
- get_possible_stack_contents_after(offset: int, size: int, options: List[DataFlowQueryOption] | None = None) PossibleValueSet[source]
- Parameters:
offset (int) –
size (int) –
options (List[DataFlowQueryOption] | None) –
- Return type:
- get_possible_values(options: List[DataFlowQueryOption] | None = None) PossibleValueSet[source]
- Parameters:
options (List[DataFlowQueryOption] | None) –
- Return type:
- get_reg_value(reg: RegisterName | ILRegister | RegisterIndex) RegisterValue[source]
- Parameters:
reg (RegisterName | ILRegister | RegisterIndex) –
- Return type:
- get_reg_value_after(reg: RegisterName | ILRegister | RegisterIndex) RegisterValue[source]
- Parameters:
reg (RegisterName | ILRegister | RegisterIndex) –
- Return type:
- 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_varto split a variable at a definition. The givenvaris the assigned variable to query.
- get_ssa_var_possible_values(ssa_var: SSAVariable, options: List[DataFlowQueryOption] = [])[source]
- Parameters:
ssa_var (SSAVariable) –
options (List[DataFlowQueryOption]) –
- get_stack_contents(offset: int, size: int) RegisterValue[source]
- Parameters:
- Return type:
- get_stack_contents_after(offset: int, size: int) RegisterValue[source]
- Parameters:
- Return type:
- get_var_for_reg(reg: RegisterName | ILRegister | RegisterIndex) Variable[source]
- Parameters:
reg (RegisterName | ILRegister | RegisterIndex) –
- Return type:
- get_var_for_reg_after(reg: RegisterName | ILRegister | RegisterIndex) Variable[source]
- Parameters:
reg (RegisterName | ILRegister | RegisterIndex) –
- Return type:
- 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.
- traverse(cb: Callable[[MediumLevelILInstruction, Any], Any], *args: Any, **kwargs: Any) Iterator[Any][source]
traverseis a generator that allows you to traverse the MediumLevelILInstruction in a depth-first manner. It will yield the result of the callback function for each node in the tree. Arguments can be passed to the callback function usingargsandkwargs. See the Developer Docs for more examples.- Parameters:
cb (Callable[[MediumLevelILInstruction, Any], Any]) – The callback function to call for each node in the MediumLevelILInstruction
args (Any) – Custom user-defined arguments
kwargs (Any) – Custom user-defined keyword arguments
cb –
- Returns:
An iterator of the results of the callback function
- Return type:
Iterator[Any]
- Example:
>>> def get_constant_less_than_value(inst: MediumLevelILInstruction, value: int) -> int: >>> if isinstance(inst, Constant) and inst.constant < value: >>> return inst.constant >>> >>> list(inst.traverse(get_constant_less_than_value, 10))
- visit(cb: Callable[[str, int | float | MediumLevelILOperationAndSize | MediumLevelILInstruction | ILIntrinsic | Variable | SSAVariable | List[int] | List[Variable] | List[SSAVariable] | List[MediumLevelILInstruction] | Dict[int, int] | ConstantData, str, MediumLevelILInstruction | None], bool], name: str = 'root', parent: MediumLevelILInstruction | None = None) bool[source]
Visits all MediumLevelILInstructions in the operands of this instruction and any sub-instructions. In the callback you provide, you likely only need to interact with the second argument (see the example below).
- Parameters:
cb (MediumLevelILVisitorCallback) – Callback function that takes the name of the operand, the operand, operand type, and parent instruction
name (str) –
parent (MediumLevelILInstruction | None) –
- Returns:
True if all instructions were visited, False if the callback returned False
- Example:
>>> def visitor(_a, inst, _c, _d) -> bool: >>> if isinstance(inst, Constant): >>> print(f"Found constant: {inst.constant}") >>> return False # Stop recursion (once we find a constant, don't recurse in to any sub-instructions (which there won't actually be any...)) >>> # Otherwise, keep recursing the subexpressions of this instruction; if no return value is provided, it'll keep descending >>> >>> # Finds all constants used in the program >>> for inst in current_mlil.instructions: >>> inst.visit(visitor)
- Return type:
Deprecated since version 4.0.4907: Use
MediumLevelILInstruction.traverseinstead.
- visit_all(cb: Callable[[str, int | float | MediumLevelILOperationAndSize | MediumLevelILInstruction | ILIntrinsic | Variable | SSAVariable | List[int] | List[Variable] | List[SSAVariable] | List[MediumLevelILInstruction] | Dict[int, int] | ConstantData, str, MediumLevelILInstruction | None], bool], name: str = 'root', parent: MediumLevelILInstruction | None = None) bool[source]
Visits all operands of this instruction and all operands of any sub-instructions. Using pre-order traversal.
- Parameters:
cb (MediumLevelILVisitorCallback) – Callback function that takes the name of the operand, the operand, operand type, and parent instruction
name (str) –
parent (MediumLevelILInstruction | None) –
- Returns:
True if all instructions were visited, False if the callback returned False
- Return type:
Deprecated since version 4.0.4907: Use
MediumLevelILInstruction.traverseinstead.
- visit_operands(cb: Callable[[str, int | float | MediumLevelILOperationAndSize | MediumLevelILInstruction | ILIntrinsic | Variable | SSAVariable | List[int] | List[Variable] | List[SSAVariable] | List[MediumLevelILInstruction] | Dict[int, int] | ConstantData, str, MediumLevelILInstruction | None], bool], name: str = 'root', parent: MediumLevelILInstruction | None = None) bool[source]
Visits all leaf operands of this instruction and any sub-instructions.
- Parameters:
cb (MediumLevelILVisitorCallback) – Callback function that takes the name of the operand, the operand, operand type, and parent instruction
name (str) –
parent (MediumLevelILInstruction | None) –
- Returns:
True if all instructions were visited, False if the callback returned False
- Return type:
Deprecated since version 4.0.4907: Use
MediumLevelILInstruction.traverseinstead.
- 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_DATA: [('constant', 'ConstantData')], 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', 'expr_list')], MediumLevelILOperation.MLIL_SEPARATE_PARAM_LIST: [('params', 'expr_list')], MediumLevelILOperation.MLIL_SHARED_PARAM_SLOT: [('params', 'expr_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: [('dest', 'var_ssa_dest_and_src'), ('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: [('dest', 'var_ssa_dest_and_src'), ('prev', 'var_ssa_dest_and_src'), ('src', 'expr')], MediumLevelILOperation.MLIL_SET_VAR_ALIASED_FIELD: [('dest', 'var_ssa_dest_and_src'), ('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'), ('output_dest_memory', 'int'), ('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'), ('output_dest_memory', 'int'), ('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', 'expr_list')], MediumLevelILOperation.MLIL_CALL_OUTPUT_SSA: [('dest_memory', 'int'), ('dest', 'var_ssa_list')], MediumLevelILOperation.MLIL_MEMORY_INTRINSIC_OUTPUT_SSA: [('dest_memory', 'int'), ('output', '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_MEMORY_INTRINSIC_SSA: [('output', 'expr'), ('intrinsic', 'intrinsic'), ('params', 'expr_list'), ('src_memory', 'int')], 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 attributes: Set[ILInstructionAttribute]
The set of optional attributes placed on the instruction
- 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]
- property detailed_operands: List[Tuple[str, int | float | MediumLevelILOperationAndSize | MediumLevelILInstruction | ILIntrinsic | Variable | SSAVariable | List[int] | List[Variable] | List[SSAVariable] | List[MediumLevelILInstruction] | Dict[int, int] | ConstantData, str]]
Returns a list of tuples containing the name of the operand, the operand, and the type of the operand. Useful for iterating over all operands of an instruction and sub-instructions.
- expr_index: ExpressionIndex
- function: MediumLevelILFunction
- property high_level_il: HighLevelILInstruction | None
High level IL form of this expression
- property hlil: HighLevelILInstruction | None
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: LowLevelILInstruction | None
Alias for low_level_il
- property llils: List[LowLevelILInstruction]
- property low_level_il: LowLevelILInstruction | None
Low level IL form of this expression
- property non_ssa_form: MediumLevelILInstruction
Non-SSA form of expression (read-only)
- property operands: List[int | float | MediumLevelILOperationAndSize | MediumLevelILInstruction | ILIntrinsic | Variable | SSAVariable | List[int] | List[Variable] | List[SSAVariable] | List[MediumLevelILInstruction] | Dict[int, int] | ConstantData]
Operands for the instruction
Consider using more specific APIs for
src,dest,params, etc where appropriate.
- property operation: MediumLevelILOperation
- property possible_values: PossibleValueSet
Possible values of expression using path-sensitive static data flow analysis (read-only)
- property postfix_operands: List[int | float | MediumLevelILOperationAndSize | MediumLevelILInstruction | ILIntrinsic | Variable | SSAVariable | List[int] | List[Variable] | List[SSAVariable] | List[MediumLevelILInstruction] | Dict[int, int] | ConstantData]
All operands in the expression tree in postfix order
- property prefix_operands: List[int | float | MediumLevelILOperationAndSize | MediumLevelILInstruction | ILIntrinsic | Variable | SSAVariable | List[int] | List[Variable] | List[SSAVariable] | List[MediumLevelILInstruction] | Dict[int, int] | ConstantData]
All operands in the expression tree in prefix order
- property raw_operands: Tuple[ExpressionIndex, ExpressionIndex, ExpressionIndex, ExpressionIndex, ExpressionIndex]
Raw operand expression indices as specified by the core structure (read-only)
- property size: int
- property source_location: ILSourceLocation
- 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 ssa_memory_version_after: int
Version of active memory contents in SSA form after 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[Variable | SSAVariable]
Non-unique list of variables whose address is taken by instruction
- property vars_read: List[Variable | SSAVariable]
List of variables read by instruction
- property vars_written: List[Variable | SSAVariable]
List of variables written by instruction
- class MediumLevelILIntToFloat[source]
Bases:
MediumLevelILUnaryBase,Arithmetic,FloatingPointMediumLevelILIntToFloat(function: ‘MediumLevelILFunction’, expr_index: <function NewType.<locals>.new_type at 0x1129439d0>, instr: binaryninja.mediumlevelil.CoreMediumLevelILInstruction, instr_index: <function NewType.<locals>.new_type at 0x111812ca0>)
- __init__(function: MediumLevelILFunction, expr_index: ExpressionIndex, instr: CoreMediumLevelILInstruction, instr_index: InstructionIndex) None
- Parameters:
function (MediumLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreMediumLevelILInstruction) –
instr_index (InstructionIndex) –
- Return type:
None
- expr_index: ExpressionIndex
- function: MediumLevelILFunction
- instr: CoreMediumLevelILInstruction
- instr_index: InstructionIndex
- class MediumLevelILIntrinsic[source]
Bases:
MediumLevelILInstruction,IntrinsicMediumLevelILIntrinsic(function: ‘MediumLevelILFunction’, expr_index: <function NewType.<locals>.new_type at 0x1129439d0>, instr: binaryninja.mediumlevelil.CoreMediumLevelILInstruction, instr_index: <function NewType.<locals>.new_type at 0x111812ca0>)
- __init__(function: MediumLevelILFunction, expr_index: ExpressionIndex, instr: CoreMediumLevelILInstruction, instr_index: InstructionIndex) None
- Parameters:
function (MediumLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreMediumLevelILInstruction) –
instr_index (InstructionIndex) –
- Return type:
None
- property detailed_operands: List[Tuple[str, int | float | MediumLevelILOperationAndSize | MediumLevelILInstruction | ILIntrinsic | Variable | SSAVariable | List[int] | List[Variable] | List[SSAVariable] | List[MediumLevelILInstruction] | Dict[int, int] | ConstantData, str]]
Returns a list of tuples containing the name of the operand, the operand, and the type of the operand. Useful for iterating over all operands of an instruction and sub-instructions.
- expr_index: ExpressionIndex
- function: MediumLevelILFunction
- instr: CoreMediumLevelILInstruction
- instr_index: InstructionIndex
- property intrinsic: ILIntrinsic
- property params: List[MediumLevelILInstruction]
- class MediumLevelILIntrinsicSsa[source]
Bases:
MediumLevelILInstruction,SSAMediumLevelILIntrinsicSsa(function: ‘MediumLevelILFunction’, expr_index: <function NewType.<locals>.new_type at 0x1129439d0>, instr: binaryninja.mediumlevelil.CoreMediumLevelILInstruction, instr_index: <function NewType.<locals>.new_type at 0x111812ca0>)
- __init__(function: MediumLevelILFunction, expr_index: ExpressionIndex, instr: CoreMediumLevelILInstruction, instr_index: InstructionIndex) None
- Parameters:
function (MediumLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreMediumLevelILInstruction) –
instr_index (InstructionIndex) –
- Return type:
None
- property detailed_operands: List[Tuple[str, int | float | MediumLevelILOperationAndSize | MediumLevelILInstruction | ILIntrinsic | Variable | SSAVariable | List[int] | List[Variable] | List[SSAVariable] | List[MediumLevelILInstruction] | Dict[int, int] | ConstantData, str]]
Returns a list of tuples containing the name of the operand, the operand, and the type of the operand. Useful for iterating over all operands of an instruction and sub-instructions.
- expr_index: ExpressionIndex
- function: MediumLevelILFunction
- instr: CoreMediumLevelILInstruction
- instr_index: InstructionIndex
- property intrinsic: ILIntrinsic
- 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[source]
Bases:
MediumLevelILInstruction,TerminalMediumLevelILJump(function: ‘MediumLevelILFunction’, expr_index: <function NewType.<locals>.new_type at 0x1129439d0>, instr: binaryninja.mediumlevelil.CoreMediumLevelILInstruction, instr_index: <function NewType.<locals>.new_type at 0x111812ca0>)
- __init__(function: MediumLevelILFunction, expr_index: ExpressionIndex, instr: CoreMediumLevelILInstruction, instr_index: InstructionIndex) None
- Parameters:
function (MediumLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreMediumLevelILInstruction) –
instr_index (InstructionIndex) –
- Return type:
None
- property dest: MediumLevelILInstruction
- property detailed_operands: List[Tuple[str, int | float | MediumLevelILOperationAndSize | MediumLevelILInstruction | ILIntrinsic | Variable | SSAVariable | List[int] | List[Variable] | List[SSAVariable] | List[MediumLevelILInstruction] | Dict[int, int] | ConstantData, str]]
Returns a list of tuples containing the name of the operand, the operand, and the type of the operand. Useful for iterating over all operands of an instruction and sub-instructions.
- expr_index: ExpressionIndex
- function: MediumLevelILFunction
- instr: CoreMediumLevelILInstruction
- instr_index: InstructionIndex
- class MediumLevelILJumpTo[source]
Bases:
MediumLevelILInstruction,TerminalMediumLevelILJumpTo(function: ‘MediumLevelILFunction’, expr_index: <function NewType.<locals>.new_type at 0x1129439d0>, instr: binaryninja.mediumlevelil.CoreMediumLevelILInstruction, instr_index: <function NewType.<locals>.new_type at 0x111812ca0>)
- __init__(function: MediumLevelILFunction, expr_index: ExpressionIndex, instr: CoreMediumLevelILInstruction, instr_index: InstructionIndex) None
- Parameters:
function (MediumLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreMediumLevelILInstruction) –
instr_index (InstructionIndex) –
- Return type:
None
- property dest: MediumLevelILInstruction
- property detailed_operands: List[Tuple[str, int | float | MediumLevelILOperationAndSize | MediumLevelILInstruction | ILIntrinsic | Variable | SSAVariable | List[int] | List[Variable] | List[SSAVariable] | List[MediumLevelILInstruction] | Dict[int, int] | ConstantData, str]]
Returns a list of tuples containing the name of the operand, the operand, and the type of the operand. Useful for iterating over all operands of an instruction and sub-instructions.
- expr_index: ExpressionIndex
- function: MediumLevelILFunction
- instr: CoreMediumLevelILInstruction
- instr_index: InstructionIndex
- class MediumLevelILLabel[source]
Bases:
object- __init__(handle: BNMediumLevelILLabel | None = None)[source]
- Parameters:
handle (BNMediumLevelILLabel | None) –
- property operand: InstructionIndex
- property ref: bool
- property resolved: bool
- class MediumLevelILLoad[source]
Bases:
MediumLevelILInstruction,LoadMediumLevelILLoad(function: ‘MediumLevelILFunction’, expr_index: <function NewType.<locals>.new_type at 0x1129439d0>, instr: binaryninja.mediumlevelil.CoreMediumLevelILInstruction, instr_index: <function NewType.<locals>.new_type at 0x111812ca0>)
- __init__(function: MediumLevelILFunction, expr_index: ExpressionIndex, instr: CoreMediumLevelILInstruction, instr_index: InstructionIndex) None
- Parameters:
function (MediumLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreMediumLevelILInstruction) –
instr_index (InstructionIndex) –
- Return type:
None
- property detailed_operands: List[Tuple[str, int | float | MediumLevelILOperationAndSize | MediumLevelILInstruction | ILIntrinsic | Variable | SSAVariable | List[int] | List[Variable] | List[SSAVariable] | List[MediumLevelILInstruction] | Dict[int, int] | ConstantData, str]]
Returns a list of tuples containing the name of the operand, the operand, and the type of the operand. Useful for iterating over all operands of an instruction and sub-instructions.
- expr_index: ExpressionIndex
- function: MediumLevelILFunction
- instr: CoreMediumLevelILInstruction
- instr_index: InstructionIndex
- property src: MediumLevelILInstruction
- class MediumLevelILLoadSsa[source]
Bases:
MediumLevelILInstruction,Load,SSAMediumLevelILLoadSsa(function: ‘MediumLevelILFunction’, expr_index: <function NewType.<locals>.new_type at 0x1129439d0>, instr: binaryninja.mediumlevelil.CoreMediumLevelILInstruction, instr_index: <function NewType.<locals>.new_type at 0x111812ca0>)
- __init__(function: MediumLevelILFunction, expr_index: ExpressionIndex, instr: CoreMediumLevelILInstruction, instr_index: InstructionIndex) None
- Parameters:
function (MediumLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreMediumLevelILInstruction) –
instr_index (InstructionIndex) –
- Return type:
None
- property detailed_operands: List[Tuple[str, int | float | MediumLevelILOperationAndSize | MediumLevelILInstruction | ILIntrinsic | Variable | SSAVariable | List[int] | List[Variable] | List[SSAVariable] | List[MediumLevelILInstruction] | Dict[int, int] | ConstantData, str]]
Returns a list of tuples containing the name of the operand, the operand, and the type of the operand. Useful for iterating over all operands of an instruction and sub-instructions.
- expr_index: ExpressionIndex
- function: MediumLevelILFunction
- instr: CoreMediumLevelILInstruction
- instr_index: InstructionIndex
- property src: MediumLevelILInstruction
- property src_memory: int
- class MediumLevelILLoadStruct[source]
Bases:
MediumLevelILInstruction,LoadMediumLevelILLoadStruct(function: ‘MediumLevelILFunction’, expr_index: <function NewType.<locals>.new_type at 0x1129439d0>, instr: binaryninja.mediumlevelil.CoreMediumLevelILInstruction, instr_index: <function NewType.<locals>.new_type at 0x111812ca0>)
- __init__(function: MediumLevelILFunction, expr_index: ExpressionIndex, instr: CoreMediumLevelILInstruction, instr_index: InstructionIndex) None
- Parameters:
function (MediumLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreMediumLevelILInstruction) –
instr_index (InstructionIndex) –
- Return type:
None
- property detailed_operands: List[Tuple[str, int | float | MediumLevelILOperationAndSize | MediumLevelILInstruction | ILIntrinsic | Variable | SSAVariable | List[int] | List[Variable] | List[SSAVariable] | List[MediumLevelILInstruction] | Dict[int, int] | ConstantData, str]]
Returns a list of tuples containing the name of the operand, the operand, and the type of the operand. Useful for iterating over all operands of an instruction and sub-instructions.
- expr_index: ExpressionIndex
- function: MediumLevelILFunction
- instr: CoreMediumLevelILInstruction
- instr_index: InstructionIndex
- property offset: int
- property src: MediumLevelILInstruction
- class MediumLevelILLoadStructSsa[source]
Bases:
MediumLevelILInstruction,Load,SSAMediumLevelILLoadStructSsa(function: ‘MediumLevelILFunction’, expr_index: <function NewType.<locals>.new_type at 0x1129439d0>, instr: binaryninja.mediumlevelil.CoreMediumLevelILInstruction, instr_index: <function NewType.<locals>.new_type at 0x111812ca0>)
- __init__(function: MediumLevelILFunction, expr_index: ExpressionIndex, instr: CoreMediumLevelILInstruction, instr_index: InstructionIndex) None
- Parameters:
function (MediumLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreMediumLevelILInstruction) –
instr_index (InstructionIndex) –
- Return type:
None
- property detailed_operands: List[Tuple[str, int | float | MediumLevelILOperationAndSize | MediumLevelILInstruction | ILIntrinsic | Variable | SSAVariable | List[int] | List[Variable] | List[SSAVariable] | List[MediumLevelILInstruction] | Dict[int, int] | ConstantData, str]]
Returns a list of tuples containing the name of the operand, the operand, and the type of the operand. Useful for iterating over all operands of an instruction and sub-instructions.
- expr_index: ExpressionIndex
- function: MediumLevelILFunction
- instr: CoreMediumLevelILInstruction
- instr_index: InstructionIndex
- property offset: int
- property src: MediumLevelILInstruction
- property src_memory: int
- class MediumLevelILLowPart[source]
Bases:
MediumLevelILUnaryBase,ArithmeticMediumLevelILLowPart(function: ‘MediumLevelILFunction’, expr_index: <function NewType.<locals>.new_type at 0x1129439d0>, instr: binaryninja.mediumlevelil.CoreMediumLevelILInstruction, instr_index: <function NewType.<locals>.new_type at 0x111812ca0>)
- __init__(function: MediumLevelILFunction, expr_index: ExpressionIndex, instr: CoreMediumLevelILInstruction, instr_index: InstructionIndex) None
- Parameters:
function (MediumLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreMediumLevelILInstruction) –
instr_index (InstructionIndex) –
- Return type:
None
- expr_index: ExpressionIndex
- function: MediumLevelILFunction
- instr: CoreMediumLevelILInstruction
- instr_index: InstructionIndex
- class MediumLevelILLsl[source]
Bases:
MediumLevelILBinaryBase,ArithmeticMediumLevelILLsl(function: ‘MediumLevelILFunction’, expr_index: <function NewType.<locals>.new_type at 0x1129439d0>, instr: binaryninja.mediumlevelil.CoreMediumLevelILInstruction, instr_index: <function NewType.<locals>.new_type at 0x111812ca0>)
- __init__(function: MediumLevelILFunction, expr_index: ExpressionIndex, instr: CoreMediumLevelILInstruction, instr_index: InstructionIndex) None
- Parameters:
function (MediumLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreMediumLevelILInstruction) –
instr_index (InstructionIndex) –
- Return type:
None
- expr_index: ExpressionIndex
- function: MediumLevelILFunction
- instr: CoreMediumLevelILInstruction
- instr_index: InstructionIndex
- class MediumLevelILLsr[source]
Bases:
MediumLevelILBinaryBase,ArithmeticMediumLevelILLsr(function: ‘MediumLevelILFunction’, expr_index: <function NewType.<locals>.new_type at 0x1129439d0>, instr: binaryninja.mediumlevelil.CoreMediumLevelILInstruction, instr_index: <function NewType.<locals>.new_type at 0x111812ca0>)
- __init__(function: MediumLevelILFunction, expr_index: ExpressionIndex, instr: CoreMediumLevelILInstruction, instr_index: InstructionIndex) None
- Parameters:
function (MediumLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreMediumLevelILInstruction) –
instr_index (InstructionIndex) –
- Return type:
None
- expr_index: ExpressionIndex
- function: MediumLevelILFunction
- instr: CoreMediumLevelILInstruction
- instr_index: InstructionIndex
- class MediumLevelILMemPhi[source]
Bases:
MediumLevelILInstruction,Memory,PhiMediumLevelILMemPhi(function: ‘MediumLevelILFunction’, expr_index: <function NewType.<locals>.new_type at 0x1129439d0>, instr: binaryninja.mediumlevelil.CoreMediumLevelILInstruction, instr_index: <function NewType.<locals>.new_type at 0x111812ca0>)
- __init__(function: MediumLevelILFunction, expr_index: ExpressionIndex, instr: CoreMediumLevelILInstruction, instr_index: InstructionIndex) None
- Parameters:
function (MediumLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreMediumLevelILInstruction) –
instr_index (InstructionIndex) –
- Return type:
None
- property dest_memory: int
- property detailed_operands: List[Tuple[str, int | float | MediumLevelILOperationAndSize | MediumLevelILInstruction | ILIntrinsic | Variable | SSAVariable | List[int] | List[Variable] | List[SSAVariable] | List[MediumLevelILInstruction] | Dict[int, int] | ConstantData, str]]
Returns a list of tuples containing the name of the operand, the operand, and the type of the operand. Useful for iterating over all operands of an instruction and sub-instructions.
- expr_index: ExpressionIndex
- function: MediumLevelILFunction
- instr: CoreMediumLevelILInstruction
- instr_index: InstructionIndex
- class MediumLevelILMemoryIntrinsicOutputSsa[source]
Bases:
MediumLevelILInstruction,SSAMediumLevelILMemoryIntrinsicOutputSsa(function: ‘MediumLevelILFunction’, expr_index: <function NewType.<locals>.new_type at 0x1129439d0>, instr: binaryninja.mediumlevelil.CoreMediumLevelILInstruction, instr_index: <function NewType.<locals>.new_type at 0x111812ca0>)
- __init__(function: MediumLevelILFunction, expr_index: ExpressionIndex, instr: CoreMediumLevelILInstruction, instr_index: InstructionIndex) None
- Parameters:
function (MediumLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreMediumLevelILInstruction) –
instr_index (InstructionIndex) –
- Return type:
None
- property dest_memory: int
- property detailed_operands: List[Tuple[str, int | float | MediumLevelILOperationAndSize | MediumLevelILInstruction | ILIntrinsic | Variable | SSAVariable | List[int] | List[Variable] | List[SSAVariable] | List[MediumLevelILInstruction] | Dict[int, int] | ConstantData, str]]
Returns a list of tuples containing the name of the operand, the operand, and the type of the operand. Useful for iterating over all operands of an instruction and sub-instructions.
- expr_index: ExpressionIndex
- function: MediumLevelILFunction
- instr: CoreMediumLevelILInstruction
- instr_index: InstructionIndex
- property output: List[SSAVariable]
- class MediumLevelILMemoryIntrinsicSsa[source]
Bases:
MediumLevelILInstruction,SSAMediumLevelILMemoryIntrinsicSsa(function: ‘MediumLevelILFunction’, expr_index: <function NewType.<locals>.new_type at 0x1129439d0>, instr: binaryninja.mediumlevelil.CoreMediumLevelILInstruction, instr_index: <function NewType.<locals>.new_type at 0x111812ca0>)
- __init__(function: MediumLevelILFunction, expr_index: ExpressionIndex, instr: CoreMediumLevelILInstruction, instr_index: InstructionIndex) None
- Parameters:
function (MediumLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreMediumLevelILInstruction) –
instr_index (InstructionIndex) –
- Return type:
None
- property dest_memory: int
- property detailed_operands: List[Tuple[str, int | float | MediumLevelILOperationAndSize | MediumLevelILInstruction | ILIntrinsic | Variable | SSAVariable | List[int] | List[Variable] | List[SSAVariable] | List[MediumLevelILInstruction] | Dict[int, int] | ConstantData, str]]
Returns a list of tuples containing the name of the operand, the operand, and the type of the operand. Useful for iterating over all operands of an instruction and sub-instructions.
- expr_index: ExpressionIndex
- function: MediumLevelILFunction
- instr: CoreMediumLevelILInstruction
- instr_index: InstructionIndex
- property intrinsic: ILIntrinsic
- property output: List[SSAVariable]
- property params: List[MediumLevelILInstruction]
- property src_memory: int
- class MediumLevelILMods[source]
Bases:
MediumLevelILBinaryBase,Arithmetic,SignedMediumLevelILMods(function: ‘MediumLevelILFunction’, expr_index: <function NewType.<locals>.new_type at 0x1129439d0>, instr: binaryninja.mediumlevelil.CoreMediumLevelILInstruction, instr_index: <function NewType.<locals>.new_type at 0x111812ca0>)
- __init__(function: MediumLevelILFunction, expr_index: ExpressionIndex, instr: CoreMediumLevelILInstruction, instr_index: InstructionIndex) None
- Parameters:
function (MediumLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreMediumLevelILInstruction) –
instr_index (InstructionIndex) –
- Return type:
None
- expr_index: ExpressionIndex
- function: MediumLevelILFunction
- instr: CoreMediumLevelILInstruction
- instr_index: InstructionIndex
- class MediumLevelILModsDp[source]
Bases:
MediumLevelILBinaryBase,DoublePrecision,SignedMediumLevelILModsDp(function: ‘MediumLevelILFunction’, expr_index: <function NewType.<locals>.new_type at 0x1129439d0>, instr: binaryninja.mediumlevelil.CoreMediumLevelILInstruction, instr_index: <function NewType.<locals>.new_type at 0x111812ca0>)
- __init__(function: MediumLevelILFunction, expr_index: ExpressionIndex, instr: CoreMediumLevelILInstruction, instr_index: InstructionIndex) None
- Parameters:
function (MediumLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreMediumLevelILInstruction) –
instr_index (InstructionIndex) –
- Return type:
None
- expr_index: ExpressionIndex
- function: MediumLevelILFunction
- instr: CoreMediumLevelILInstruction
- instr_index: InstructionIndex
- class MediumLevelILModu[source]
Bases:
MediumLevelILBinaryBase,ArithmeticMediumLevelILModu(function: ‘MediumLevelILFunction’, expr_index: <function NewType.<locals>.new_type at 0x1129439d0>, instr: binaryninja.mediumlevelil.CoreMediumLevelILInstruction, instr_index: <function NewType.<locals>.new_type at 0x111812ca0>)
- __init__(function: MediumLevelILFunction, expr_index: ExpressionIndex, instr: CoreMediumLevelILInstruction, instr_index: InstructionIndex) None
- Parameters:
function (MediumLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreMediumLevelILInstruction) –
instr_index (InstructionIndex) –
- Return type:
None
- expr_index: ExpressionIndex
- function: MediumLevelILFunction
- instr: CoreMediumLevelILInstruction
- instr_index: InstructionIndex
- class MediumLevelILModuDp[source]
Bases:
MediumLevelILBinaryBase,DoublePrecisionMediumLevelILModuDp(function: ‘MediumLevelILFunction’, expr_index: <function NewType.<locals>.new_type at 0x1129439d0>, instr: binaryninja.mediumlevelil.CoreMediumLevelILInstruction, instr_index: <function NewType.<locals>.new_type at 0x111812ca0>)
- __init__(function: MediumLevelILFunction, expr_index: ExpressionIndex, instr: CoreMediumLevelILInstruction, instr_index: InstructionIndex) None
- Parameters:
function (MediumLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreMediumLevelILInstruction) –
instr_index (InstructionIndex) –
- Return type:
None
- expr_index: ExpressionIndex
- function: MediumLevelILFunction
- instr: CoreMediumLevelILInstruction
- instr_index: InstructionIndex
- class MediumLevelILMul[source]
Bases:
MediumLevelILBinaryBase,ArithmeticMediumLevelILMul(function: ‘MediumLevelILFunction’, expr_index: <function NewType.<locals>.new_type at 0x1129439d0>, instr: binaryninja.mediumlevelil.CoreMediumLevelILInstruction, instr_index: <function NewType.<locals>.new_type at 0x111812ca0>)
- __init__(function: MediumLevelILFunction, expr_index: ExpressionIndex, instr: CoreMediumLevelILInstruction, instr_index: InstructionIndex) None
- Parameters:
function (MediumLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreMediumLevelILInstruction) –
instr_index (InstructionIndex) –
- Return type:
None
- expr_index: ExpressionIndex
- function: MediumLevelILFunction
- instr: CoreMediumLevelILInstruction
- instr_index: InstructionIndex
- class MediumLevelILMulsDp[source]
Bases:
MediumLevelILBinaryBase,DoublePrecision,SignedMediumLevelILMulsDp(function: ‘MediumLevelILFunction’, expr_index: <function NewType.<locals>.new_type at 0x1129439d0>, instr: binaryninja.mediumlevelil.CoreMediumLevelILInstruction, instr_index: <function NewType.<locals>.new_type at 0x111812ca0>)
- __init__(function: MediumLevelILFunction, expr_index: ExpressionIndex, instr: CoreMediumLevelILInstruction, instr_index: InstructionIndex) None
- Parameters:
function (MediumLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreMediumLevelILInstruction) –
instr_index (InstructionIndex) –
- Return type:
None
- expr_index: ExpressionIndex
- function: MediumLevelILFunction
- instr: CoreMediumLevelILInstruction
- instr_index: InstructionIndex
- class MediumLevelILMuluDp[source]
Bases:
MediumLevelILBinaryBase,DoublePrecisionMediumLevelILMuluDp(function: ‘MediumLevelILFunction’, expr_index: <function NewType.<locals>.new_type at 0x1129439d0>, instr: binaryninja.mediumlevelil.CoreMediumLevelILInstruction, instr_index: <function NewType.<locals>.new_type at 0x111812ca0>)
- __init__(function: MediumLevelILFunction, expr_index: ExpressionIndex, instr: CoreMediumLevelILInstruction, instr_index: InstructionIndex) None
- Parameters:
function (MediumLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreMediumLevelILInstruction) –
instr_index (InstructionIndex) –
- Return type:
None
- expr_index: ExpressionIndex
- function: MediumLevelILFunction
- instr: CoreMediumLevelILInstruction
- instr_index: InstructionIndex
- class MediumLevelILNeg[source]
Bases:
MediumLevelILUnaryBase,ArithmeticMediumLevelILNeg(function: ‘MediumLevelILFunction’, expr_index: <function NewType.<locals>.new_type at 0x1129439d0>, instr: binaryninja.mediumlevelil.CoreMediumLevelILInstruction, instr_index: <function NewType.<locals>.new_type at 0x111812ca0>)
- __init__(function: MediumLevelILFunction, expr_index: ExpressionIndex, instr: CoreMediumLevelILInstruction, instr_index: InstructionIndex) None
- Parameters:
function (MediumLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreMediumLevelILInstruction) –
instr_index (InstructionIndex) –
- Return type:
None
- expr_index: ExpressionIndex
- function: MediumLevelILFunction
- instr: CoreMediumLevelILInstruction
- instr_index: InstructionIndex
- class MediumLevelILNop[source]
Bases:
MediumLevelILInstructionMediumLevelILNop(function: ‘MediumLevelILFunction’, expr_index: <function NewType.<locals>.new_type at 0x1129439d0>, instr: binaryninja.mediumlevelil.CoreMediumLevelILInstruction, instr_index: <function NewType.<locals>.new_type at 0x111812ca0>)
- __init__(function: MediumLevelILFunction, expr_index: ExpressionIndex, instr: CoreMediumLevelILInstruction, instr_index: InstructionIndex) None
- Parameters:
function (MediumLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreMediumLevelILInstruction) –
instr_index (InstructionIndex) –
- Return type:
None
- expr_index: ExpressionIndex
- function: MediumLevelILFunction
- instr: CoreMediumLevelILInstruction
- instr_index: InstructionIndex
- class MediumLevelILNoret[source]
Bases:
MediumLevelILInstruction,TerminalMediumLevelILNoret(function: ‘MediumLevelILFunction’, expr_index: <function NewType.<locals>.new_type at 0x1129439d0>, instr: binaryninja.mediumlevelil.CoreMediumLevelILInstruction, instr_index: <function NewType.<locals>.new_type at 0x111812ca0>)
- __init__(function: MediumLevelILFunction, expr_index: ExpressionIndex, instr: CoreMediumLevelILInstruction, instr_index: InstructionIndex) None
- Parameters:
function (MediumLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreMediumLevelILInstruction) –
instr_index (InstructionIndex) –
- Return type:
None
- expr_index: ExpressionIndex
- function: MediumLevelILFunction
- instr: CoreMediumLevelILInstruction
- instr_index: InstructionIndex
- class MediumLevelILNot[source]
Bases:
MediumLevelILUnaryBase,ArithmeticMediumLevelILNot(function: ‘MediumLevelILFunction’, expr_index: <function NewType.<locals>.new_type at 0x1129439d0>, instr: binaryninja.mediumlevelil.CoreMediumLevelILInstruction, instr_index: <function NewType.<locals>.new_type at 0x111812ca0>)
- __init__(function: MediumLevelILFunction, expr_index: ExpressionIndex, instr: CoreMediumLevelILInstruction, instr_index: InstructionIndex) None
- Parameters:
function (MediumLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreMediumLevelILInstruction) –
instr_index (InstructionIndex) –
- Return type:
None
- expr_index: ExpressionIndex
- function: MediumLevelILFunction
- instr: CoreMediumLevelILInstruction
- instr_index: InstructionIndex
- class MediumLevelILOperationAndSize[source]
Bases:
objectMediumLevelILOperationAndSize(operation: binaryninja.enums.MediumLevelILOperation, size: int)
- __init__(operation: MediumLevelILOperation, size: int) None
- Parameters:
operation (MediumLevelILOperation) –
size (int) –
- Return type:
None
- operation: MediumLevelILOperation
- size: int
- class MediumLevelILOr[source]
Bases:
MediumLevelILBinaryBase,ArithmeticMediumLevelILOr(function: ‘MediumLevelILFunction’, expr_index: <function NewType.<locals>.new_type at 0x1129439d0>, instr: binaryninja.mediumlevelil.CoreMediumLevelILInstruction, instr_index: <function NewType.<locals>.new_type at 0x111812ca0>)
- __init__(function: MediumLevelILFunction, expr_index: ExpressionIndex, instr: CoreMediumLevelILInstruction, instr_index: InstructionIndex) None
- Parameters:
function (MediumLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreMediumLevelILInstruction) –
instr_index (InstructionIndex) –
- Return type:
None
- expr_index: ExpressionIndex
- function: MediumLevelILFunction
- instr: CoreMediumLevelILInstruction
- instr_index: InstructionIndex
- class MediumLevelILRet[source]
Bases:
MediumLevelILInstruction,ReturnMediumLevelILRet(function: ‘MediumLevelILFunction’, expr_index: <function NewType.<locals>.new_type at 0x1129439d0>, instr: binaryninja.mediumlevelil.CoreMediumLevelILInstruction, instr_index: <function NewType.<locals>.new_type at 0x111812ca0>)
- __init__(function: MediumLevelILFunction, expr_index: ExpressionIndex, instr: CoreMediumLevelILInstruction, instr_index: InstructionIndex) None
- Parameters:
function (MediumLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreMediumLevelILInstruction) –
instr_index (InstructionIndex) –
- Return type:
None
- property detailed_operands: List[Tuple[str, int | float | MediumLevelILOperationAndSize | MediumLevelILInstruction | ILIntrinsic | Variable | SSAVariable | List[int] | List[Variable] | List[SSAVariable] | List[MediumLevelILInstruction] | Dict[int, int] | ConstantData, str]]
Returns a list of tuples containing the name of the operand, the operand, and the type of the operand. Useful for iterating over all operands of an instruction and sub-instructions.
- expr_index: ExpressionIndex
- function: MediumLevelILFunction
- instr: CoreMediumLevelILInstruction
- instr_index: InstructionIndex
- property src: List[MediumLevelILInstruction]
- class MediumLevelILRetHint[source]
Bases:
MediumLevelILInstruction,ControlFlowMediumLevelILRetHint(function: ‘MediumLevelILFunction’, expr_index: <function NewType.<locals>.new_type at 0x1129439d0>, instr: binaryninja.mediumlevelil.CoreMediumLevelILInstruction, instr_index: <function NewType.<locals>.new_type at 0x111812ca0>)
- __init__(function: MediumLevelILFunction, expr_index: ExpressionIndex, instr: CoreMediumLevelILInstruction, instr_index: InstructionIndex) None
- Parameters:
function (MediumLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreMediumLevelILInstruction) –
instr_index (InstructionIndex) –
- Return type:
None
- property dest: MediumLevelILInstruction
- property detailed_operands: List[Tuple[str, int | float | MediumLevelILOperationAndSize | MediumLevelILInstruction | ILIntrinsic | Variable | SSAVariable | List[int] | List[Variable] | List[SSAVariable] | List[MediumLevelILInstruction] | Dict[int, int] | ConstantData, str]]
Returns a list of tuples containing the name of the operand, the operand, and the type of the operand. Useful for iterating over all operands of an instruction and sub-instructions.
- expr_index: ExpressionIndex
- function: MediumLevelILFunction
- instr: CoreMediumLevelILInstruction
- instr_index: InstructionIndex
- class MediumLevelILRlc[source]
Bases:
MediumLevelILCarryBaseMediumLevelILRlc(function: ‘MediumLevelILFunction’, expr_index: <function NewType.<locals>.new_type at 0x1129439d0>, instr: binaryninja.mediumlevelil.CoreMediumLevelILInstruction, instr_index: <function NewType.<locals>.new_type at 0x111812ca0>)
- __init__(function: MediumLevelILFunction, expr_index: ExpressionIndex, instr: CoreMediumLevelILInstruction, instr_index: InstructionIndex) None
- Parameters:
function (MediumLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreMediumLevelILInstruction) –
instr_index (InstructionIndex) –
- Return type:
None
- expr_index: ExpressionIndex
- function: MediumLevelILFunction
- instr: CoreMediumLevelILInstruction
- instr_index: InstructionIndex
- class MediumLevelILRol[source]
Bases:
MediumLevelILBinaryBase,ArithmeticMediumLevelILRol(function: ‘MediumLevelILFunction’, expr_index: <function NewType.<locals>.new_type at 0x1129439d0>, instr: binaryninja.mediumlevelil.CoreMediumLevelILInstruction, instr_index: <function NewType.<locals>.new_type at 0x111812ca0>)
- __init__(function: MediumLevelILFunction, expr_index: ExpressionIndex, instr: CoreMediumLevelILInstruction, instr_index: InstructionIndex) None
- Parameters:
function (MediumLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreMediumLevelILInstruction) –
instr_index (InstructionIndex) –
- Return type:
None
- expr_index: ExpressionIndex
- function: MediumLevelILFunction
- instr: CoreMediumLevelILInstruction
- instr_index: InstructionIndex
- class MediumLevelILRor[source]
Bases:
MediumLevelILBinaryBase,ArithmeticMediumLevelILRor(function: ‘MediumLevelILFunction’, expr_index: <function NewType.<locals>.new_type at 0x1129439d0>, instr: binaryninja.mediumlevelil.CoreMediumLevelILInstruction, instr_index: <function NewType.<locals>.new_type at 0x111812ca0>)
- __init__(function: MediumLevelILFunction, expr_index: ExpressionIndex, instr: CoreMediumLevelILInstruction, instr_index: InstructionIndex) None
- Parameters:
function (MediumLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreMediumLevelILInstruction) –
instr_index (InstructionIndex) –
- Return type:
None
- expr_index: ExpressionIndex
- function: MediumLevelILFunction
- instr: CoreMediumLevelILInstruction
- instr_index: InstructionIndex
- class MediumLevelILRoundToInt[source]
Bases:
MediumLevelILUnaryBase,Arithmetic,FloatingPointMediumLevelILRoundToInt(function: ‘MediumLevelILFunction’, expr_index: <function NewType.<locals>.new_type at 0x1129439d0>, instr: binaryninja.mediumlevelil.CoreMediumLevelILInstruction, instr_index: <function NewType.<locals>.new_type at 0x111812ca0>)
- __init__(function: MediumLevelILFunction, expr_index: ExpressionIndex, instr: CoreMediumLevelILInstruction, instr_index: InstructionIndex) None
- Parameters:
function (MediumLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreMediumLevelILInstruction) –
instr_index (InstructionIndex) –
- Return type:
None
- expr_index: ExpressionIndex
- function: MediumLevelILFunction
- instr: CoreMediumLevelILInstruction
- instr_index: InstructionIndex
- class MediumLevelILRrc[source]
Bases:
MediumLevelILCarryBaseMediumLevelILRrc(function: ‘MediumLevelILFunction’, expr_index: <function NewType.<locals>.new_type at 0x1129439d0>, instr: binaryninja.mediumlevelil.CoreMediumLevelILInstruction, instr_index: <function NewType.<locals>.new_type at 0x111812ca0>)
- __init__(function: MediumLevelILFunction, expr_index: ExpressionIndex, instr: CoreMediumLevelILInstruction, instr_index: InstructionIndex) None
- Parameters:
function (MediumLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreMediumLevelILInstruction) –
instr_index (InstructionIndex) –
- Return type:
None
- expr_index: ExpressionIndex
- function: MediumLevelILFunction
- instr: CoreMediumLevelILInstruction
- instr_index: InstructionIndex
- class MediumLevelILSbb[source]
Bases:
MediumLevelILCarryBaseMediumLevelILSbb(function: ‘MediumLevelILFunction’, expr_index: <function NewType.<locals>.new_type at 0x1129439d0>, instr: binaryninja.mediumlevelil.CoreMediumLevelILInstruction, instr_index: <function NewType.<locals>.new_type at 0x111812ca0>)
- __init__(function: MediumLevelILFunction, expr_index: ExpressionIndex, instr: CoreMediumLevelILInstruction, instr_index: InstructionIndex) None
- Parameters:
function (MediumLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreMediumLevelILInstruction) –
instr_index (InstructionIndex) –
- Return type:
None
- expr_index: ExpressionIndex
- function: MediumLevelILFunction
- instr: CoreMediumLevelILInstruction
- instr_index: InstructionIndex
- class MediumLevelILSeparateParamList[source]
Bases:
MediumLevelILInstructionMediumLevelILSeparateParamList(function: ‘MediumLevelILFunction’, expr_index: <function NewType.<locals>.new_type at 0x1129439d0>, instr: binaryninja.mediumlevelil.CoreMediumLevelILInstruction, instr_index: <function NewType.<locals>.new_type at 0x111812ca0>)
- __init__(function: MediumLevelILFunction, expr_index: ExpressionIndex, instr: CoreMediumLevelILInstruction, instr_index: InstructionIndex) None
- Parameters:
function (MediumLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreMediumLevelILInstruction) –
instr_index (InstructionIndex) –
- Return type:
None
- property detailed_operands: List[Tuple[str, int | float | MediumLevelILOperationAndSize | MediumLevelILInstruction | ILIntrinsic | Variable | SSAVariable | List[int] | List[Variable] | List[SSAVariable] | List[MediumLevelILInstruction] | Dict[int, int] | ConstantData, str]]
Returns a list of tuples containing the name of the operand, the operand, and the type of the operand. Useful for iterating over all operands of an instruction and sub-instructions.
- expr_index: ExpressionIndex
- function: MediumLevelILFunction
- instr: CoreMediumLevelILInstruction
- instr_index: InstructionIndex
- property params: List[MediumLevelILInstruction]
- class MediumLevelILSetVar[source]
Bases:
MediumLevelILInstruction,SetVarMediumLevelILSetVar(function: ‘MediumLevelILFunction’, expr_index: <function NewType.<locals>.new_type at 0x1129439d0>, instr: binaryninja.mediumlevelil.CoreMediumLevelILInstruction, instr_index: <function NewType.<locals>.new_type at 0x111812ca0>)
- __init__(function: MediumLevelILFunction, expr_index: ExpressionIndex, instr: CoreMediumLevelILInstruction, instr_index: InstructionIndex) None
- Parameters:
function (MediumLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreMediumLevelILInstruction) –
instr_index (InstructionIndex) –
- Return type:
None
- property dest: Variable
- property detailed_operands: List[Tuple[str, int | float | MediumLevelILOperationAndSize | MediumLevelILInstruction | ILIntrinsic | Variable | SSAVariable | List[int] | List[Variable] | List[SSAVariable] | List[MediumLevelILInstruction] | Dict[int, int] | ConstantData, str]]
Returns a list of tuples containing the name of the operand, the operand, and the type of the operand. Useful for iterating over all operands of an instruction and sub-instructions.
- expr_index: ExpressionIndex
- function: MediumLevelILFunction
- instr: CoreMediumLevelILInstruction
- instr_index: InstructionIndex
- property src: MediumLevelILInstruction
- property vars_read: List[Variable | SSAVariable]
List of variables read by instruction
- class MediumLevelILSetVarAliased[source]
Bases:
MediumLevelILInstruction,SetVar,SSAMediumLevelILSetVarAliased(function: ‘MediumLevelILFunction’, expr_index: <function NewType.<locals>.new_type at 0x1129439d0>, instr: binaryninja.mediumlevelil.CoreMediumLevelILInstruction, instr_index: <function NewType.<locals>.new_type at 0x111812ca0>)
- __init__(function: MediumLevelILFunction, expr_index: ExpressionIndex, instr: CoreMediumLevelILInstruction, instr_index: InstructionIndex) None
- Parameters:
function (MediumLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreMediumLevelILInstruction) –
instr_index (InstructionIndex) –
- Return type:
None
- property dest: SSAVariable
- property detailed_operands: List[Tuple[str, int | float | MediumLevelILOperationAndSize | MediumLevelILInstruction | ILIntrinsic | Variable | SSAVariable | List[int] | List[Variable] | List[SSAVariable] | List[MediumLevelILInstruction] | Dict[int, int] | ConstantData, str]]
Returns a list of tuples containing the name of the operand, the operand, and the type of the operand. Useful for iterating over all operands of an instruction and sub-instructions.
- expr_index: ExpressionIndex
- function: MediumLevelILFunction
- instr: CoreMediumLevelILInstruction
- instr_index: InstructionIndex
- property prev: SSAVariable
- property src: MediumLevelILInstruction
- property vars_read: List[Variable | SSAVariable]
List of variables read by instruction
- property vars_written: List[SSAVariable]
List of variables written by instruction
- class MediumLevelILSetVarAliasedField[source]
Bases:
MediumLevelILInstruction,SetVar,SSAMediumLevelILSetVarAliasedField(function: ‘MediumLevelILFunction’, expr_index: <function NewType.<locals>.new_type at 0x1129439d0>, instr: binaryninja.mediumlevelil.CoreMediumLevelILInstruction, instr_index: <function NewType.<locals>.new_type at 0x111812ca0>)
- __init__(function: MediumLevelILFunction, expr_index: ExpressionIndex, instr: CoreMediumLevelILInstruction, instr_index: InstructionIndex) None
- Parameters:
function (MediumLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreMediumLevelILInstruction) –
instr_index (InstructionIndex) –
- Return type:
None
- property dest: SSAVariable
- property detailed_operands: List[Tuple[str, int | float | MediumLevelILOperationAndSize | MediumLevelILInstruction | ILIntrinsic | Variable | SSAVariable | List[int] | List[Variable] | List[SSAVariable] | List[MediumLevelILInstruction] | Dict[int, int] | ConstantData, str]]
Returns a list of tuples containing the name of the operand, the operand, and the type of the operand. Useful for iterating over all operands of an instruction and sub-instructions.
- expr_index: ExpressionIndex
- function: MediumLevelILFunction
- instr: CoreMediumLevelILInstruction
- instr_index: InstructionIndex
- property offset: int
- property prev: SSAVariable
- property src: MediumLevelILInstruction
- property vars_read: List[SSAVariable]
List of variables read by instruction
- class MediumLevelILSetVarField[source]
Bases:
MediumLevelILInstruction,SetVarMediumLevelILSetVarField(function: ‘MediumLevelILFunction’, expr_index: <function NewType.<locals>.new_type at 0x1129439d0>, instr: binaryninja.mediumlevelil.CoreMediumLevelILInstruction, instr_index: <function NewType.<locals>.new_type at 0x111812ca0>)
- __init__(function: MediumLevelILFunction, expr_index: ExpressionIndex, instr: CoreMediumLevelILInstruction, instr_index: InstructionIndex) None
- Parameters:
function (MediumLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreMediumLevelILInstruction) –
instr_index (InstructionIndex) –
- Return type:
None
- property dest: Variable
- property detailed_operands: List[Tuple[str, int | float | MediumLevelILOperationAndSize | MediumLevelILInstruction | ILIntrinsic | Variable | SSAVariable | List[int] | List[Variable] | List[SSAVariable] | List[MediumLevelILInstruction] | Dict[int, int] | ConstantData, str]]
Returns a list of tuples containing the name of the operand, the operand, and the type of the operand. Useful for iterating over all operands of an instruction and sub-instructions.
- expr_index: ExpressionIndex
- function: MediumLevelILFunction
- instr: CoreMediumLevelILInstruction
- instr_index: InstructionIndex
- property offset: int
- property src: MediumLevelILInstruction
- class MediumLevelILSetVarSplit[source]
Bases:
MediumLevelILInstruction,SetVarMediumLevelILSetVarSplit(function: ‘MediumLevelILFunction’, expr_index: <function NewType.<locals>.new_type at 0x1129439d0>, instr: binaryninja.mediumlevelil.CoreMediumLevelILInstruction, instr_index: <function NewType.<locals>.new_type at 0x111812ca0>)
- __init__(function: MediumLevelILFunction, expr_index: ExpressionIndex, instr: CoreMediumLevelILInstruction, instr_index: InstructionIndex) None
- Parameters:
function (MediumLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreMediumLevelILInstruction) –
instr_index (InstructionIndex) –
- Return type:
None
- property detailed_operands: List[Tuple[str, int | float | MediumLevelILOperationAndSize | MediumLevelILInstruction | ILIntrinsic | Variable | SSAVariable | List[int] | List[Variable] | List[SSAVariable] | List[MediumLevelILInstruction] | Dict[int, int] | ConstantData, str]]
Returns a list of tuples containing the name of the operand, the operand, and the type of the operand. Useful for iterating over all operands of an instruction and sub-instructions.
- expr_index: ExpressionIndex
- function: MediumLevelILFunction
- property high: Variable
- instr: CoreMediumLevelILInstruction
- instr_index: InstructionIndex
- property low: Variable
- property src: MediumLevelILInstruction
- class MediumLevelILSetVarSplitSsa[source]
Bases:
MediumLevelILInstruction,SetVar,SSAMediumLevelILSetVarSplitSsa(function: ‘MediumLevelILFunction’, expr_index: <function NewType.<locals>.new_type at 0x1129439d0>, instr: binaryninja.mediumlevelil.CoreMediumLevelILInstruction, instr_index: <function NewType.<locals>.new_type at 0x111812ca0>)
- __init__(function: MediumLevelILFunction, expr_index: ExpressionIndex, instr: CoreMediumLevelILInstruction, instr_index: InstructionIndex) None
- Parameters:
function (MediumLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreMediumLevelILInstruction) –
instr_index (InstructionIndex) –
- Return type:
None
- property detailed_operands: List[Tuple[str, int | float | MediumLevelILOperationAndSize | MediumLevelILInstruction | ILIntrinsic | Variable | SSAVariable | List[int] | List[Variable] | List[SSAVariable] | List[MediumLevelILInstruction] | Dict[int, int] | ConstantData, str]]
Returns a list of tuples containing the name of the operand, the operand, and the type of the operand. Useful for iterating over all operands of an instruction and sub-instructions.
- expr_index: ExpressionIndex
- function: MediumLevelILFunction
- property high: SSAVariable
- instr: CoreMediumLevelILInstruction
- instr_index: InstructionIndex
- property low: SSAVariable
- property src: MediumLevelILInstruction
- property vars_read: List[Variable | SSAVariable]
List of variables read by instruction
- property vars_written: List[SSAVariable]
List of variables written by instruction
- class MediumLevelILSetVarSsa[source]
Bases:
MediumLevelILInstruction,SetVar,SSAMediumLevelILSetVarSsa(function: ‘MediumLevelILFunction’, expr_index: <function NewType.<locals>.new_type at 0x1129439d0>, instr: binaryninja.mediumlevelil.CoreMediumLevelILInstruction, instr_index: <function NewType.<locals>.new_type at 0x111812ca0>)
- __init__(function: MediumLevelILFunction, expr_index: ExpressionIndex, instr: CoreMediumLevelILInstruction, instr_index: InstructionIndex) None
- Parameters:
function (MediumLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreMediumLevelILInstruction) –
instr_index (InstructionIndex) –
- Return type:
None
- property dest: SSAVariable
- property detailed_operands: List[Tuple[str, int | float | MediumLevelILOperationAndSize | MediumLevelILInstruction | ILIntrinsic | Variable | SSAVariable | List[int] | List[Variable] | List[SSAVariable] | List[MediumLevelILInstruction] | Dict[int, int] | ConstantData, str]]
Returns a list of tuples containing the name of the operand, the operand, and the type of the operand. Useful for iterating over all operands of an instruction and sub-instructions.
- expr_index: ExpressionIndex
- function: MediumLevelILFunction
- instr: CoreMediumLevelILInstruction
- instr_index: InstructionIndex
- property src: MediumLevelILInstruction
- property vars_read: List[Variable | SSAVariable]
List of variables read by instruction
- property vars_written: List[SSAVariable]
List of variables written by instruction
- class MediumLevelILSetVarSsaField[source]
Bases:
MediumLevelILInstruction,SetVar,SSAMediumLevelILSetVarSsaField(function: ‘MediumLevelILFunction’, expr_index: <function NewType.<locals>.new_type at 0x1129439d0>, instr: binaryninja.mediumlevelil.CoreMediumLevelILInstruction, instr_index: <function NewType.<locals>.new_type at 0x111812ca0>)
- __init__(function: MediumLevelILFunction, expr_index: ExpressionIndex, instr: CoreMediumLevelILInstruction, instr_index: InstructionIndex) None
- Parameters:
function (MediumLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreMediumLevelILInstruction) –
instr_index (InstructionIndex) –
- Return type:
None
- property dest: SSAVariable
- property detailed_operands: List[Tuple[str, int | float | MediumLevelILOperationAndSize | MediumLevelILInstruction | ILIntrinsic | Variable | SSAVariable | List[int] | List[Variable] | List[SSAVariable] | List[MediumLevelILInstruction] | Dict[int, int] | ConstantData, str]]
Returns a list of tuples containing the name of the operand, the operand, and the type of the operand. Useful for iterating over all operands of an instruction and sub-instructions.
- expr_index: ExpressionIndex
- function: MediumLevelILFunction
- instr: CoreMediumLevelILInstruction
- instr_index: InstructionIndex
- property offset: int
- property prev: SSAVariable
- property src: MediumLevelILInstruction
- property vars_read: List[SSAVariable]
List of variables read by instruction
- property vars_written: List[SSAVariable]
List of variables written by instruction
- class MediumLevelILSharedParamSlot[source]
Bases:
MediumLevelILInstructionMediumLevelILSharedParamSlot(function: ‘MediumLevelILFunction’, expr_index: <function NewType.<locals>.new_type at 0x1129439d0>, instr: binaryninja.mediumlevelil.CoreMediumLevelILInstruction, instr_index: <function NewType.<locals>.new_type at 0x111812ca0>)
- __init__(function: MediumLevelILFunction, expr_index: ExpressionIndex, instr: CoreMediumLevelILInstruction, instr_index: InstructionIndex) None
- Parameters:
function (MediumLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreMediumLevelILInstruction) –
instr_index (InstructionIndex) –
- Return type:
None
- property detailed_operands: List[Tuple[str, int | float | MediumLevelILOperationAndSize | MediumLevelILInstruction | ILIntrinsic | Variable | SSAVariable | List[int] | List[Variable] | List[SSAVariable] | List[MediumLevelILInstruction] | Dict[int, int] | ConstantData, str]]
Returns a list of tuples containing the name of the operand, the operand, and the type of the operand. Useful for iterating over all operands of an instruction and sub-instructions.
- expr_index: ExpressionIndex
- function: MediumLevelILFunction
- instr: CoreMediumLevelILInstruction
- instr_index: InstructionIndex
- property params: List[MediumLevelILInstruction]
- class MediumLevelILStore[source]
Bases:
MediumLevelILInstruction,StoreMediumLevelILStore(function: ‘MediumLevelILFunction’, expr_index: <function NewType.<locals>.new_type at 0x1129439d0>, instr: binaryninja.mediumlevelil.CoreMediumLevelILInstruction, instr_index: <function NewType.<locals>.new_type at 0x111812ca0>)
- __init__(function: MediumLevelILFunction, expr_index: ExpressionIndex, instr: CoreMediumLevelILInstruction, instr_index: InstructionIndex) None
- Parameters:
function (MediumLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreMediumLevelILInstruction) –
instr_index (InstructionIndex) –
- Return type:
None
- property dest: MediumLevelILInstruction
- property detailed_operands: List[Tuple[str, int | float | MediumLevelILOperationAndSize | MediumLevelILInstruction | ILIntrinsic | Variable | SSAVariable | List[int] | List[Variable] | List[SSAVariable] | List[MediumLevelILInstruction] | Dict[int, int] | ConstantData, str]]
Returns a list of tuples containing the name of the operand, the operand, and the type of the operand. Useful for iterating over all operands of an instruction and sub-instructions.
- expr_index: ExpressionIndex
- function: MediumLevelILFunction
- instr: CoreMediumLevelILInstruction
- instr_index: InstructionIndex
- property src: MediumLevelILInstruction
- class MediumLevelILStoreSsa[source]
Bases:
MediumLevelILInstruction,Store,SSAMediumLevelILStoreSsa(function: ‘MediumLevelILFunction’, expr_index: <function NewType.<locals>.new_type at 0x1129439d0>, instr: binaryninja.mediumlevelil.CoreMediumLevelILInstruction, instr_index: <function NewType.<locals>.new_type at 0x111812ca0>)
- __init__(function: MediumLevelILFunction, expr_index: ExpressionIndex, instr: CoreMediumLevelILInstruction, instr_index: InstructionIndex) None
- Parameters:
function (MediumLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreMediumLevelILInstruction) –
instr_index (InstructionIndex) –
- Return type:
None
- property dest: MediumLevelILInstruction
- property dest_memory: int
- property detailed_operands: List[Tuple[str, int | float | MediumLevelILOperationAndSize | MediumLevelILInstruction | ILIntrinsic | Variable | SSAVariable | List[int] | List[Variable] | List[SSAVariable] | List[MediumLevelILInstruction] | Dict[int, int] | ConstantData, str]]
Returns a list of tuples containing the name of the operand, the operand, and the type of the operand. Useful for iterating over all operands of an instruction and sub-instructions.
- expr_index: ExpressionIndex
- function: MediumLevelILFunction
- instr: CoreMediumLevelILInstruction
- instr_index: InstructionIndex
- property src: MediumLevelILInstruction
- property src_memory: int
- class MediumLevelILStoreStruct[source]
Bases:
MediumLevelILInstruction,StoreMediumLevelILStoreStruct(function: ‘MediumLevelILFunction’, expr_index: <function NewType.<locals>.new_type at 0x1129439d0>, instr: binaryninja.mediumlevelil.CoreMediumLevelILInstruction, instr_index: <function NewType.<locals>.new_type at 0x111812ca0>)
- __init__(function: MediumLevelILFunction, expr_index: ExpressionIndex, instr: CoreMediumLevelILInstruction, instr_index: InstructionIndex) None
- Parameters:
function (MediumLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreMediumLevelILInstruction) –
instr_index (InstructionIndex) –
- Return type:
None
- property dest: MediumLevelILInstruction
- property detailed_operands: List[Tuple[str, int | float | MediumLevelILOperationAndSize | MediumLevelILInstruction | ILIntrinsic | Variable | SSAVariable | List[int] | List[Variable] | List[SSAVariable] | List[MediumLevelILInstruction] | Dict[int, int] | ConstantData, str]]
Returns a list of tuples containing the name of the operand, the operand, and the type of the operand. Useful for iterating over all operands of an instruction and sub-instructions.
- expr_index: ExpressionIndex
- function: MediumLevelILFunction
- instr: CoreMediumLevelILInstruction
- instr_index: InstructionIndex
- property offset: int
- property src: MediumLevelILInstruction
- class MediumLevelILStoreStructSsa[source]
Bases:
MediumLevelILInstruction,Store,SSAMediumLevelILStoreStructSsa(function: ‘MediumLevelILFunction’, expr_index: <function NewType.<locals>.new_type at 0x1129439d0>, instr: binaryninja.mediumlevelil.CoreMediumLevelILInstruction, instr_index: <function NewType.<locals>.new_type at 0x111812ca0>)
- __init__(function: MediumLevelILFunction, expr_index: ExpressionIndex, instr: CoreMediumLevelILInstruction, instr_index: InstructionIndex) None
- Parameters:
function (MediumLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreMediumLevelILInstruction) –
instr_index (InstructionIndex) –
- Return type:
None
- property dest: MediumLevelILInstruction
- property dest_memory: int
- property detailed_operands: List[Tuple[str, int | float | MediumLevelILOperationAndSize | MediumLevelILInstruction | ILIntrinsic | Variable | SSAVariable | List[int] | List[Variable] | List[SSAVariable] | List[MediumLevelILInstruction] | Dict[int, int] | ConstantData, str]]
Returns a list of tuples containing the name of the operand, the operand, and the type of the operand. Useful for iterating over all operands of an instruction and sub-instructions.
- expr_index: ExpressionIndex
- function: MediumLevelILFunction
- instr: CoreMediumLevelILInstruction
- instr_index: InstructionIndex
- property offset: int
- property src: MediumLevelILInstruction
- property src_memory: int
- class MediumLevelILSub[source]
Bases:
MediumLevelILBinaryBase,ArithmeticMediumLevelILSub(function: ‘MediumLevelILFunction’, expr_index: <function NewType.<locals>.new_type at 0x1129439d0>, instr: binaryninja.mediumlevelil.CoreMediumLevelILInstruction, instr_index: <function NewType.<locals>.new_type at 0x111812ca0>)
- __init__(function: MediumLevelILFunction, expr_index: ExpressionIndex, instr: CoreMediumLevelILInstruction, instr_index: InstructionIndex) None
- Parameters:
function (MediumLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreMediumLevelILInstruction) –
instr_index (InstructionIndex) –
- Return type:
None
- expr_index: ExpressionIndex
- function: MediumLevelILFunction
- instr: CoreMediumLevelILInstruction
- instr_index: InstructionIndex
- class MediumLevelILSx[source]
Bases:
MediumLevelILUnaryBase,ArithmeticMediumLevelILSx(function: ‘MediumLevelILFunction’, expr_index: <function NewType.<locals>.new_type at 0x1129439d0>, instr: binaryninja.mediumlevelil.CoreMediumLevelILInstruction, instr_index: <function NewType.<locals>.new_type at 0x111812ca0>)
- __init__(function: MediumLevelILFunction, expr_index: ExpressionIndex, instr: CoreMediumLevelILInstruction, instr_index: InstructionIndex) None
- Parameters:
function (MediumLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreMediumLevelILInstruction) –
instr_index (InstructionIndex) –
- Return type:
None
- expr_index: ExpressionIndex
- function: MediumLevelILFunction
- instr: CoreMediumLevelILInstruction
- instr_index: InstructionIndex
- class MediumLevelILSyscall[source]
Bases:
MediumLevelILInstruction,SyscallMediumLevelILSyscall(function: ‘MediumLevelILFunction’, expr_index: <function NewType.<locals>.new_type at 0x1129439d0>, instr: binaryninja.mediumlevelil.CoreMediumLevelILInstruction, instr_index: <function NewType.<locals>.new_type at 0x111812ca0>)
- __init__(function: MediumLevelILFunction, expr_index: ExpressionIndex, instr: CoreMediumLevelILInstruction, instr_index: InstructionIndex) None
- Parameters:
function (MediumLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreMediumLevelILInstruction) –
instr_index (InstructionIndex) –
- Return type:
None
- property detailed_operands: List[Tuple[str, int | float | MediumLevelILOperationAndSize | MediumLevelILInstruction | ILIntrinsic | Variable | SSAVariable | List[int] | List[Variable] | List[SSAVariable] | List[MediumLevelILInstruction] | Dict[int, int] | ConstantData, str]]
Returns a list of tuples containing the name of the operand, the operand, and the type of the operand. Useful for iterating over all operands of an instruction and sub-instructions.
- expr_index: ExpressionIndex
- function: MediumLevelILFunction
- instr: CoreMediumLevelILInstruction
- instr_index: InstructionIndex
- property params: List[MediumLevelILInstruction]
- class MediumLevelILSyscallSsa[source]
Bases:
MediumLevelILCallBase,Syscall,SSAMediumLevelILSyscallSsa(function: ‘MediumLevelILFunction’, expr_index: <function NewType.<locals>.new_type at 0x1129439d0>, instr: binaryninja.mediumlevelil.CoreMediumLevelILInstruction, instr_index: <function NewType.<locals>.new_type at 0x111812ca0>)
- __init__(function: MediumLevelILFunction, expr_index: ExpressionIndex, instr: CoreMediumLevelILInstruction, instr_index: InstructionIndex) None
- Parameters:
function (MediumLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreMediumLevelILInstruction) –
instr_index (InstructionIndex) –
- Return type:
None
- property detailed_operands: List[Tuple[str, int | float | MediumLevelILOperationAndSize | MediumLevelILInstruction | ILIntrinsic | Variable | SSAVariable | List[int] | List[Variable] | List[SSAVariable] | List[MediumLevelILInstruction] | Dict[int, int] | ConstantData, str]]
Returns a list of tuples containing the name of the operand, the operand, and the type of the operand. Useful for iterating over all operands of an instruction and sub-instructions.
- expr_index: ExpressionIndex
- function: MediumLevelILFunction
- instr: CoreMediumLevelILInstruction
- instr_index: InstructionIndex
- property output: List[SSAVariable]
- property output_dest_memory: int
- property params: List[MediumLevelILInstruction]
- property src_memory: int
- class MediumLevelILSyscallUntyped[source]
Bases:
MediumLevelILCallBase,SyscallMediumLevelILSyscallUntyped(function: ‘MediumLevelILFunction’, expr_index: <function NewType.<locals>.new_type at 0x1129439d0>, instr: binaryninja.mediumlevelil.CoreMediumLevelILInstruction, instr_index: <function NewType.<locals>.new_type at 0x111812ca0>)
- __init__(function: MediumLevelILFunction, expr_index: ExpressionIndex, instr: CoreMediumLevelILInstruction, instr_index: InstructionIndex) None
- Parameters:
function (MediumLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreMediumLevelILInstruction) –
instr_index (InstructionIndex) –
- Return type:
None
- property detailed_operands: List[Tuple[str, int | float | MediumLevelILOperationAndSize | MediumLevelILInstruction | ILIntrinsic | Variable | SSAVariable | List[int] | List[Variable] | List[SSAVariable] | List[MediumLevelILInstruction] | Dict[int, int] | ConstantData, str]]
Returns a list of tuples containing the name of the operand, the operand, and the type of the operand. Useful for iterating over all operands of an instruction and sub-instructions.
- expr_index: ExpressionIndex
- function: MediumLevelILFunction
- instr: CoreMediumLevelILInstruction
- instr_index: InstructionIndex
- property params: List[MediumLevelILInstruction]
- property stack: MediumLevelILInstruction
- class MediumLevelILSyscallUntypedSsa[source]
Bases:
MediumLevelILCallBase,Syscall,SSAMediumLevelILSyscallUntypedSsa(function: ‘MediumLevelILFunction’, expr_index: <function NewType.<locals>.new_type at 0x1129439d0>, instr: binaryninja.mediumlevelil.CoreMediumLevelILInstruction, instr_index: <function NewType.<locals>.new_type at 0x111812ca0>)
- __init__(function: MediumLevelILFunction, expr_index: ExpressionIndex, instr: CoreMediumLevelILInstruction, instr_index: InstructionIndex) None
- Parameters:
function (MediumLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreMediumLevelILInstruction) –
instr_index (InstructionIndex) –
- Return type:
None
- property detailed_operands: List[Tuple[str, int | float | MediumLevelILOperationAndSize | MediumLevelILInstruction | ILIntrinsic | Variable | SSAVariable | List[int] | List[Variable] | List[SSAVariable] | List[MediumLevelILInstruction] | Dict[int, int] | ConstantData, str]]
Returns a list of tuples containing the name of the operand, the operand, and the type of the operand. Useful for iterating over all operands of an instruction and sub-instructions.
- expr_index: ExpressionIndex
- function: MediumLevelILFunction
- instr: CoreMediumLevelILInstruction
- instr_index: InstructionIndex
- property output: List[SSAVariable]
- property output_dest_memory: int
- property params: List[MediumLevelILInstruction]
- property params_src_memory: int
- property stack: MediumLevelILInstruction
- class MediumLevelILTailcall[source]
Bases:
MediumLevelILCallBase,TailcallMediumLevelILTailcall(function: ‘MediumLevelILFunction’, expr_index: <function NewType.<locals>.new_type at 0x1129439d0>, instr: binaryninja.mediumlevelil.CoreMediumLevelILInstruction, instr_index: <function NewType.<locals>.new_type at 0x111812ca0>)
- __init__(function: MediumLevelILFunction, expr_index: ExpressionIndex, instr: CoreMediumLevelILInstruction, instr_index: InstructionIndex) None
- Parameters:
function (MediumLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreMediumLevelILInstruction) –
instr_index (InstructionIndex) –
- Return type:
None
- property dest: MediumLevelILInstruction
- property detailed_operands: List[Tuple[str, int | float | MediumLevelILOperationAndSize | MediumLevelILInstruction | ILIntrinsic | Variable | SSAVariable | List[int] | List[Variable] | List[SSAVariable] | List[MediumLevelILInstruction] | Dict[int, int] | ConstantData, str]]
Returns a list of tuples containing the name of the operand, the operand, and the type of the operand. Useful for iterating over all operands of an instruction and sub-instructions.
- expr_index: ExpressionIndex
- function: MediumLevelILFunction
- instr: CoreMediumLevelILInstruction
- instr_index: InstructionIndex
- property params: List[MediumLevelILInstruction]
- class MediumLevelILTailcallSsa[source]
Bases:
MediumLevelILCallBase,Tailcall,SSAMediumLevelILTailcallSsa(function: ‘MediumLevelILFunction’, expr_index: <function NewType.<locals>.new_type at 0x1129439d0>, instr: binaryninja.mediumlevelil.CoreMediumLevelILInstruction, instr_index: <function NewType.<locals>.new_type at 0x111812ca0>)
- __init__(function: MediumLevelILFunction, expr_index: ExpressionIndex, instr: CoreMediumLevelILInstruction, instr_index: InstructionIndex) None
- Parameters:
function (MediumLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreMediumLevelILInstruction) –
instr_index (InstructionIndex) –
- Return type:
None
- property dest: MediumLevelILInstruction
- property detailed_operands: List[Tuple[str, int | float | MediumLevelILOperationAndSize | MediumLevelILInstruction | ILIntrinsic | Variable | SSAVariable | List[int] | List[Variable] | List[SSAVariable] | List[MediumLevelILInstruction] | Dict[int, int] | ConstantData, str]]
Returns a list of tuples containing the name of the operand, the operand, and the type of the operand. Useful for iterating over all operands of an instruction and sub-instructions.
- expr_index: ExpressionIndex
- function: MediumLevelILFunction
- instr: CoreMediumLevelILInstruction
- instr_index: InstructionIndex
- property output: List[SSAVariable]
- property output_dest_memory: int
- property params: List[MediumLevelILInstruction]
- property src_memory: int
- class MediumLevelILTailcallUntyped[source]
Bases:
MediumLevelILCallBase,TailcallMediumLevelILTailcallUntyped(function: ‘MediumLevelILFunction’, expr_index: <function NewType.<locals>.new_type at 0x1129439d0>, instr: binaryninja.mediumlevelil.CoreMediumLevelILInstruction, instr_index: <function NewType.<locals>.new_type at 0x111812ca0>)
- __init__(function: MediumLevelILFunction, expr_index: ExpressionIndex, instr: CoreMediumLevelILInstruction, instr_index: InstructionIndex) None
- Parameters:
function (MediumLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreMediumLevelILInstruction) –
instr_index (InstructionIndex) –
- Return type:
None
- property dest: MediumLevelILInstruction
- property detailed_operands: List[Tuple[str, int | float | MediumLevelILOperationAndSize | MediumLevelILInstruction | ILIntrinsic | Variable | SSAVariable | List[int] | List[Variable] | List[SSAVariable] | List[MediumLevelILInstruction] | Dict[int, int] | ConstantData, str]]
Returns a list of tuples containing the name of the operand, the operand, and the type of the operand. Useful for iterating over all operands of an instruction and sub-instructions.
- expr_index: ExpressionIndex
- function: MediumLevelILFunction
- instr: CoreMediumLevelILInstruction
- instr_index: InstructionIndex
- property params: List[MediumLevelILInstruction]
- property stack: MediumLevelILInstruction
- class MediumLevelILTailcallUntypedSsa[source]
Bases:
MediumLevelILCallBase,Tailcall,SSAMediumLevelILTailcallUntypedSsa(function: ‘MediumLevelILFunction’, expr_index: <function NewType.<locals>.new_type at 0x1129439d0>, instr: binaryninja.mediumlevelil.CoreMediumLevelILInstruction, instr_index: <function NewType.<locals>.new_type at 0x111812ca0>)
- __init__(function: MediumLevelILFunction, expr_index: ExpressionIndex, instr: CoreMediumLevelILInstruction, instr_index: InstructionIndex) None
- Parameters:
function (MediumLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreMediumLevelILInstruction) –
instr_index (InstructionIndex) –
- Return type:
None
- property dest: MediumLevelILInstruction
- property detailed_operands: List[Tuple[str, int | float | MediumLevelILOperationAndSize | MediumLevelILInstruction | ILIntrinsic | Variable | SSAVariable | List[int] | List[Variable] | List[SSAVariable] | List[MediumLevelILInstruction] | Dict[int, int] | ConstantData, str]]
Returns a list of tuples containing the name of the operand, the operand, and the type of the operand. Useful for iterating over all operands of an instruction and sub-instructions.
- expr_index: ExpressionIndex
- function: MediumLevelILFunction
- instr: CoreMediumLevelILInstruction
- instr_index: InstructionIndex
- property output: List[SSAVariable]
- property output_dest_memory: int
- property params: List[MediumLevelILInstruction]
- property stack: MediumLevelILInstruction
- class MediumLevelILTestBit[source]
Bases:
MediumLevelILComparisonBaseMediumLevelILTestBit(function: ‘MediumLevelILFunction’, expr_index: <function NewType.<locals>.new_type at 0x1129439d0>, instr: binaryninja.mediumlevelil.CoreMediumLevelILInstruction, instr_index: <function NewType.<locals>.new_type at 0x111812ca0>)
- __init__(function: MediumLevelILFunction, expr_index: ExpressionIndex, instr: CoreMediumLevelILInstruction, instr_index: InstructionIndex) None
- Parameters:
function (MediumLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreMediumLevelILInstruction) –
instr_index (InstructionIndex) –
- Return type:
None
- expr_index: ExpressionIndex
- function: MediumLevelILFunction
- instr: CoreMediumLevelILInstruction
- instr_index: InstructionIndex
- class MediumLevelILTrap[source]
Bases:
MediumLevelILInstruction,TerminalMediumLevelILTrap(function: ‘MediumLevelILFunction’, expr_index: <function NewType.<locals>.new_type at 0x1129439d0>, instr: binaryninja.mediumlevelil.CoreMediumLevelILInstruction, instr_index: <function NewType.<locals>.new_type at 0x111812ca0>)
- __init__(function: MediumLevelILFunction, expr_index: ExpressionIndex, instr: CoreMediumLevelILInstruction, instr_index: InstructionIndex) None
- Parameters:
function (MediumLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreMediumLevelILInstruction) –
instr_index (InstructionIndex) –
- Return type:
None
- property detailed_operands: List[Tuple[str, int | float | MediumLevelILOperationAndSize | MediumLevelILInstruction | ILIntrinsic | Variable | SSAVariable | List[int] | List[Variable] | List[SSAVariable] | List[MediumLevelILInstruction] | Dict[int, int] | ConstantData, str]]
Returns a list of tuples containing the name of the operand, the operand, and the type of the operand. Useful for iterating over all operands of an instruction and sub-instructions.
- expr_index: ExpressionIndex
- function: MediumLevelILFunction
- instr: CoreMediumLevelILInstruction
- instr_index: InstructionIndex
- property vector: int
- class MediumLevelILUnaryBase[source]
Bases:
MediumLevelILInstruction,UnaryOperationMediumLevelILUnaryBase(function: ‘MediumLevelILFunction’, expr_index: <function NewType.<locals>.new_type at 0x1129439d0>, instr: binaryninja.mediumlevelil.CoreMediumLevelILInstruction, instr_index: <function NewType.<locals>.new_type at 0x111812ca0>)
- __init__(function: MediumLevelILFunction, expr_index: ExpressionIndex, instr: CoreMediumLevelILInstruction, instr_index: InstructionIndex) None
- Parameters:
function (MediumLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreMediumLevelILInstruction) –
instr_index (InstructionIndex) –
- Return type:
None
- property detailed_operands: List[Tuple[str, int | float | MediumLevelILOperationAndSize | MediumLevelILInstruction | ILIntrinsic | Variable | SSAVariable | List[int] | List[Variable] | List[SSAVariable] | List[MediumLevelILInstruction] | Dict[int, int] | ConstantData, str]]
Returns a list of tuples containing the name of the operand, the operand, and the type of the operand. Useful for iterating over all operands of an instruction and sub-instructions.
- expr_index: ExpressionIndex
- function: MediumLevelILFunction
- instr: CoreMediumLevelILInstruction
- instr_index: InstructionIndex
- property src: MediumLevelILInstruction
- class MediumLevelILUndef[source]
Bases:
MediumLevelILInstructionMediumLevelILUndef(function: ‘MediumLevelILFunction’, expr_index: <function NewType.<locals>.new_type at 0x1129439d0>, instr: binaryninja.mediumlevelil.CoreMediumLevelILInstruction, instr_index: <function NewType.<locals>.new_type at 0x111812ca0>)
- __init__(function: MediumLevelILFunction, expr_index: ExpressionIndex, instr: CoreMediumLevelILInstruction, instr_index: InstructionIndex) None
- Parameters:
function (MediumLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreMediumLevelILInstruction) –
instr_index (InstructionIndex) –
- Return type:
None
- expr_index: ExpressionIndex
- function: MediumLevelILFunction
- instr: CoreMediumLevelILInstruction
- instr_index: InstructionIndex
- class MediumLevelILUnimpl[source]
Bases:
MediumLevelILInstructionMediumLevelILUnimpl(function: ‘MediumLevelILFunction’, expr_index: <function NewType.<locals>.new_type at 0x1129439d0>, instr: binaryninja.mediumlevelil.CoreMediumLevelILInstruction, instr_index: <function NewType.<locals>.new_type at 0x111812ca0>)
- __init__(function: MediumLevelILFunction, expr_index: ExpressionIndex, instr: CoreMediumLevelILInstruction, instr_index: InstructionIndex) None
- Parameters:
function (MediumLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreMediumLevelILInstruction) –
instr_index (InstructionIndex) –
- Return type:
None
- expr_index: ExpressionIndex
- function: MediumLevelILFunction
- instr: CoreMediumLevelILInstruction
- instr_index: InstructionIndex
- class MediumLevelILUnimplMem[source]
Bases:
MediumLevelILInstruction,MemoryMediumLevelILUnimplMem(function: ‘MediumLevelILFunction’, expr_index: <function NewType.<locals>.new_type at 0x1129439d0>, instr: binaryninja.mediumlevelil.CoreMediumLevelILInstruction, instr_index: <function NewType.<locals>.new_type at 0x111812ca0>)
- __init__(function: MediumLevelILFunction, expr_index: ExpressionIndex, instr: CoreMediumLevelILInstruction, instr_index: InstructionIndex) None
- Parameters:
function (MediumLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreMediumLevelILInstruction) –
instr_index (InstructionIndex) –
- Return type:
None
- property detailed_operands: List[Tuple[str, int | float | MediumLevelILOperationAndSize | MediumLevelILInstruction | ILIntrinsic | Variable | SSAVariable | List[int] | List[Variable] | List[SSAVariable] | List[MediumLevelILInstruction] | Dict[int, int] | ConstantData, str]]
Returns a list of tuples containing the name of the operand, the operand, and the type of the operand. Useful for iterating over all operands of an instruction and sub-instructions.
- expr_index: ExpressionIndex
- function: MediumLevelILFunction
- instr: CoreMediumLevelILInstruction
- instr_index: InstructionIndex
- property src: MediumLevelILInstruction
- class MediumLevelILVar[source]
Bases:
MediumLevelILInstruction,VariableInstructionMediumLevelILVar(function: ‘MediumLevelILFunction’, expr_index: <function NewType.<locals>.new_type at 0x1129439d0>, instr: binaryninja.mediumlevelil.CoreMediumLevelILInstruction, instr_index: <function NewType.<locals>.new_type at 0x111812ca0>)
- __init__(function: MediumLevelILFunction, expr_index: ExpressionIndex, instr: CoreMediumLevelILInstruction, instr_index: InstructionIndex) None
- Parameters:
function (MediumLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreMediumLevelILInstruction) –
instr_index (InstructionIndex) –
- Return type:
None
- property detailed_operands: List[Tuple[str, int | float | MediumLevelILOperationAndSize | MediumLevelILInstruction | ILIntrinsic | Variable | SSAVariable | List[int] | List[Variable] | List[SSAVariable] | List[MediumLevelILInstruction] | Dict[int, int] | ConstantData, str]]
Returns a list of tuples containing the name of the operand, the operand, and the type of the operand. Useful for iterating over all operands of an instruction and sub-instructions.
- expr_index: ExpressionIndex
- function: MediumLevelILFunction
- instr: CoreMediumLevelILInstruction
- instr_index: InstructionIndex
- property src: Variable
- property var: Variable
- class MediumLevelILVarAliased[source]
Bases:
MediumLevelILInstruction,SSA,AliasedVariableInstructionMediumLevelILVarAliased(function: ‘MediumLevelILFunction’, expr_index: <function NewType.<locals>.new_type at 0x1129439d0>, instr: binaryninja.mediumlevelil.CoreMediumLevelILInstruction, instr_index: <function NewType.<locals>.new_type at 0x111812ca0>)
- __init__(function: MediumLevelILFunction, expr_index: ExpressionIndex, instr: CoreMediumLevelILInstruction, instr_index: InstructionIndex) None
- Parameters:
function (MediumLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreMediumLevelILInstruction) –
instr_index (InstructionIndex) –
- Return type:
None
- property detailed_operands: List[Tuple[str, int | float | MediumLevelILOperationAndSize | MediumLevelILInstruction | ILIntrinsic | Variable | SSAVariable | List[int] | List[Variable] | List[SSAVariable] | List[MediumLevelILInstruction] | Dict[int, int] | ConstantData, str]]
Returns a list of tuples containing the name of the operand, the operand, and the type of the operand. Useful for iterating over all operands of an instruction and sub-instructions.
- expr_index: ExpressionIndex
- function: MediumLevelILFunction
- instr: CoreMediumLevelILInstruction
- instr_index: InstructionIndex
- property src: SSAVariable
- class MediumLevelILVarAliasedField[source]
Bases:
MediumLevelILInstruction,SSAMediumLevelILVarAliasedField(function: ‘MediumLevelILFunction’, expr_index: <function NewType.<locals>.new_type at 0x1129439d0>, instr: binaryninja.mediumlevelil.CoreMediumLevelILInstruction, instr_index: <function NewType.<locals>.new_type at 0x111812ca0>)
- __init__(function: MediumLevelILFunction, expr_index: ExpressionIndex, instr: CoreMediumLevelILInstruction, instr_index: InstructionIndex) None
- Parameters:
function (MediumLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreMediumLevelILInstruction) –
instr_index (InstructionIndex) –
- Return type:
None
- property detailed_operands: List[Tuple[str, int | float | MediumLevelILOperationAndSize | MediumLevelILInstruction | ILIntrinsic | Variable | SSAVariable | List[int] | List[Variable] | List[SSAVariable] | List[MediumLevelILInstruction] | Dict[int, int] | ConstantData, str]]
Returns a list of tuples containing the name of the operand, the operand, and the type of the operand. Useful for iterating over all operands of an instruction and sub-instructions.
- expr_index: ExpressionIndex
- function: MediumLevelILFunction
- instr: CoreMediumLevelILInstruction
- instr_index: InstructionIndex
- property offset: int
- property src: SSAVariable
- class MediumLevelILVarField[source]
Bases:
MediumLevelILInstructionMediumLevelILVarField(function: ‘MediumLevelILFunction’, expr_index: <function NewType.<locals>.new_type at 0x1129439d0>, instr: binaryninja.mediumlevelil.CoreMediumLevelILInstruction, instr_index: <function NewType.<locals>.new_type at 0x111812ca0>)
- __init__(function: MediumLevelILFunction, expr_index: ExpressionIndex, instr: CoreMediumLevelILInstruction, instr_index: InstructionIndex) None
- Parameters:
function (MediumLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreMediumLevelILInstruction) –
instr_index (InstructionIndex) –
- Return type:
None
- property detailed_operands: List[Tuple[str, int | float | MediumLevelILOperationAndSize | MediumLevelILInstruction | ILIntrinsic | Variable | SSAVariable | List[int] | List[Variable] | List[SSAVariable] | List[MediumLevelILInstruction] | Dict[int, int] | ConstantData, str]]
Returns a list of tuples containing the name of the operand, the operand, and the type of the operand. Useful for iterating over all operands of an instruction and sub-instructions.
- expr_index: ExpressionIndex
- function: MediumLevelILFunction
- instr: CoreMediumLevelILInstruction
- instr_index: InstructionIndex
- property offset: int
- property src: Variable
- class MediumLevelILVarPhi[source]
Bases:
MediumLevelILInstruction,SetVar,Phi,SSAMediumLevelILVarPhi(function: ‘MediumLevelILFunction’, expr_index: <function NewType.<locals>.new_type at 0x1129439d0>, instr: binaryninja.mediumlevelil.CoreMediumLevelILInstruction, instr_index: <function NewType.<locals>.new_type at 0x111812ca0>)
- __init__(function: MediumLevelILFunction, expr_index: ExpressionIndex, instr: CoreMediumLevelILInstruction, instr_index: InstructionIndex) None
- Parameters:
function (MediumLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreMediumLevelILInstruction) –
instr_index (InstructionIndex) –
- Return type:
None
- property dest: SSAVariable
- property detailed_operands: List[Tuple[str, int | float | MediumLevelILOperationAndSize | MediumLevelILInstruction | ILIntrinsic | Variable | SSAVariable | List[int] | List[Variable] | List[SSAVariable] | List[MediumLevelILInstruction] | Dict[int, int] | ConstantData, str]]
Returns a list of tuples containing the name of the operand, the operand, and the type of the operand. Useful for iterating over all operands of an instruction and sub-instructions.
- expr_index: ExpressionIndex
- function: MediumLevelILFunction
- instr: CoreMediumLevelILInstruction
- instr_index: InstructionIndex
- property src: List[SSAVariable]
- property vars_read: List[SSAVariable]
List of variables read by instruction
- property vars_written: List[SSAVariable]
List of variables written by instruction
- class MediumLevelILVarSplit[source]
Bases:
MediumLevelILInstructionMediumLevelILVarSplit(function: ‘MediumLevelILFunction’, expr_index: <function NewType.<locals>.new_type at 0x1129439d0>, instr: binaryninja.mediumlevelil.CoreMediumLevelILInstruction, instr_index: <function NewType.<locals>.new_type at 0x111812ca0>)
- __init__(function: MediumLevelILFunction, expr_index: ExpressionIndex, instr: CoreMediumLevelILInstruction, instr_index: InstructionIndex) None
- Parameters:
function (MediumLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreMediumLevelILInstruction) –
instr_index (InstructionIndex) –
- Return type:
None
- property detailed_operands: List[Tuple[str, int | float | MediumLevelILOperationAndSize | MediumLevelILInstruction | ILIntrinsic | Variable | SSAVariable | List[int] | List[Variable] | List[SSAVariable] | List[MediumLevelILInstruction] | Dict[int, int] | ConstantData, str]]
Returns a list of tuples containing the name of the operand, the operand, and the type of the operand. Useful for iterating over all operands of an instruction and sub-instructions.
- expr_index: ExpressionIndex
- function: MediumLevelILFunction
- property high: Variable
- instr: CoreMediumLevelILInstruction
- instr_index: InstructionIndex
- property low: Variable
- class MediumLevelILVarSplitSsa[source]
Bases:
MediumLevelILInstruction,SSAMediumLevelILVarSplitSsa(function: ‘MediumLevelILFunction’, expr_index: <function NewType.<locals>.new_type at 0x1129439d0>, instr: binaryninja.mediumlevelil.CoreMediumLevelILInstruction, instr_index: <function NewType.<locals>.new_type at 0x111812ca0>)
- __init__(function: MediumLevelILFunction, expr_index: ExpressionIndex, instr: CoreMediumLevelILInstruction, instr_index: InstructionIndex) None
- Parameters:
function (MediumLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreMediumLevelILInstruction) –
instr_index (InstructionIndex) –
- Return type:
None
- property detailed_operands: List[Tuple[str, int | float | MediumLevelILOperationAndSize | MediumLevelILInstruction | ILIntrinsic | Variable | SSAVariable | List[int] | List[Variable] | List[SSAVariable] | List[MediumLevelILInstruction] | Dict[int, int] | ConstantData, str]]
Returns a list of tuples containing the name of the operand, the operand, and the type of the operand. Useful for iterating over all operands of an instruction and sub-instructions.
- expr_index: ExpressionIndex
- function: MediumLevelILFunction
- property high: SSAVariable
- instr: CoreMediumLevelILInstruction
- instr_index: InstructionIndex
- property low: SSAVariable
- class MediumLevelILVarSsa[source]
Bases:
MediumLevelILInstruction,SSAVariableInstructionMediumLevelILVarSsa(function: ‘MediumLevelILFunction’, expr_index: <function NewType.<locals>.new_type at 0x1129439d0>, instr: binaryninja.mediumlevelil.CoreMediumLevelILInstruction, instr_index: <function NewType.<locals>.new_type at 0x111812ca0>)
- __init__(function: MediumLevelILFunction, expr_index: ExpressionIndex, instr: CoreMediumLevelILInstruction, instr_index: InstructionIndex) None
- Parameters:
function (MediumLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreMediumLevelILInstruction) –
instr_index (InstructionIndex) –
- Return type:
None
- property detailed_operands: List[Tuple[str, int | float | MediumLevelILOperationAndSize | MediumLevelILInstruction | ILIntrinsic | Variable | SSAVariable | List[int] | List[Variable] | List[SSAVariable] | List[MediumLevelILInstruction] | Dict[int, int] | ConstantData, str]]
Returns a list of tuples containing the name of the operand, the operand, and the type of the operand. Useful for iterating over all operands of an instruction and sub-instructions.
- expr_index: ExpressionIndex
- function: MediumLevelILFunction
- instr: CoreMediumLevelILInstruction
- instr_index: InstructionIndex
- property src: SSAVariable
- property var: SSAVariable
- class MediumLevelILVarSsaField[source]
Bases:
MediumLevelILInstruction,SSAMediumLevelILVarSsaField(function: ‘MediumLevelILFunction’, expr_index: <function NewType.<locals>.new_type at 0x1129439d0>, instr: binaryninja.mediumlevelil.CoreMediumLevelILInstruction, instr_index: <function NewType.<locals>.new_type at 0x111812ca0>)
- __init__(function: MediumLevelILFunction, expr_index: ExpressionIndex, instr: CoreMediumLevelILInstruction, instr_index: InstructionIndex) None
- Parameters:
function (MediumLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreMediumLevelILInstruction) –
instr_index (InstructionIndex) –
- Return type:
None
- property detailed_operands: List[Tuple[str, int | float | MediumLevelILOperationAndSize | MediumLevelILInstruction | ILIntrinsic | Variable | SSAVariable | List[int] | List[Variable] | List[SSAVariable] | List[MediumLevelILInstruction] | Dict[int, int] | ConstantData, str]]
Returns a list of tuples containing the name of the operand, the operand, and the type of the operand. Useful for iterating over all operands of an instruction and sub-instructions.
- expr_index: ExpressionIndex
- function: MediumLevelILFunction
- instr: CoreMediumLevelILInstruction
- instr_index: InstructionIndex
- property offset: int
- property src: SSAVariable
- class MediumLevelILXor[source]
Bases:
MediumLevelILBinaryBase,ArithmeticMediumLevelILXor(function: ‘MediumLevelILFunction’, expr_index: <function NewType.<locals>.new_type at 0x1129439d0>, instr: binaryninja.mediumlevelil.CoreMediumLevelILInstruction, instr_index: <function NewType.<locals>.new_type at 0x111812ca0>)
- __init__(function: MediumLevelILFunction, expr_index: ExpressionIndex, instr: CoreMediumLevelILInstruction, instr_index: InstructionIndex) None
- Parameters:
function (MediumLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreMediumLevelILInstruction) –
instr_index (InstructionIndex) –
- Return type:
None
- expr_index: ExpressionIndex
- function: MediumLevelILFunction
- instr: CoreMediumLevelILInstruction
- instr_index: InstructionIndex
- class MediumLevelILZx[source]
Bases:
MediumLevelILUnaryBase,ArithmeticMediumLevelILZx(function: ‘MediumLevelILFunction’, expr_index: <function NewType.<locals>.new_type at 0x1129439d0>, instr: binaryninja.mediumlevelil.CoreMediumLevelILInstruction, instr_index: <function NewType.<locals>.new_type at 0x111812ca0>)
- __init__(function: MediumLevelILFunction, expr_index: ExpressionIndex, instr: CoreMediumLevelILInstruction, instr_index: InstructionIndex) None
- Parameters:
function (MediumLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreMediumLevelILInstruction) –
instr_index (InstructionIndex) –
- Return type:
None
- expr_index: ExpressionIndex
- function: MediumLevelILFunction
- instr: CoreMediumLevelILInstruction
- instr_index: InstructionIndex
- class SSAVariable[source]
Bases:
objectSSAVariable(var: ‘variable.Variable’, version: int)
- property dead_store_elimination: DeadStoreElimination
returns the dead store elimination setting for this variable (read-only)
- property def_site: MediumLevelILInstruction | HighLevelILInstruction | None
Gets the IL instructions where this SSAVariable is defined.
- property function: Function
returns the source Function object which this variable belongs to
- property il_function: function.ILFunctionType
returns the il Function object which this variable belongs to
- property name: str
- property type: Type
- property use_sites: List[MediumLevelILInstruction | HighLevelILInstruction]
Gets the list of IL instructions where this SSAVariable is used inside of this function.
- var: Variable
- version: int
CoreMediumLevelILInstruction¶
- class CoreMediumLevelILInstruction[source]¶
Bases:
objectCoreMediumLevelILInstruction(operation: binaryninja.enums.MediumLevelILOperation, attributes: int, source_operand: int, size: int, operands: Tuple[ExpressionIndex, ExpressionIndex, ExpressionIndex, ExpressionIndex, ExpressionIndex], address: int)
- __init__(operation: MediumLevelILOperation, attributes: int, source_operand: int, size: int, operands: Tuple[ExpressionIndex, ExpressionIndex, ExpressionIndex, ExpressionIndex, ExpressionIndex], address: int) None¶
- classmethod from_BNMediumLevelILInstruction(instr: BNMediumLevelILInstruction) CoreMediumLevelILInstruction[source]¶
- Parameters:
instr (BNMediumLevelILInstruction) –
- Return type:
- operands: Tuple[ExpressionIndex, ExpressionIndex, ExpressionIndex, ExpressionIndex, ExpressionIndex]¶
- operation: MediumLevelILOperation¶
LLILSSAToMLILExpressionMap¶
- class LLILSSAToMLILExpressionMap[source]¶
Bases:
objectLLILSSAToMLILExpressionMap(lower_index: ‘lowlevelil.ExpressionIndex’, higher_index: <function NewType.<locals>.new_type at 0x1129439d0>, map_lower_to_higher: bool, map_higher_to_lower: bool, lower_to_higher_direct: bool, higher_to_lower_direct: bool)
- __init__(lower_index: ExpressionIndex, higher_index: ExpressionIndex, map_lower_to_higher: bool, map_higher_to_lower: bool, lower_to_higher_direct: bool, higher_to_lower_direct: bool) None¶
- higher_index: ExpressionIndex¶
- lower_index: ExpressionIndex¶
MediumLevelILAdc¶
- class MediumLevelILAdc[source]¶
Bases:
MediumLevelILCarryBaseMediumLevelILAdc(function: ‘MediumLevelILFunction’, expr_index: <function NewType.<locals>.new_type at 0x1129439d0>, instr: binaryninja.mediumlevelil.CoreMediumLevelILInstruction, instr_index: <function NewType.<locals>.new_type at 0x111812ca0>)
- __init__(function: MediumLevelILFunction, expr_index: ExpressionIndex, instr: CoreMediumLevelILInstruction, instr_index: InstructionIndex) None¶
- Parameters:
function (MediumLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreMediumLevelILInstruction) –
instr_index (InstructionIndex) –
- Return type:
None
- expr_index: ExpressionIndex¶
- function: MediumLevelILFunction¶
- instr_index: InstructionIndex¶
MediumLevelILAdd¶
- class MediumLevelILAdd[source]¶
Bases:
MediumLevelILBinaryBase,ArithmeticMediumLevelILAdd(function: ‘MediumLevelILFunction’, expr_index: <function NewType.<locals>.new_type at 0x1129439d0>, instr: binaryninja.mediumlevelil.CoreMediumLevelILInstruction, instr_index: <function NewType.<locals>.new_type at 0x111812ca0>)
- __init__(function: MediumLevelILFunction, expr_index: ExpressionIndex, instr: CoreMediumLevelILInstruction, instr_index: InstructionIndex) None¶
- Parameters:
function (MediumLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreMediumLevelILInstruction) –
instr_index (InstructionIndex) –
- Return type:
None
- expr_index: ExpressionIndex¶
- function: MediumLevelILFunction¶
- instr_index: InstructionIndex¶
MediumLevelILAddOverflow¶
- class MediumLevelILAddOverflow[source]¶
Bases:
MediumLevelILBinaryBase,ArithmeticMediumLevelILAddOverflow(function: ‘MediumLevelILFunction’, expr_index: <function NewType.<locals>.new_type at 0x1129439d0>, instr: binaryninja.mediumlevelil.CoreMediumLevelILInstruction, instr_index: <function NewType.<locals>.new_type at 0x111812ca0>)
- __init__(function: MediumLevelILFunction, expr_index: ExpressionIndex, instr: CoreMediumLevelILInstruction, instr_index: InstructionIndex) None¶
- Parameters:
function (MediumLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreMediumLevelILInstruction) –
instr_index (InstructionIndex) –
- Return type:
None
- expr_index: ExpressionIndex¶
- function: MediumLevelILFunction¶
- instr_index: InstructionIndex¶
MediumLevelILAddressOf¶
- class MediumLevelILAddressOf[source]¶
Bases:
MediumLevelILInstructionMediumLevelILAddressOf(function: ‘MediumLevelILFunction’, expr_index: <function NewType.<locals>.new_type at 0x1129439d0>, instr: binaryninja.mediumlevelil.CoreMediumLevelILInstruction, instr_index: <function NewType.<locals>.new_type at 0x111812ca0>)
- __init__(function: MediumLevelILFunction, expr_index: ExpressionIndex, instr: CoreMediumLevelILInstruction, instr_index: InstructionIndex) None¶
- Parameters:
function (MediumLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreMediumLevelILInstruction) –
instr_index (InstructionIndex) –
- Return type:
None
- property detailed_operands: List[Tuple[str, int | float | MediumLevelILOperationAndSize | MediumLevelILInstruction | ILIntrinsic | Variable | SSAVariable | List[int] | List[Variable] | List[SSAVariable] | List[MediumLevelILInstruction] | Dict[int, int] | ConstantData, str]]¶
Returns a list of tuples containing the name of the operand, the operand, and the type of the operand. Useful for iterating over all operands of an instruction and sub-instructions.
- expr_index: ExpressionIndex¶
- function: MediumLevelILFunction¶
- instr_index: InstructionIndex¶
MediumLevelILAddressOfField¶
- class MediumLevelILAddressOfField[source]¶
Bases:
MediumLevelILInstructionMediumLevelILAddressOfField(function: ‘MediumLevelILFunction’, expr_index: <function NewType.<locals>.new_type at 0x1129439d0>, instr: binaryninja.mediumlevelil.CoreMediumLevelILInstruction, instr_index: <function NewType.<locals>.new_type at 0x111812ca0>)
- __init__(function: MediumLevelILFunction, expr_index: ExpressionIndex, instr: CoreMediumLevelILInstruction, instr_index: InstructionIndex) None¶
- Parameters:
function (MediumLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreMediumLevelILInstruction) –
instr_index (InstructionIndex) –
- Return type:
None
- property detailed_operands: List[Tuple[str, int | float | MediumLevelILOperationAndSize | MediumLevelILInstruction | ILIntrinsic | Variable | SSAVariable | List[int] | List[Variable] | List[SSAVariable] | List[MediumLevelILInstruction] | Dict[int, int] | ConstantData, str]]¶
Returns a list of tuples containing the name of the operand, the operand, and the type of the operand. Useful for iterating over all operands of an instruction and sub-instructions.
- expr_index: ExpressionIndex¶
- function: MediumLevelILFunction¶
- instr_index: InstructionIndex¶
MediumLevelILAnd¶
- class MediumLevelILAnd[source]¶
Bases:
MediumLevelILBinaryBase,ArithmeticMediumLevelILAnd(function: ‘MediumLevelILFunction’, expr_index: <function NewType.<locals>.new_type at 0x1129439d0>, instr: binaryninja.mediumlevelil.CoreMediumLevelILInstruction, instr_index: <function NewType.<locals>.new_type at 0x111812ca0>)
- __init__(function: MediumLevelILFunction, expr_index: ExpressionIndex, instr: CoreMediumLevelILInstruction, instr_index: InstructionIndex) None¶
- Parameters:
function (MediumLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreMediumLevelILInstruction) –
instr_index (InstructionIndex) –
- Return type:
None
- expr_index: ExpressionIndex¶
- function: MediumLevelILFunction¶
- instr_index: InstructionIndex¶
MediumLevelILAsr¶
- class MediumLevelILAsr[source]¶
Bases:
MediumLevelILBinaryBase,ArithmeticMediumLevelILAsr(function: ‘MediumLevelILFunction’, expr_index: <function NewType.<locals>.new_type at 0x1129439d0>, instr: binaryninja.mediumlevelil.CoreMediumLevelILInstruction, instr_index: <function NewType.<locals>.new_type at 0x111812ca0>)
- __init__(function: MediumLevelILFunction, expr_index: ExpressionIndex, instr: CoreMediumLevelILInstruction, instr_index: InstructionIndex) None¶
- Parameters:
function (MediumLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreMediumLevelILInstruction) –
instr_index (InstructionIndex) –
- Return type:
None
- expr_index: ExpressionIndex¶
- function: MediumLevelILFunction¶
- instr_index: InstructionIndex¶
MediumLevelILAssert¶
- class MediumLevelILAssert[source]¶
Bases:
MediumLevelILInstructionMediumLevelILAssert(function: ‘MediumLevelILFunction’, expr_index: <function NewType.<locals>.new_type at 0x1129439d0>, instr: binaryninja.mediumlevelil.CoreMediumLevelILInstruction, instr_index: <function NewType.<locals>.new_type at 0x111812ca0>)
- __init__(function: MediumLevelILFunction, expr_index: ExpressionIndex, instr: CoreMediumLevelILInstruction, instr_index: InstructionIndex) None¶
- Parameters:
function (MediumLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreMediumLevelILInstruction) –
instr_index (InstructionIndex) –
- Return type:
None
- property constraint: PossibleValueSet¶
- expr_index: ExpressionIndex¶
- function: MediumLevelILFunction¶
- instr_index: InstructionIndex¶
MediumLevelILAssertSsa¶
- class MediumLevelILAssertSsa[source]¶
Bases:
MediumLevelILInstruction,SSAMediumLevelILAssertSsa(function: ‘MediumLevelILFunction’, expr_index: <function NewType.<locals>.new_type at 0x1129439d0>, instr: binaryninja.mediumlevelil.CoreMediumLevelILInstruction, instr_index: <function NewType.<locals>.new_type at 0x111812ca0>)
- __init__(function: MediumLevelILFunction, expr_index: ExpressionIndex, instr: CoreMediumLevelILInstruction, instr_index: InstructionIndex) None¶
- Parameters:
function (MediumLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreMediumLevelILInstruction) –
instr_index (InstructionIndex) –
- Return type:
None
- property constraint: PossibleValueSet¶
- expr_index: ExpressionIndex¶
- function: MediumLevelILFunction¶
- instr_index: InstructionIndex¶
- property src: SSAVariable¶
MediumLevelILBasicBlock¶
- class MediumLevelILBasicBlock[source]¶
Bases:
BasicBlockThe
MediumLevelILBasicBlockobject is returned during analysis and should not be directly instantiated.- __init__(handle: LP_BNBasicBlock, owner: MediumLevelILFunction, view: BinaryView | None = None)[source]¶
- Parameters:
handle (LP_BNBasicBlock) –
owner (MediumLevelILFunction) –
view (BinaryView | None) –
- property il_function: MediumLevelILFunction¶
IL Function of which this block is a part, if the block is part of an IL Function.
MediumLevelILBinaryBase¶
- class MediumLevelILBinaryBase[source]¶
Bases:
MediumLevelILInstruction,BinaryOperationMediumLevelILBinaryBase(function: ‘MediumLevelILFunction’, expr_index: <function NewType.<locals>.new_type at 0x1129439d0>, instr: binaryninja.mediumlevelil.CoreMediumLevelILInstruction, instr_index: <function NewType.<locals>.new_type at 0x111812ca0>)
- __init__(function: MediumLevelILFunction, expr_index: ExpressionIndex, instr: CoreMediumLevelILInstruction, instr_index: InstructionIndex) None¶
- Parameters:
function (MediumLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreMediumLevelILInstruction) –
instr_index (InstructionIndex) –
- Return type:
None
- property detailed_operands: List[Tuple[str, int | float | MediumLevelILOperationAndSize | MediumLevelILInstruction | ILIntrinsic | Variable | SSAVariable | List[int] | List[Variable] | List[SSAVariable] | List[MediumLevelILInstruction] | Dict[int, int] | ConstantData, str]]¶
Returns a list of tuples containing the name of the operand, the operand, and the type of the operand. Useful for iterating over all operands of an instruction and sub-instructions.
- expr_index: ExpressionIndex¶
- function: MediumLevelILFunction¶
- instr_index: InstructionIndex¶
- property left: MediumLevelILInstruction¶
- property right: MediumLevelILInstruction¶
MediumLevelILBoolToInt¶
- class MediumLevelILBoolToInt[source]¶
Bases:
MediumLevelILInstructionMediumLevelILBoolToInt(function: ‘MediumLevelILFunction’, expr_index: <function NewType.<locals>.new_type at 0x1129439d0>, instr: binaryninja.mediumlevelil.CoreMediumLevelILInstruction, instr_index: <function NewType.<locals>.new_type at 0x111812ca0>)
- __init__(function: MediumLevelILFunction, expr_index: ExpressionIndex, instr: CoreMediumLevelILInstruction, instr_index: InstructionIndex) None¶
- Parameters:
function (MediumLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreMediumLevelILInstruction) –
instr_index (InstructionIndex) –
- Return type:
None
- property detailed_operands: List[Tuple[str, int | float | MediumLevelILOperationAndSize | MediumLevelILInstruction | ILIntrinsic | Variable | SSAVariable | List[int] | List[Variable] | List[SSAVariable] | List[MediumLevelILInstruction] | Dict[int, int] | ConstantData, str]]¶
Returns a list of tuples containing the name of the operand, the operand, and the type of the operand. Useful for iterating over all operands of an instruction and sub-instructions.
- expr_index: ExpressionIndex¶
- function: MediumLevelILFunction¶
- instr_index: InstructionIndex¶
- property src: MediumLevelILInstruction¶
MediumLevelILBp¶
- class MediumLevelILBp[source]¶
Bases:
MediumLevelILInstruction,TerminalMediumLevelILBp(function: ‘MediumLevelILFunction’, expr_index: <function NewType.<locals>.new_type at 0x1129439d0>, instr: binaryninja.mediumlevelil.CoreMediumLevelILInstruction, instr_index: <function NewType.<locals>.new_type at 0x111812ca0>)
- __init__(function: MediumLevelILFunction, expr_index: ExpressionIndex, instr: CoreMediumLevelILInstruction, instr_index: InstructionIndex) None¶
- Parameters:
function (MediumLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreMediumLevelILInstruction) –
instr_index (InstructionIndex) –
- Return type:
None
- expr_index: ExpressionIndex¶
- function: MediumLevelILFunction¶
- instr_index: InstructionIndex¶
MediumLevelILCall¶
- class MediumLevelILCall[source]¶
Bases:
MediumLevelILCallBase,LocalcallMediumLevelILCall(function: ‘MediumLevelILFunction’, expr_index: <function NewType.<locals>.new_type at 0x1129439d0>, instr: binaryninja.mediumlevelil.CoreMediumLevelILInstruction, instr_index: <function NewType.<locals>.new_type at 0x111812ca0>)
- __init__(function: MediumLevelILFunction, expr_index: ExpressionIndex, instr: CoreMediumLevelILInstruction, instr_index: InstructionIndex) None¶
- Parameters:
function (MediumLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreMediumLevelILInstruction) –
instr_index (InstructionIndex) –
- Return type:
None
- property dest: MediumLevelILInstruction¶
- property detailed_operands: List[Tuple[str, int | float | MediumLevelILOperationAndSize | MediumLevelILInstruction | ILIntrinsic | Variable | SSAVariable | List[int] | List[Variable] | List[SSAVariable] | List[MediumLevelILInstruction] | Dict[int, int] | ConstantData, str]]¶
Returns a list of tuples containing the name of the operand, the operand, and the type of the operand. Useful for iterating over all operands of an instruction and sub-instructions.
- expr_index: ExpressionIndex¶
- function: MediumLevelILFunction¶
- instr_index: InstructionIndex¶
- property params: List[MediumLevelILInstruction]¶
MediumLevelILCallBase¶
- class MediumLevelILCallBase[source]¶
Bases:
MediumLevelILInstruction,CallMediumLevelILCallBase(function: ‘MediumLevelILFunction’, expr_index: <function NewType.<locals>.new_type at 0x1129439d0>, instr: binaryninja.mediumlevelil.CoreMediumLevelILInstruction, instr_index: <function NewType.<locals>.new_type at 0x111812ca0>)
- __init__(function: MediumLevelILFunction, expr_index: ExpressionIndex, instr: CoreMediumLevelILInstruction, instr_index: InstructionIndex) None¶
- Parameters:
function (MediumLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreMediumLevelILInstruction) –
instr_index (InstructionIndex) –
- Return type:
None
- expr_index: ExpressionIndex¶
- function: MediumLevelILFunction¶
- instr_index: InstructionIndex¶
- property output: List[Variable | SSAVariable]¶
- property params: List[SSAVariable | Variable | MediumLevelILInstruction]¶
- property vars_read: List[Variable | SSAVariable]¶
List of variables read by instruction
- property vars_written: List[Variable | SSAVariable]¶
List of variables written by instruction
MediumLevelILCallOutput¶
- class MediumLevelILCallOutput[source]¶
Bases:
MediumLevelILInstructionMediumLevelILCallOutput(function: ‘MediumLevelILFunction’, expr_index: <function NewType.<locals>.new_type at 0x1129439d0>, instr: binaryninja.mediumlevelil.CoreMediumLevelILInstruction, instr_index: <function NewType.<locals>.new_type at 0x111812ca0>)
- __init__(function: MediumLevelILFunction, expr_index: ExpressionIndex, instr: CoreMediumLevelILInstruction, instr_index: InstructionIndex) None¶
- Parameters:
function (MediumLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreMediumLevelILInstruction) –
instr_index (InstructionIndex) –
- Return type:
None
- property detailed_operands: List[Tuple[str, int | float | MediumLevelILOperationAndSize | MediumLevelILInstruction | ILIntrinsic | Variable | SSAVariable | List[int] | List[Variable] | List[SSAVariable] | List[MediumLevelILInstruction] | Dict[int, int] | ConstantData, str]]¶
Returns a list of tuples containing the name of the operand, the operand, and the type of the operand. Useful for iterating over all operands of an instruction and sub-instructions.
- expr_index: ExpressionIndex¶
- function: MediumLevelILFunction¶
- instr_index: InstructionIndex¶
MediumLevelILCallOutputSsa¶
- class MediumLevelILCallOutputSsa[source]¶
Bases:
MediumLevelILInstruction,SSAMediumLevelILCallOutputSsa(function: ‘MediumLevelILFunction’, expr_index: <function NewType.<locals>.new_type at 0x1129439d0>, instr: binaryninja.mediumlevelil.CoreMediumLevelILInstruction, instr_index: <function NewType.<locals>.new_type at 0x111812ca0>)
- __init__(function: MediumLevelILFunction, expr_index: ExpressionIndex, instr: CoreMediumLevelILInstruction, instr_index: InstructionIndex) None¶
- Parameters:
function (MediumLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreMediumLevelILInstruction) –
instr_index (InstructionIndex) –
- Return type:
None
- property dest: List[SSAVariable]¶
- property detailed_operands: List[Tuple[str, int | float | MediumLevelILOperationAndSize | MediumLevelILInstruction | ILIntrinsic | Variable | SSAVariable | List[int] | List[Variable] | List[SSAVariable] | List[MediumLevelILInstruction] | Dict[int, int] | ConstantData, str]]¶
Returns a list of tuples containing the name of the operand, the operand, and the type of the operand. Useful for iterating over all operands of an instruction and sub-instructions.
- expr_index: ExpressionIndex¶
- function: MediumLevelILFunction¶
- instr_index: InstructionIndex¶
- property vars_written: List[SSAVariable]¶
List of variables written by instruction
MediumLevelILCallParam¶
- class MediumLevelILCallParam[source]¶
Bases:
MediumLevelILInstructionMediumLevelILCallParam(function: ‘MediumLevelILFunction’, expr_index: <function NewType.<locals>.new_type at 0x1129439d0>, instr: binaryninja.mediumlevelil.CoreMediumLevelILInstruction, instr_index: <function NewType.<locals>.new_type at 0x111812ca0>)
- __init__(function: MediumLevelILFunction, expr_index: ExpressionIndex, instr: CoreMediumLevelILInstruction, instr_index: InstructionIndex) None¶
- Parameters:
function (MediumLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreMediumLevelILInstruction) –
instr_index (InstructionIndex) –
- Return type:
None
- property detailed_operands: List[Tuple[str, int | float | MediumLevelILOperationAndSize | MediumLevelILInstruction | ILIntrinsic | Variable | SSAVariable | List[int] | List[Variable] | List[SSAVariable] | List[MediumLevelILInstruction] | Dict[int, int] | ConstantData, str]]¶
Returns a list of tuples containing the name of the operand, the operand, and the type of the operand. Useful for iterating over all operands of an instruction and sub-instructions.
- expr_index: ExpressionIndex¶
- function: MediumLevelILFunction¶
- instr_index: InstructionIndex¶
- property src: List[MediumLevelILInstruction]¶
MediumLevelILCallParamSsa¶
- class MediumLevelILCallParamSsa[source]¶
Bases:
MediumLevelILInstruction,SSAMediumLevelILCallParamSsa(function: ‘MediumLevelILFunction’, expr_index: <function NewType.<locals>.new_type at 0x1129439d0>, instr: binaryninja.mediumlevelil.CoreMediumLevelILInstruction, instr_index: <function NewType.<locals>.new_type at 0x111812ca0>)
- __init__(function: MediumLevelILFunction, expr_index: ExpressionIndex, instr: CoreMediumLevelILInstruction, instr_index: InstructionIndex) None¶
- Parameters:
function (MediumLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreMediumLevelILInstruction) –
instr_index (InstructionIndex) –
- Return type:
None
- property detailed_operands: List[Tuple[str, int | float | MediumLevelILOperationAndSize | MediumLevelILInstruction | ILIntrinsic | Variable | SSAVariable | List[int] | List[Variable] | List[SSAVariable] | List[MediumLevelILInstruction] | Dict[int, int] | ConstantData, str]]¶
Returns a list of tuples containing the name of the operand, the operand, and the type of the operand. Useful for iterating over all operands of an instruction and sub-instructions.
- expr_index: ExpressionIndex¶
- function: MediumLevelILFunction¶
- instr_index: InstructionIndex¶
- property src: List[MediumLevelILInstruction]¶
MediumLevelILCallSsa¶
- class MediumLevelILCallSsa[source]¶
Bases:
MediumLevelILCallBase,Localcall,SSAMediumLevelILCallSsa(function: ‘MediumLevelILFunction’, expr_index: <function NewType.<locals>.new_type at 0x1129439d0>, instr: binaryninja.mediumlevelil.CoreMediumLevelILInstruction, instr_index: <function NewType.<locals>.new_type at 0x111812ca0>)
- __init__(function: MediumLevelILFunction, expr_index: ExpressionIndex, instr: CoreMediumLevelILInstruction, instr_index: InstructionIndex) None¶
- Parameters:
function (MediumLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreMediumLevelILInstruction) –
instr_index (InstructionIndex) –
- Return type:
None
- property dest: MediumLevelILInstruction¶
- property detailed_operands: List[Tuple[str, int | float | MediumLevelILOperationAndSize | MediumLevelILInstruction | ILIntrinsic | Variable | SSAVariable | List[int] | List[Variable] | List[SSAVariable] | List[MediumLevelILInstruction] | Dict[int, int] | ConstantData, str]]¶
Returns a list of tuples containing the name of the operand, the operand, and the type of the operand. Useful for iterating over all operands of an instruction and sub-instructions.
- expr_index: ExpressionIndex¶
- function: MediumLevelILFunction¶
- instr_index: InstructionIndex¶
- property output: List[SSAVariable]¶
- property params: List[MediumLevelILInstruction]¶
MediumLevelILCallUntyped¶
- class MediumLevelILCallUntyped[source]¶
Bases:
MediumLevelILCallBase,LocalcallMediumLevelILCallUntyped(function: ‘MediumLevelILFunction’, expr_index: <function NewType.<locals>.new_type at 0x1129439d0>, instr: binaryninja.mediumlevelil.CoreMediumLevelILInstruction, instr_index: <function NewType.<locals>.new_type at 0x111812ca0>)
- __init__(function: MediumLevelILFunction, expr_index: ExpressionIndex, instr: CoreMediumLevelILInstruction, instr_index: InstructionIndex) None¶
- Parameters:
function (MediumLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreMediumLevelILInstruction) –
instr_index (InstructionIndex) –
- Return type:
None
- property dest: MediumLevelILInstruction¶
- property detailed_operands: List[Tuple[str, int | float | MediumLevelILOperationAndSize | MediumLevelILInstruction | ILIntrinsic | Variable | SSAVariable | List[int] | List[Variable] | List[SSAVariable] | List[MediumLevelILInstruction] | Dict[int, int] | ConstantData, str]]¶
Returns a list of tuples containing the name of the operand, the operand, and the type of the operand. Useful for iterating over all operands of an instruction and sub-instructions.
- expr_index: ExpressionIndex¶
- function: MediumLevelILFunction¶
- instr_index: InstructionIndex¶
- property params: List[MediumLevelILInstruction]¶
- property stack: MediumLevelILInstruction¶
MediumLevelILCallUntypedSsa¶
- class MediumLevelILCallUntypedSsa[source]¶
Bases:
MediumLevelILCallBase,Localcall,SSAMediumLevelILCallUntypedSsa(function: ‘MediumLevelILFunction’, expr_index: <function NewType.<locals>.new_type at 0x1129439d0>, instr: binaryninja.mediumlevelil.CoreMediumLevelILInstruction, instr_index: <function NewType.<locals>.new_type at 0x111812ca0>)
- __init__(function: MediumLevelILFunction, expr_index: ExpressionIndex, instr: CoreMediumLevelILInstruction, instr_index: InstructionIndex) None¶
- Parameters:
function (MediumLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreMediumLevelILInstruction) –
instr_index (InstructionIndex) –
- Return type:
None
- property dest: MediumLevelILInstruction¶
- property detailed_operands: List[Tuple[str, int | float | MediumLevelILOperationAndSize | MediumLevelILInstruction | ILIntrinsic | Variable | SSAVariable | List[int] | List[Variable] | List[SSAVariable] | List[MediumLevelILInstruction] | Dict[int, int] | ConstantData, str]]¶
Returns a list of tuples containing the name of the operand, the operand, and the type of the operand. Useful for iterating over all operands of an instruction and sub-instructions.
- expr_index: ExpressionIndex¶
- function: MediumLevelILFunction¶
- instr_index: InstructionIndex¶
- property output: List[SSAVariable]¶
- property params: List[MediumLevelILInstruction]¶
- property params_src_memory¶
- property stack: MediumLevelILInstruction¶
MediumLevelILCarryBase¶
- class MediumLevelILCarryBase[source]¶
Bases:
MediumLevelILInstruction,CarryMediumLevelILCarryBase(function: ‘MediumLevelILFunction’, expr_index: <function NewType.<locals>.new_type at 0x1129439d0>, instr: binaryninja.mediumlevelil.CoreMediumLevelILInstruction, instr_index: <function NewType.<locals>.new_type at 0x111812ca0>)
- __init__(function: MediumLevelILFunction, expr_index: ExpressionIndex, instr: CoreMediumLevelILInstruction, instr_index: InstructionIndex) None¶
- Parameters:
function (MediumLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreMediumLevelILInstruction) –
instr_index (InstructionIndex) –
- Return type:
None
- property carry: MediumLevelILInstruction¶
- property detailed_operands: List[Tuple[str, int | float | MediumLevelILOperationAndSize | MediumLevelILInstruction | ILIntrinsic | Variable | SSAVariable | List[int] | List[Variable] | List[SSAVariable] | List[MediumLevelILInstruction] | Dict[int, int] | ConstantData, str]]¶
Returns a list of tuples containing the name of the operand, the operand, and the type of the operand. Useful for iterating over all operands of an instruction and sub-instructions.
- expr_index: ExpressionIndex¶
- function: MediumLevelILFunction¶
- instr_index: InstructionIndex¶
- property left: MediumLevelILInstruction¶
- property right: MediumLevelILInstruction¶
MediumLevelILCeil¶
- class MediumLevelILCeil[source]¶
Bases:
MediumLevelILUnaryBase,Arithmetic,FloatingPointMediumLevelILCeil(function: ‘MediumLevelILFunction’, expr_index: <function NewType.<locals>.new_type at 0x1129439d0>, instr: binaryninja.mediumlevelil.CoreMediumLevelILInstruction, instr_index: <function NewType.<locals>.new_type at 0x111812ca0>)
- __init__(function: MediumLevelILFunction, expr_index: ExpressionIndex, instr: CoreMediumLevelILInstruction, instr_index: InstructionIndex) None¶
- Parameters:
function (MediumLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreMediumLevelILInstruction) –
instr_index (InstructionIndex) –
- Return type:
None
- expr_index: ExpressionIndex¶
- function: MediumLevelILFunction¶
- instr_index: InstructionIndex¶
MediumLevelILCmpE¶
- class MediumLevelILCmpE[source]¶
Bases:
MediumLevelILComparisonBaseMediumLevelILCmpE(function: ‘MediumLevelILFunction’, expr_index: <function NewType.<locals>.new_type at 0x1129439d0>, instr: binaryninja.mediumlevelil.CoreMediumLevelILInstruction, instr_index: <function NewType.<locals>.new_type at 0x111812ca0>)
- __init__(function: MediumLevelILFunction, expr_index: ExpressionIndex, instr: CoreMediumLevelILInstruction, instr_index: InstructionIndex) None¶
- Parameters:
function (MediumLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreMediumLevelILInstruction) –
instr_index (InstructionIndex) –
- Return type:
None
- expr_index: ExpressionIndex¶
- function: MediumLevelILFunction¶
- instr_index: InstructionIndex¶
MediumLevelILCmpNe¶
- class MediumLevelILCmpNe[source]¶
Bases:
MediumLevelILComparisonBaseMediumLevelILCmpNe(function: ‘MediumLevelILFunction’, expr_index: <function NewType.<locals>.new_type at 0x1129439d0>, instr: binaryninja.mediumlevelil.CoreMediumLevelILInstruction, instr_index: <function NewType.<locals>.new_type at 0x111812ca0>)
- __init__(function: MediumLevelILFunction, expr_index: ExpressionIndex, instr: CoreMediumLevelILInstruction, instr_index: InstructionIndex) None¶
- Parameters:
function (MediumLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreMediumLevelILInstruction) –
instr_index (InstructionIndex) –
- Return type:
None
- expr_index: ExpressionIndex¶
- function: MediumLevelILFunction¶
- instr_index: InstructionIndex¶
MediumLevelILCmpSge¶
- class MediumLevelILCmpSge[source]¶
Bases:
MediumLevelILComparisonBase,SignedMediumLevelILCmpSge(function: ‘MediumLevelILFunction’, expr_index: <function NewType.<locals>.new_type at 0x1129439d0>, instr: binaryninja.mediumlevelil.CoreMediumLevelILInstruction, instr_index: <function NewType.<locals>.new_type at 0x111812ca0>)
- __init__(function: MediumLevelILFunction, expr_index: ExpressionIndex, instr: CoreMediumLevelILInstruction, instr_index: InstructionIndex) None¶
- Parameters:
function (MediumLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreMediumLevelILInstruction) –
instr_index (InstructionIndex) –
- Return type:
None
- expr_index: ExpressionIndex¶
- function: MediumLevelILFunction¶
- instr_index: InstructionIndex¶
MediumLevelILCmpSgt¶
- class MediumLevelILCmpSgt[source]¶
Bases:
MediumLevelILComparisonBase,SignedMediumLevelILCmpSgt(function: ‘MediumLevelILFunction’, expr_index: <function NewType.<locals>.new_type at 0x1129439d0>, instr: binaryninja.mediumlevelil.CoreMediumLevelILInstruction, instr_index: <function NewType.<locals>.new_type at 0x111812ca0>)
- __init__(function: MediumLevelILFunction, expr_index: ExpressionIndex, instr: CoreMediumLevelILInstruction, instr_index: InstructionIndex) None¶
- Parameters:
function (MediumLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreMediumLevelILInstruction) –
instr_index (InstructionIndex) –
- Return type:
None
- expr_index: ExpressionIndex¶
- function: MediumLevelILFunction¶
- instr_index: InstructionIndex¶
MediumLevelILCmpSle¶
- class MediumLevelILCmpSle[source]¶
Bases:
MediumLevelILComparisonBase,SignedMediumLevelILCmpSle(function: ‘MediumLevelILFunction’, expr_index: <function NewType.<locals>.new_type at 0x1129439d0>, instr: binaryninja.mediumlevelil.CoreMediumLevelILInstruction, instr_index: <function NewType.<locals>.new_type at 0x111812ca0>)
- __init__(function: MediumLevelILFunction, expr_index: ExpressionIndex, instr: CoreMediumLevelILInstruction, instr_index: InstructionIndex) None¶
- Parameters:
function (MediumLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreMediumLevelILInstruction) –
instr_index (InstructionIndex) –
- Return type:
None
- expr_index: ExpressionIndex¶
- function: MediumLevelILFunction¶
- instr_index: InstructionIndex¶
MediumLevelILCmpSlt¶
- class MediumLevelILCmpSlt[source]¶
Bases:
MediumLevelILComparisonBase,SignedMediumLevelILCmpSlt(function: ‘MediumLevelILFunction’, expr_index: <function NewType.<locals>.new_type at 0x1129439d0>, instr: binaryninja.mediumlevelil.CoreMediumLevelILInstruction, instr_index: <function NewType.<locals>.new_type at 0x111812ca0>)
- __init__(function: MediumLevelILFunction, expr_index: ExpressionIndex, instr: CoreMediumLevelILInstruction, instr_index: InstructionIndex) None¶
- Parameters:
function (MediumLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreMediumLevelILInstruction) –
instr_index (InstructionIndex) –
- Return type:
None
- expr_index: ExpressionIndex¶
- function: MediumLevelILFunction¶
- instr_index: InstructionIndex¶
MediumLevelILCmpUge¶
- class MediumLevelILCmpUge[source]¶
Bases:
MediumLevelILComparisonBaseMediumLevelILCmpUge(function: ‘MediumLevelILFunction’, expr_index: <function NewType.<locals>.new_type at 0x1129439d0>, instr: binaryninja.mediumlevelil.CoreMediumLevelILInstruction, instr_index: <function NewType.<locals>.new_type at 0x111812ca0>)
- __init__(function: MediumLevelILFunction, expr_index: ExpressionIndex, instr: CoreMediumLevelILInstruction, instr_index: InstructionIndex) None¶
- Parameters:
function (MediumLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreMediumLevelILInstruction) –
instr_index (InstructionIndex) –
- Return type:
None
- expr_index: ExpressionIndex¶
- function: MediumLevelILFunction¶
- instr_index: InstructionIndex¶
MediumLevelILCmpUgt¶
- class MediumLevelILCmpUgt[source]¶
Bases:
MediumLevelILComparisonBaseMediumLevelILCmpUgt(function: ‘MediumLevelILFunction’, expr_index: <function NewType.<locals>.new_type at 0x1129439d0>, instr: binaryninja.mediumlevelil.CoreMediumLevelILInstruction, instr_index: <function NewType.<locals>.new_type at 0x111812ca0>)
- __init__(function: MediumLevelILFunction, expr_index: ExpressionIndex, instr: CoreMediumLevelILInstruction, instr_index: InstructionIndex) None¶
- Parameters:
function (MediumLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreMediumLevelILInstruction) –
instr_index (InstructionIndex) –
- Return type:
None
- expr_index: ExpressionIndex¶
- function: MediumLevelILFunction¶
- instr_index: InstructionIndex¶
MediumLevelILCmpUle¶
- class MediumLevelILCmpUle[source]¶
Bases:
MediumLevelILComparisonBaseMediumLevelILCmpUle(function: ‘MediumLevelILFunction’, expr_index: <function NewType.<locals>.new_type at 0x1129439d0>, instr: binaryninja.mediumlevelil.CoreMediumLevelILInstruction, instr_index: <function NewType.<locals>.new_type at 0x111812ca0>)
- __init__(function: MediumLevelILFunction, expr_index: ExpressionIndex, instr: CoreMediumLevelILInstruction, instr_index: InstructionIndex) None¶
- Parameters:
function (MediumLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreMediumLevelILInstruction) –
instr_index (InstructionIndex) –
- Return type:
None
- expr_index: ExpressionIndex¶
- function: MediumLevelILFunction¶
- instr_index: InstructionIndex¶
MediumLevelILCmpUlt¶
- class MediumLevelILCmpUlt[source]¶
Bases:
MediumLevelILComparisonBaseMediumLevelILCmpUlt(function: ‘MediumLevelILFunction’, expr_index: <function NewType.<locals>.new_type at 0x1129439d0>, instr: binaryninja.mediumlevelil.CoreMediumLevelILInstruction, instr_index: <function NewType.<locals>.new_type at 0x111812ca0>)
- __init__(function: MediumLevelILFunction, expr_index: ExpressionIndex, instr: CoreMediumLevelILInstruction, instr_index: InstructionIndex) None¶
- Parameters:
function (MediumLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreMediumLevelILInstruction) –
instr_index (InstructionIndex) –
- Return type:
None
- expr_index: ExpressionIndex¶
- function: MediumLevelILFunction¶
- instr_index: InstructionIndex¶
MediumLevelILComparisonBase¶
- class MediumLevelILComparisonBase[source]¶
Bases:
MediumLevelILBinaryBase,ComparisonMediumLevelILComparisonBase(function: ‘MediumLevelILFunction’, expr_index: <function NewType.<locals>.new_type at 0x1129439d0>, instr: binaryninja.mediumlevelil.CoreMediumLevelILInstruction, instr_index: <function NewType.<locals>.new_type at 0x111812ca0>)
- __init__(function: MediumLevelILFunction, expr_index: ExpressionIndex, instr: CoreMediumLevelILInstruction, instr_index: InstructionIndex) None¶
- Parameters:
function (MediumLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreMediumLevelILInstruction) –
instr_index (InstructionIndex) –
- Return type:
None
- expr_index: ExpressionIndex¶
- function: MediumLevelILFunction¶
- instr_index: InstructionIndex¶
MediumLevelILConst¶
- class MediumLevelILConst[source]¶
Bases:
MediumLevelILConstBaseMediumLevelILConst(function: ‘MediumLevelILFunction’, expr_index: <function NewType.<locals>.new_type at 0x1129439d0>, instr: binaryninja.mediumlevelil.CoreMediumLevelILInstruction, instr_index: <function NewType.<locals>.new_type at 0x111812ca0>)
- __init__(function: MediumLevelILFunction, expr_index: ExpressionIndex, instr: CoreMediumLevelILInstruction, instr_index: InstructionIndex) None¶
- Parameters:
function (MediumLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreMediumLevelILInstruction) –
instr_index (InstructionIndex) –
- Return type:
None
- property detailed_operands: List[Tuple[str, int | float | MediumLevelILOperationAndSize | MediumLevelILInstruction | ILIntrinsic | Variable | SSAVariable | List[int] | List[Variable] | List[SSAVariable] | List[MediumLevelILInstruction] | Dict[int, int] | ConstantData, str]]¶
Returns a list of tuples containing the name of the operand, the operand, and the type of the operand. Useful for iterating over all operands of an instruction and sub-instructions.
- expr_index: ExpressionIndex¶
- function: MediumLevelILFunction¶
- instr_index: InstructionIndex¶
MediumLevelILConstBase¶
- class MediumLevelILConstBase[source]¶
Bases:
MediumLevelILInstruction,ConstantMediumLevelILConstBase(function: ‘MediumLevelILFunction’, expr_index: <function NewType.<locals>.new_type at 0x1129439d0>, instr: binaryninja.mediumlevelil.CoreMediumLevelILInstruction, instr_index: <function NewType.<locals>.new_type at 0x111812ca0>)
- __init__(function: MediumLevelILFunction, expr_index: ExpressionIndex, instr: CoreMediumLevelILInstruction, instr_index: InstructionIndex) None¶
- Parameters:
function (MediumLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreMediumLevelILInstruction) –
instr_index (InstructionIndex) –
- Return type:
None
- expr_index: ExpressionIndex¶
- function: MediumLevelILFunction¶
- instr_index: InstructionIndex¶
MediumLevelILConstData¶
- class MediumLevelILConstData[source]¶
Bases:
MediumLevelILConstBaseMediumLevelILConstData(function: ‘MediumLevelILFunction’, expr_index: <function NewType.<locals>.new_type at 0x1129439d0>, instr: binaryninja.mediumlevelil.CoreMediumLevelILInstruction, instr_index: <function NewType.<locals>.new_type at 0x111812ca0>)
- __init__(function: MediumLevelILFunction, expr_index: ExpressionIndex, instr: CoreMediumLevelILInstruction, instr_index: InstructionIndex) None¶
- Parameters:
function (MediumLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreMediumLevelILInstruction) –
instr_index (InstructionIndex) –
- Return type:
None
- property constant: ConstantData¶
- property constant_data: ConstantData¶
- property detailed_operands: List[Tuple[str, int | float | MediumLevelILOperationAndSize | MediumLevelILInstruction | ILIntrinsic | Variable | SSAVariable | List[int] | List[Variable] | List[SSAVariable] | List[MediumLevelILInstruction] | Dict[int, int] | ConstantData, str]]¶
Returns a list of tuples containing the name of the operand, the operand, and the type of the operand. Useful for iterating over all operands of an instruction and sub-instructions.
- expr_index: ExpressionIndex¶
- function: MediumLevelILFunction¶
- instr_index: InstructionIndex¶
MediumLevelILConstPtr¶
- class MediumLevelILConstPtr[source]¶
Bases:
MediumLevelILConstBaseMediumLevelILConstPtr(function: ‘MediumLevelILFunction’, expr_index: <function NewType.<locals>.new_type at 0x1129439d0>, instr: binaryninja.mediumlevelil.CoreMediumLevelILInstruction, instr_index: <function NewType.<locals>.new_type at 0x111812ca0>)
- __init__(function: MediumLevelILFunction, expr_index: ExpressionIndex, instr: CoreMediumLevelILInstruction, instr_index: InstructionIndex) None¶
- Parameters:
function (MediumLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreMediumLevelILInstruction) –
instr_index (InstructionIndex) –
- Return type:
None
- property detailed_operands: List[Tuple[str, int | float | MediumLevelILOperationAndSize | MediumLevelILInstruction | ILIntrinsic | Variable | SSAVariable | List[int] | List[Variable] | List[SSAVariable] | List[MediumLevelILInstruction] | Dict[int, int] | ConstantData, str]]¶
Returns a list of tuples containing the name of the operand, the operand, and the type of the operand. Useful for iterating over all operands of an instruction and sub-instructions.
- expr_index: ExpressionIndex¶
- function: MediumLevelILFunction¶
- instr_index: InstructionIndex¶
- property string: Tuple[str, StringType] | None¶
MediumLevelILDivs¶
- class MediumLevelILDivs[source]¶
Bases:
MediumLevelILBinaryBase,Arithmetic,SignedMediumLevelILDivs(function: ‘MediumLevelILFunction’, expr_index: <function NewType.<locals>.new_type at 0x1129439d0>, instr: binaryninja.mediumlevelil.CoreMediumLevelILInstruction, instr_index: <function NewType.<locals>.new_type at 0x111812ca0>)
- __init__(function: MediumLevelILFunction, expr_index: ExpressionIndex, instr: CoreMediumLevelILInstruction, instr_index: InstructionIndex) None¶
- Parameters:
function (MediumLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreMediumLevelILInstruction) –
instr_index (InstructionIndex) –
- Return type:
None
- expr_index: ExpressionIndex¶
- function: MediumLevelILFunction¶
- instr_index: InstructionIndex¶
MediumLevelILDivsDp¶
- class MediumLevelILDivsDp[source]¶
Bases:
MediumLevelILBinaryBase,DoublePrecision,SignedMediumLevelILDivsDp(function: ‘MediumLevelILFunction’, expr_index: <function NewType.<locals>.new_type at 0x1129439d0>, instr: binaryninja.mediumlevelil.CoreMediumLevelILInstruction, instr_index: <function NewType.<locals>.new_type at 0x111812ca0>)
- __init__(function: MediumLevelILFunction, expr_index: ExpressionIndex, instr: CoreMediumLevelILInstruction, instr_index: InstructionIndex) None¶
- Parameters:
function (MediumLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreMediumLevelILInstruction) –
instr_index (InstructionIndex) –
- Return type:
None
- expr_index: ExpressionIndex¶
- function: MediumLevelILFunction¶
- instr_index: InstructionIndex¶
MediumLevelILDivu¶
- class MediumLevelILDivu[source]¶
Bases:
MediumLevelILBinaryBase,ArithmeticMediumLevelILDivu(function: ‘MediumLevelILFunction’, expr_index: <function NewType.<locals>.new_type at 0x1129439d0>, instr: binaryninja.mediumlevelil.CoreMediumLevelILInstruction, instr_index: <function NewType.<locals>.new_type at 0x111812ca0>)
- __init__(function: MediumLevelILFunction, expr_index: ExpressionIndex, instr: CoreMediumLevelILInstruction, instr_index: InstructionIndex) None¶
- Parameters:
function (MediumLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreMediumLevelILInstruction) –
instr_index (InstructionIndex) –
- Return type:
None
- expr_index: ExpressionIndex¶
- function: MediumLevelILFunction¶
- instr_index: InstructionIndex¶
MediumLevelILDivuDp¶
- class MediumLevelILDivuDp[source]¶
Bases:
MediumLevelILBinaryBase,DoublePrecisionMediumLevelILDivuDp(function: ‘MediumLevelILFunction’, expr_index: <function NewType.<locals>.new_type at 0x1129439d0>, instr: binaryninja.mediumlevelil.CoreMediumLevelILInstruction, instr_index: <function NewType.<locals>.new_type at 0x111812ca0>)
- __init__(function: MediumLevelILFunction, expr_index: ExpressionIndex, instr: CoreMediumLevelILInstruction, instr_index: InstructionIndex) None¶
- Parameters:
function (MediumLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreMediumLevelILInstruction) –
instr_index (InstructionIndex) –
- Return type:
None
- expr_index: ExpressionIndex¶
- function: MediumLevelILFunction¶
- instr_index: InstructionIndex¶
MediumLevelILExpr¶
MediumLevelILExternPtr¶
- class MediumLevelILExternPtr[source]¶
Bases:
MediumLevelILConstBaseMediumLevelILExternPtr(function: ‘MediumLevelILFunction’, expr_index: <function NewType.<locals>.new_type at 0x1129439d0>, instr: binaryninja.mediumlevelil.CoreMediumLevelILInstruction, instr_index: <function NewType.<locals>.new_type at 0x111812ca0>)
- __init__(function: MediumLevelILFunction, expr_index: ExpressionIndex, instr: CoreMediumLevelILInstruction, instr_index: InstructionIndex) None¶
- Parameters:
function (MediumLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreMediumLevelILInstruction) –
instr_index (InstructionIndex) –
- Return type:
None
- property detailed_operands: List[Tuple[str, int | float | MediumLevelILOperationAndSize | MediumLevelILInstruction | ILIntrinsic | Variable | SSAVariable | List[int] | List[Variable] | List[SSAVariable] | List[MediumLevelILInstruction] | Dict[int, int] | ConstantData, str]]¶
Returns a list of tuples containing the name of the operand, the operand, and the type of the operand. Useful for iterating over all operands of an instruction and sub-instructions.
- expr_index: ExpressionIndex¶
- function: MediumLevelILFunction¶
- instr_index: InstructionIndex¶
MediumLevelILFabs¶
- class MediumLevelILFabs[source]¶
Bases:
MediumLevelILUnaryBase,Arithmetic,FloatingPointMediumLevelILFabs(function: ‘MediumLevelILFunction’, expr_index: <function NewType.<locals>.new_type at 0x1129439d0>, instr: binaryninja.mediumlevelil.CoreMediumLevelILInstruction, instr_index: <function NewType.<locals>.new_type at 0x111812ca0>)
- __init__(function: MediumLevelILFunction, expr_index: ExpressionIndex, instr: CoreMediumLevelILInstruction, instr_index: InstructionIndex) None¶
- Parameters:
function (MediumLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreMediumLevelILInstruction) –
instr_index (InstructionIndex) –
- Return type:
None
- expr_index: ExpressionIndex¶
- function: MediumLevelILFunction¶
- instr_index: InstructionIndex¶
MediumLevelILFadd¶
- class MediumLevelILFadd[source]¶
Bases:
MediumLevelILBinaryBase,Arithmetic,FloatingPointMediumLevelILFadd(function: ‘MediumLevelILFunction’, expr_index: <function NewType.<locals>.new_type at 0x1129439d0>, instr: binaryninja.mediumlevelil.CoreMediumLevelILInstruction, instr_index: <function NewType.<locals>.new_type at 0x111812ca0>)
- __init__(function: MediumLevelILFunction, expr_index: ExpressionIndex, instr: CoreMediumLevelILInstruction, instr_index: InstructionIndex) None¶
- Parameters:
function (MediumLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreMediumLevelILInstruction) –
instr_index (InstructionIndex) –
- Return type:
None
- expr_index: ExpressionIndex¶
- function: MediumLevelILFunction¶
- instr_index: InstructionIndex¶
MediumLevelILFcmpE¶
- class MediumLevelILFcmpE[source]¶
Bases:
MediumLevelILComparisonBase,FloatingPointMediumLevelILFcmpE(function: ‘MediumLevelILFunction’, expr_index: <function NewType.<locals>.new_type at 0x1129439d0>, instr: binaryninja.mediumlevelil.CoreMediumLevelILInstruction, instr_index: <function NewType.<locals>.new_type at 0x111812ca0>)
- __init__(function: MediumLevelILFunction, expr_index: ExpressionIndex, instr: CoreMediumLevelILInstruction, instr_index: InstructionIndex) None¶
- Parameters:
function (MediumLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreMediumLevelILInstruction) –
instr_index (InstructionIndex) –
- Return type:
None
- expr_index: ExpressionIndex¶
- function: MediumLevelILFunction¶
- instr_index: InstructionIndex¶
MediumLevelILFcmpGe¶
- class MediumLevelILFcmpGe[source]¶
Bases:
MediumLevelILComparisonBase,FloatingPointMediumLevelILFcmpGe(function: ‘MediumLevelILFunction’, expr_index: <function NewType.<locals>.new_type at 0x1129439d0>, instr: binaryninja.mediumlevelil.CoreMediumLevelILInstruction, instr_index: <function NewType.<locals>.new_type at 0x111812ca0>)
- __init__(function: MediumLevelILFunction, expr_index: ExpressionIndex, instr: CoreMediumLevelILInstruction, instr_index: InstructionIndex) None¶
- Parameters:
function (MediumLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreMediumLevelILInstruction) –
instr_index (InstructionIndex) –
- Return type:
None
- expr_index: ExpressionIndex¶
- function: MediumLevelILFunction¶
- instr_index: InstructionIndex¶
MediumLevelILFcmpGt¶
- class MediumLevelILFcmpGt[source]¶
Bases:
MediumLevelILComparisonBase,FloatingPointMediumLevelILFcmpGt(function: ‘MediumLevelILFunction’, expr_index: <function NewType.<locals>.new_type at 0x1129439d0>, instr: binaryninja.mediumlevelil.CoreMediumLevelILInstruction, instr_index: <function NewType.<locals>.new_type at 0x111812ca0>)
- __init__(function: MediumLevelILFunction, expr_index: ExpressionIndex, instr: CoreMediumLevelILInstruction, instr_index: InstructionIndex) None¶
- Parameters:
function (MediumLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreMediumLevelILInstruction) –
instr_index (InstructionIndex) –
- Return type:
None
- expr_index: ExpressionIndex¶
- function: MediumLevelILFunction¶
- instr_index: InstructionIndex¶
MediumLevelILFcmpLe¶
- class MediumLevelILFcmpLe[source]¶
Bases:
MediumLevelILComparisonBase,FloatingPointMediumLevelILFcmpLe(function: ‘MediumLevelILFunction’, expr_index: <function NewType.<locals>.new_type at 0x1129439d0>, instr: binaryninja.mediumlevelil.CoreMediumLevelILInstruction, instr_index: <function NewType.<locals>.new_type at 0x111812ca0>)
- __init__(function: MediumLevelILFunction, expr_index: ExpressionIndex, instr: CoreMediumLevelILInstruction, instr_index: InstructionIndex) None¶
- Parameters:
function (MediumLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreMediumLevelILInstruction) –
instr_index (InstructionIndex) –
- Return type:
None
- expr_index: ExpressionIndex¶
- function: MediumLevelILFunction¶
- instr_index: InstructionIndex¶
MediumLevelILFcmpLt¶
- class MediumLevelILFcmpLt[source]¶
Bases:
MediumLevelILComparisonBase,FloatingPointMediumLevelILFcmpLt(function: ‘MediumLevelILFunction’, expr_index: <function NewType.<locals>.new_type at 0x1129439d0>, instr: binaryninja.mediumlevelil.CoreMediumLevelILInstruction, instr_index: <function NewType.<locals>.new_type at 0x111812ca0>)
- __init__(function: MediumLevelILFunction, expr_index: ExpressionIndex, instr: CoreMediumLevelILInstruction, instr_index: InstructionIndex) None¶
- Parameters:
function (MediumLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreMediumLevelILInstruction) –
instr_index (InstructionIndex) –
- Return type:
None
- expr_index: ExpressionIndex¶
- function: MediumLevelILFunction¶
- instr_index: InstructionIndex¶
MediumLevelILFcmpNe¶
- class MediumLevelILFcmpNe[source]¶
Bases:
MediumLevelILComparisonBase,FloatingPointMediumLevelILFcmpNe(function: ‘MediumLevelILFunction’, expr_index: <function NewType.<locals>.new_type at 0x1129439d0>, instr: binaryninja.mediumlevelil.CoreMediumLevelILInstruction, instr_index: <function NewType.<locals>.new_type at 0x111812ca0>)
- __init__(function: MediumLevelILFunction, expr_index: ExpressionIndex, instr: CoreMediumLevelILInstruction, instr_index: InstructionIndex) None¶
- Parameters:
function (MediumLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreMediumLevelILInstruction) –
instr_index (InstructionIndex) –
- Return type:
None
- expr_index: ExpressionIndex¶
- function: MediumLevelILFunction¶
- instr_index: InstructionIndex¶
MediumLevelILFcmpO¶
- class MediumLevelILFcmpO[source]¶
Bases:
MediumLevelILComparisonBase,FloatingPointMediumLevelILFcmpO(function: ‘MediumLevelILFunction’, expr_index: <function NewType.<locals>.new_type at 0x1129439d0>, instr: binaryninja.mediumlevelil.CoreMediumLevelILInstruction, instr_index: <function NewType.<locals>.new_type at 0x111812ca0>)
- __init__(function: MediumLevelILFunction, expr_index: ExpressionIndex, instr: CoreMediumLevelILInstruction, instr_index: InstructionIndex) None¶
- Parameters:
function (MediumLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreMediumLevelILInstruction) –
instr_index (InstructionIndex) –
- Return type:
None
- expr_index: ExpressionIndex¶
- function: MediumLevelILFunction¶
- instr_index: InstructionIndex¶
MediumLevelILFcmpUo¶
- class MediumLevelILFcmpUo[source]¶
Bases:
MediumLevelILComparisonBase,FloatingPointMediumLevelILFcmpUo(function: ‘MediumLevelILFunction’, expr_index: <function NewType.<locals>.new_type at 0x1129439d0>, instr: binaryninja.mediumlevelil.CoreMediumLevelILInstruction, instr_index: <function NewType.<locals>.new_type at 0x111812ca0>)
- __init__(function: MediumLevelILFunction, expr_index: ExpressionIndex, instr: CoreMediumLevelILInstruction, instr_index: InstructionIndex) None¶
- Parameters:
function (MediumLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreMediumLevelILInstruction) –
instr_index (InstructionIndex) –
- Return type:
None
- expr_index: ExpressionIndex¶
- function: MediumLevelILFunction¶
- instr_index: InstructionIndex¶
MediumLevelILFdiv¶
- class MediumLevelILFdiv[source]¶
Bases:
MediumLevelILBinaryBase,Arithmetic,FloatingPointMediumLevelILFdiv(function: ‘MediumLevelILFunction’, expr_index: <function NewType.<locals>.new_type at 0x1129439d0>, instr: binaryninja.mediumlevelil.CoreMediumLevelILInstruction, instr_index: <function NewType.<locals>.new_type at 0x111812ca0>)
- __init__(function: MediumLevelILFunction, expr_index: ExpressionIndex, instr: CoreMediumLevelILInstruction, instr_index: InstructionIndex) None¶
- Parameters:
function (MediumLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreMediumLevelILInstruction) –
instr_index (InstructionIndex) –
- Return type:
None
- expr_index: ExpressionIndex¶
- function: MediumLevelILFunction¶
- instr_index: InstructionIndex¶
MediumLevelILFloatConst¶
- class MediumLevelILFloatConst[source]¶
Bases:
MediumLevelILConstBase,FloatingPointMediumLevelILFloatConst(function: ‘MediumLevelILFunction’, expr_index: <function NewType.<locals>.new_type at 0x1129439d0>, instr: binaryninja.mediumlevelil.CoreMediumLevelILInstruction, instr_index: <function NewType.<locals>.new_type at 0x111812ca0>)
- __init__(function: MediumLevelILFunction, expr_index: ExpressionIndex, instr: CoreMediumLevelILInstruction, instr_index: InstructionIndex) None¶
- Parameters:
function (MediumLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreMediumLevelILInstruction) –
instr_index (InstructionIndex) –
- Return type:
None
- property detailed_operands: List[Tuple[str, int | float | MediumLevelILOperationAndSize | MediumLevelILInstruction | ILIntrinsic | Variable | SSAVariable | List[int] | List[Variable] | List[SSAVariable] | List[MediumLevelILInstruction] | Dict[int, int] | ConstantData, str]]¶
Returns a list of tuples containing the name of the operand, the operand, and the type of the operand. Useful for iterating over all operands of an instruction and sub-instructions.
- expr_index: ExpressionIndex¶
- function: MediumLevelILFunction¶
- instr_index: InstructionIndex¶
MediumLevelILFloatConv¶
- class MediumLevelILFloatConv[source]¶
Bases:
MediumLevelILUnaryBase,Arithmetic,FloatingPointMediumLevelILFloatConv(function: ‘MediumLevelILFunction’, expr_index: <function NewType.<locals>.new_type at 0x1129439d0>, instr: binaryninja.mediumlevelil.CoreMediumLevelILInstruction, instr_index: <function NewType.<locals>.new_type at 0x111812ca0>)
- __init__(function: MediumLevelILFunction, expr_index: ExpressionIndex, instr: CoreMediumLevelILInstruction, instr_index: InstructionIndex) None¶
- Parameters:
function (MediumLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreMediumLevelILInstruction) –
instr_index (InstructionIndex) –
- Return type:
None
- expr_index: ExpressionIndex¶
- function: MediumLevelILFunction¶
- instr_index: InstructionIndex¶
MediumLevelILFloatToInt¶
- class MediumLevelILFloatToInt[source]¶
Bases:
MediumLevelILUnaryBase,Arithmetic,FloatingPointMediumLevelILFloatToInt(function: ‘MediumLevelILFunction’, expr_index: <function NewType.<locals>.new_type at 0x1129439d0>, instr: binaryninja.mediumlevelil.CoreMediumLevelILInstruction, instr_index: <function NewType.<locals>.new_type at 0x111812ca0>)
- __init__(function: MediumLevelILFunction, expr_index: ExpressionIndex, instr: CoreMediumLevelILInstruction, instr_index: InstructionIndex) None¶
- Parameters:
function (MediumLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreMediumLevelILInstruction) –
instr_index (InstructionIndex) –
- Return type:
None
- expr_index: ExpressionIndex¶
- function: MediumLevelILFunction¶
- instr_index: InstructionIndex¶
MediumLevelILFloor¶
- class MediumLevelILFloor[source]¶
Bases:
MediumLevelILUnaryBase,Arithmetic,FloatingPointMediumLevelILFloor(function: ‘MediumLevelILFunction’, expr_index: <function NewType.<locals>.new_type at 0x1129439d0>, instr: binaryninja.mediumlevelil.CoreMediumLevelILInstruction, instr_index: <function NewType.<locals>.new_type at 0x111812ca0>)
- __init__(function: MediumLevelILFunction, expr_index: ExpressionIndex, instr: CoreMediumLevelILInstruction, instr_index: InstructionIndex) None¶
- Parameters:
function (MediumLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreMediumLevelILInstruction) –
instr_index (InstructionIndex) –
- Return type:
None
- expr_index: ExpressionIndex¶
- function: MediumLevelILFunction¶
- instr_index: InstructionIndex¶
MediumLevelILFmul¶
- class MediumLevelILFmul[source]¶
Bases:
MediumLevelILBinaryBase,Arithmetic,FloatingPointMediumLevelILFmul(function: ‘MediumLevelILFunction’, expr_index: <function NewType.<locals>.new_type at 0x1129439d0>, instr: binaryninja.mediumlevelil.CoreMediumLevelILInstruction, instr_index: <function NewType.<locals>.new_type at 0x111812ca0>)
- __init__(function: MediumLevelILFunction, expr_index: ExpressionIndex, instr: CoreMediumLevelILInstruction, instr_index: InstructionIndex) None¶
- Parameters:
function (MediumLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreMediumLevelILInstruction) –
instr_index (InstructionIndex) –
- Return type:
None
- expr_index: ExpressionIndex¶
- function: MediumLevelILFunction¶
- instr_index: InstructionIndex¶
MediumLevelILFneg¶
- class MediumLevelILFneg[source]¶
Bases:
MediumLevelILUnaryBase,Arithmetic,FloatingPointMediumLevelILFneg(function: ‘MediumLevelILFunction’, expr_index: <function NewType.<locals>.new_type at 0x1129439d0>, instr: binaryninja.mediumlevelil.CoreMediumLevelILInstruction, instr_index: <function NewType.<locals>.new_type at 0x111812ca0>)
- __init__(function: MediumLevelILFunction, expr_index: ExpressionIndex, instr: CoreMediumLevelILInstruction, instr_index: InstructionIndex) None¶
- Parameters:
function (MediumLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreMediumLevelILInstruction) –
instr_index (InstructionIndex) –
- Return type:
None
- expr_index: ExpressionIndex¶
- function: MediumLevelILFunction¶
- instr_index: InstructionIndex¶
MediumLevelILForceVer¶
- class MediumLevelILForceVer[source]¶
Bases:
MediumLevelILInstructionMediumLevelILForceVer(function: ‘MediumLevelILFunction’, expr_index: <function NewType.<locals>.new_type at 0x1129439d0>, instr: binaryninja.mediumlevelil.CoreMediumLevelILInstruction, instr_index: <function NewType.<locals>.new_type at 0x111812ca0>)
- __init__(function: MediumLevelILFunction, expr_index: ExpressionIndex, instr: CoreMediumLevelILInstruction, instr_index: InstructionIndex) None¶
- Parameters:
function (MediumLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreMediumLevelILInstruction) –
instr_index (InstructionIndex) –
- Return type:
None
- expr_index: ExpressionIndex¶
- function: MediumLevelILFunction¶
- instr_index: InstructionIndex¶
MediumLevelILForceVerSsa¶
- class MediumLevelILForceVerSsa[source]¶
Bases:
MediumLevelILInstruction,SSAMediumLevelILForceVerSsa(function: ‘MediumLevelILFunction’, expr_index: <function NewType.<locals>.new_type at 0x1129439d0>, instr: binaryninja.mediumlevelil.CoreMediumLevelILInstruction, instr_index: <function NewType.<locals>.new_type at 0x111812ca0>)
- __init__(function: MediumLevelILFunction, expr_index: ExpressionIndex, instr: CoreMediumLevelILInstruction, instr_index: InstructionIndex) None¶
- Parameters:
function (MediumLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreMediumLevelILInstruction) –
instr_index (InstructionIndex) –
- Return type:
None
- property dest: SSAVariable¶
- expr_index: ExpressionIndex¶
- function: MediumLevelILFunction¶
- instr_index: InstructionIndex¶
- property src: SSAVariable¶
MediumLevelILFreeVarSlot¶
- class MediumLevelILFreeVarSlot[source]¶
Bases:
MediumLevelILInstruction,RegisterStackMediumLevelILFreeVarSlot(function: ‘MediumLevelILFunction’, expr_index: <function NewType.<locals>.new_type at 0x1129439d0>, instr: binaryninja.mediumlevelil.CoreMediumLevelILInstruction, instr_index: <function NewType.<locals>.new_type at 0x111812ca0>)
- __init__(function: MediumLevelILFunction, expr_index: ExpressionIndex, instr: CoreMediumLevelILInstruction, instr_index: InstructionIndex) None¶
- Parameters:
function (MediumLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreMediumLevelILInstruction) –
instr_index (InstructionIndex) –
- Return type:
None
- property detailed_operands: List[Tuple[str, int | float | MediumLevelILOperationAndSize | MediumLevelILInstruction | ILIntrinsic | Variable | SSAVariable | List[int] | List[Variable] | List[SSAVariable] | List[MediumLevelILInstruction] | Dict[int, int] | ConstantData, str]]¶
Returns a list of tuples containing the name of the operand, the operand, and the type of the operand. Useful for iterating over all operands of an instruction and sub-instructions.
- expr_index: ExpressionIndex¶
- function: MediumLevelILFunction¶
- instr_index: InstructionIndex¶
MediumLevelILFreeVarSlotSsa¶
- class MediumLevelILFreeVarSlotSsa[source]¶
Bases:
MediumLevelILInstruction,SSA,RegisterStackMediumLevelILFreeVarSlotSsa(function: ‘MediumLevelILFunction’, expr_index: <function NewType.<locals>.new_type at 0x1129439d0>, instr: binaryninja.mediumlevelil.CoreMediumLevelILInstruction, instr_index: <function NewType.<locals>.new_type at 0x111812ca0>)
- __init__(function: MediumLevelILFunction, expr_index: ExpressionIndex, instr: CoreMediumLevelILInstruction, instr_index: InstructionIndex) None¶
- Parameters:
function (MediumLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreMediumLevelILInstruction) –
instr_index (InstructionIndex) –
- Return type:
None
- property dest: SSAVariable¶
- property detailed_operands: List[Tuple[str, int | float | MediumLevelILOperationAndSize | MediumLevelILInstruction | ILIntrinsic | Variable | SSAVariable | List[int] | List[Variable] | List[SSAVariable] | List[MediumLevelILInstruction] | Dict[int, int] | ConstantData, str]]¶
Returns a list of tuples containing the name of the operand, the operand, and the type of the operand. Useful for iterating over all operands of an instruction and sub-instructions.
- expr_index: ExpressionIndex¶
- function: MediumLevelILFunction¶
- instr_index: InstructionIndex¶
- property prev: SSAVariable¶
MediumLevelILFsqrt¶
- class MediumLevelILFsqrt[source]¶
Bases:
MediumLevelILUnaryBase,Arithmetic,FloatingPointMediumLevelILFsqrt(function: ‘MediumLevelILFunction’, expr_index: <function NewType.<locals>.new_type at 0x1129439d0>, instr: binaryninja.mediumlevelil.CoreMediumLevelILInstruction, instr_index: <function NewType.<locals>.new_type at 0x111812ca0>)
- __init__(function: MediumLevelILFunction, expr_index: ExpressionIndex, instr: CoreMediumLevelILInstruction, instr_index: InstructionIndex) None¶
- Parameters:
function (MediumLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreMediumLevelILInstruction) –
instr_index (InstructionIndex) –
- Return type:
None
- expr_index: ExpressionIndex¶
- function: MediumLevelILFunction¶
- instr_index: InstructionIndex¶
MediumLevelILFsub¶
- class MediumLevelILFsub[source]¶
Bases:
MediumLevelILBinaryBase,Arithmetic,FloatingPointMediumLevelILFsub(function: ‘MediumLevelILFunction’, expr_index: <function NewType.<locals>.new_type at 0x1129439d0>, instr: binaryninja.mediumlevelil.CoreMediumLevelILInstruction, instr_index: <function NewType.<locals>.new_type at 0x111812ca0>)
- __init__(function: MediumLevelILFunction, expr_index: ExpressionIndex, instr: CoreMediumLevelILInstruction, instr_index: InstructionIndex) None¶
- Parameters:
function (MediumLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreMediumLevelILInstruction) –
instr_index (InstructionIndex) –
- Return type:
None
- expr_index: ExpressionIndex¶
- function: MediumLevelILFunction¶
- instr_index: InstructionIndex¶
MediumLevelILFtrunc¶
- class MediumLevelILFtrunc[source]¶
Bases:
MediumLevelILUnaryBase,Arithmetic,FloatingPointMediumLevelILFtrunc(function: ‘MediumLevelILFunction’, expr_index: <function NewType.<locals>.new_type at 0x1129439d0>, instr: binaryninja.mediumlevelil.CoreMediumLevelILInstruction, instr_index: <function NewType.<locals>.new_type at 0x111812ca0>)
- __init__(function: MediumLevelILFunction, expr_index: ExpressionIndex, instr: CoreMediumLevelILInstruction, instr_index: InstructionIndex) None¶
- Parameters:
function (MediumLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreMediumLevelILInstruction) –
instr_index (InstructionIndex) –
- Return type:
None
- expr_index: ExpressionIndex¶
- function: MediumLevelILFunction¶
- instr_index: InstructionIndex¶
MediumLevelILFunction¶
- class MediumLevelILFunction[source]¶
Bases:
objectclass MediumLevelILFunctioncontains the list of ExpressionIndex objects that make up a function. ExpressionIndex objects can be added to the MediumLevelILFunction by callingappendand passing the result of the various class methods which return ExpressionIndex objects.- __init__(arch: Architecture | None = None, handle: BNMediumLevelILFunction | None = None, source_func: Function | None = None, low_level_il: LowLevelILFunction | None = None)[source]¶
- Parameters:
arch (Architecture | None) –
handle (BNMediumLevelILFunction | None) –
source_func (Function | None) –
low_level_il (LowLevelILFunction | None) –
- add(size: int, a: ExpressionIndex, b: ExpressionIndex, loc: ILSourceLocation | None = None) ExpressionIndex[source]¶
addadds expressionato expressionbreturning an expression ofsizebytes- Parameters:
size (int) – the size of the result in bytes
a (ExpressionIndex) – LHS expression
b (ExpressionIndex) – RHS expression
loc (ILSourceLocation) – location of returned expression
- Returns:
The expression
add.<size>(a, b)- Return type:
ExpressionIndex
- add_carry(size: int, a: ExpressionIndex, b: ExpressionIndex, carry: ExpressionIndex, loc: ILSourceLocation | None = None) ExpressionIndex[source]¶
add_carryadds expressionato expressionbwith carry fromcarryreturning an expression ofsizebytes- Parameters:
size (int) – the size of the result in bytes
a (ExpressionIndex) – LHS expression
b (ExpressionIndex) – RHS expression
carry (ExpressionIndex) – Carried value expression
loc (ILSourceLocation) – location of returned expression
- Returns:
The expression
adc.<size>(a, b, carry)- Return type:
ExpressionIndex
- add_label_map(labels: Mapping[int, MediumLevelILLabel]) ExpressionIndex[source]¶
add_label_mapreturns 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_listreturns an operand list expression for the given list of integer operands.
- add_variable_list(vars: List[Variable]) ExpressionIndex[source]¶
add_variable_listreturns a variable list expression for the given list of variables.
- address_of(var: Variable, loc: ILSourceLocation | None = None) ExpressionIndex[source]¶
address_oftakes the address ofvar- Parameters:
var (Variable) – the variable having its address taken
loc (ILSourceLocation) – location of returned expression
- Returns:
The expression
&var- Return type:
ExpressionIndex
- address_of_field(var: Variable, offset: int, loc: ILSourceLocation | None = None) ExpressionIndex[source]¶
address_of_fieldtakes the address ofvarat the offsetoffset- Parameters:
var (Variable) – the variable having its address taken
offset (int) – the offset of the taken address
loc (ILSourceLocation) – location of returned expression
- Returns:
The expression
&var:offset- Return type:
ExpressionIndex
- and_expr(size: int, a: ExpressionIndex, b: ExpressionIndex, loc: ILSourceLocation | None = None) ExpressionIndex[source]¶
and_exprbitwise and’s expressionaand expressionbreturning an expression ofsizebytes- Parameters:
size (int) – the size of the result in bytes
a (ExpressionIndex) – LHS expression
b (ExpressionIndex) – RHS expression
loc (ILSourceLocation) – location of returned expression
- Returns:
The expression
and.<size>(a, b)- Return type:
ExpressionIndex
- append(expr: ExpressionIndex, source_location: ILSourceLocation | None = None) InstructionIndex[source]¶
appendadds the ExpressionIndexexprto the current MediumLevelILFunction.- Parameters:
expr (ExpressionIndex) – the ExpressionIndex to add to the current MediumLevelILFunction
source_location (ILSourceLocation) – Optional source location for the instruction
- Returns:
Index of added instruction in the current function
- Return type:
- arith_shift_right(size: int, a: ExpressionIndex, b: ExpressionIndex, loc: ILSourceLocation | None = None) ExpressionIndex[source]¶
arith_shift_rightarithmetically right shifts expressionaby expressionbreturning an expression ofsizebytes- Parameters:
size (int) – the size of the result in bytes
a (ExpressionIndex) – LHS expression
b (ExpressionIndex) – RHS expression
loc (ILSourceLocation) – location of returned expression
- Returns:
The expression
asr.<size>(a, b)- Return type:
ExpressionIndex
- assert_expr(size: int, src: Variable, constraint: PossibleValueSet, loc: ILSourceLocation | None = None) ExpressionIndex[source]¶
assert_exprassertconstraintis the value of the given variablesrc. Used when setting user variable values.- Parameters:
size (int) – size of value in the constraint
src (Variable) – variable to constrain
constraint (PossibleValueSet) – asserted value of variable
loc (ILSourceLocation) – location of returned expression
- Returns:
The expression
ASSERT(src, constraint)- Return type:
ExpressionIndex
- bool_to_int(size: int, a: ExpressionIndex, loc: ILSourceLocation | None = None) ExpressionIndex[source]¶
bool_to_intreturns an expression of sizesizeconverting the boolean expressionato an integer- Parameters:
size (int) – size in bytes
a (ExpressionIndex) – boolean expression to be converted
loc (ILSourceLocation) – location of returned expression
- Returns:
the converted integer expression.
- Return type:
ExpressionIndex
- breakpoint(loc: ILSourceLocation | None = None) ExpressionIndex[source]¶
breakpointreturns a processor breakpoint expression.- Parameters:
loc (ILSourceLocation) – location of returned expression
- Returns:
a breakpoint expression.
- Return type:
ExpressionIndex
- cache_possible_value_set(pvs: PossibleValueSet) int[source]¶
Cache a PossibleValueSet in the IL function, returning its index for use in an expression operand :param pvs: PossibleValueSet to cache :return: Index of the PossibleValueSet in the cache
- Parameters:
pvs (PossibleValueSet) –
- Return type:
- call(output: List[Variable], dest: ExpressionIndex, params: List[ExpressionIndex], loc: ILSourceLocation | None = None) ExpressionIndex[source]¶
callreturns an expression which calls the function in the expressiondestwith the parameters defined inparamsreturning values in the variables inoutput.- Parameters:
output (List['variable.Variable']) – output variables
dest (ExpressionIndex) – the expression to call
params (List[ExpressionIndex]) – parameter variables
loc (ILSourceLocation) – location of returned expression
- Returns:
The expression
output = call(dest, params...)- Return type:
ExpressionIndex
- call_untyped(output: List[Variable], dest: ExpressionIndex, params: List[ExpressionIndex], stack: ExpressionIndex, loc: ILSourceLocation | None = None) ExpressionIndex[source]¶
call_untypedreturns an expression which calls the function in the expressiondestwith the parameters defined inparamsreturning values in the variables inoutputwhere stack resolution could not be determined and the top of the stack has to be specified instack- Parameters:
output (List['variable.Variable']) – output variables
dest (ExpressionIndex) – the expression to call
params (List[ExpressionIndex]) – parameter variables
stack (ExpressionIndex) – expression of top of stack
loc (ILSourceLocation) – location of returned expression
- Returns:
The expression
output = call(dest, params..., stack = stack)- Return type:
ExpressionIndex
- ceil(size: int, value: ExpressionIndex, loc: ILSourceLocation | None = None) ExpressionIndex[source]¶
ceilrounds a floating point value to an integer towards positive infinity- Parameters:
size (int) – the size of the result in bytes
value (ExpressionIndex) – the expression to round up
loc (ILSourceLocation) – location of returned expression
- Returns:
The expression
roundint.<size>(value)- Return type:
ExpressionIndex
- compare_equal(size: int, a: ExpressionIndex, b: ExpressionIndex, loc: ILSourceLocation | None = None) ExpressionIndex[source]¶
compare_equalreturns comparison expression of sizesizechecking if expressionais equal to expressionb- Parameters:
size (int) – size in bytes
a (ExpressionIndex) – LHS of comparison
b (ExpressionIndex) – RHS of comparison
loc (ILSourceLocation) – location of returned expression
- Returns:
a comparison expression.
- Return type:
ExpressionIndex
- compare_not_equal(size: int, a: ExpressionIndex, b: ExpressionIndex, loc: ILSourceLocation | None = None) ExpressionIndex[source]¶
compare_not_equalreturns comparison expression of sizesizechecking if expressionais not equal to expressionb- Parameters:
size (int) – size in bytes
a (ExpressionIndex) – LHS of comparison
b (ExpressionIndex) – RHS of comparison
loc (ILSourceLocation) – location of returned expression
- Returns:
a comparison expression.
- Return type:
ExpressionIndex
- compare_signed_greater_equal(size: int, a: ExpressionIndex, b: ExpressionIndex, loc: ILSourceLocation | None = None) ExpressionIndex[source]¶
compare_signed_greater_equalreturns comparison expression of sizesizechecking if expressionais signed greater than or equal to expressionb- Parameters:
size (int) – size in bytes
a (ExpressionIndex) – LHS of comparison
b (ExpressionIndex) – RHS of comparison
loc (ILSourceLocation) – location of returned expression
- Returns:
a comparison expression.
- Return type:
ExpressionIndex
- compare_signed_greater_than(size: int, a: ExpressionIndex, b: ExpressionIndex, loc: ILSourceLocation | None = None) ExpressionIndex[source]¶
compare_signed_greater_thanreturns comparison expression of sizesizechecking if expressionais signed greater than or equal to expressionb- Parameters:
size (int) – size in bytes
a (ExpressionIndex) – LHS of comparison
b (ExpressionIndex) – RHS of comparison
loc (ILSourceLocation) – location of returned expression
- Returns:
a comparison expression.
- Return type:
ExpressionIndex
- compare_signed_less_equal(size: int, a: ExpressionIndex, b: ExpressionIndex, loc: ILSourceLocation | None = None) ExpressionIndex[source]¶
compare_signed_less_equalreturns comparison expression of sizesizechecking if expressionais signed less than or equal to expressionb- Parameters:
size (int) – size in bytes
a (ExpressionIndex) – LHS of comparison
b (ExpressionIndex) – RHS of comparison
loc (ILSourceLocation) – location of returned expression
- Returns:
a comparison expression.
- Return type:
ExpressionIndex
- compare_signed_less_than(size: int, a: ExpressionIndex, b: ExpressionIndex, loc: ILSourceLocation | None = None) ExpressionIndex[source]¶
compare_signed_less_thanreturns comparison expression of sizesizechecking if expressionais signed less than expressionb- Parameters:
size (int) – size in bytes
a (ExpressionIndex) – LHS of comparison
b (ExpressionIndex) – RHS of comparison
loc (ILSourceLocation) – location of returned expression
- Returns:
a comparison expression.
- Return type:
ExpressionIndex
- compare_unsigned_greater_equal(size: int, a: ExpressionIndex, b: ExpressionIndex, loc: ILSourceLocation | None = None) ExpressionIndex[source]¶
compare_unsigned_greater_equalreturns comparison expression of sizesizechecking if expressionais unsigned greater than or equal to expressionb- Parameters:
size (int) – size in bytes
a (ExpressionIndex) – LHS of comparison
b (ExpressionIndex) – RHS of comparison
loc (ILSourceLocation) – location of returned expression
- Returns:
a comparison expression.
- Return type:
ExpressionIndex
- compare_unsigned_greater_than(size: int, a: ExpressionIndex, b: ExpressionIndex, loc: ILSourceLocation | None = None) ExpressionIndex[source]¶
compare_unsigned_greater_thanreturns comparison expression of sizesizechecking if expressionais unsigned greater than or equal to expressionb- Parameters:
size (int) – size in bytes
a (ExpressionIndex) – LHS of comparison
b (ExpressionIndex) – RHS of comparison
loc (ILSourceLocation) – location of returned expression
- Returns:
a comparison expression.
- Return type:
ExpressionIndex
- compare_unsigned_less_equal(size: int, a: ExpressionIndex, b: ExpressionIndex, loc: ILSourceLocation | None = None) ExpressionIndex[source]¶
compare_unsigned_less_equalreturns comparison expression of sizesizechecking if expressionais unsigned less than or equal to expressionb- Parameters:
size (int) – size in bytes
a (ExpressionIndex) – LHS of comparison
b (ExpressionIndex) – RHS of comparison
loc (ILSourceLocation) – location of returned expression
- Returns:
a comparison expression.
- Return type:
ExpressionIndex
- compare_unsigned_less_than(size: int, a: ExpressionIndex, b: ExpressionIndex, loc: ILSourceLocation | None = None) ExpressionIndex[source]¶
compare_unsigned_less_thanreturns comparison expression of sizesizechecking if expressionais unsigned less than expressionb- Parameters:
size (int) – size in bytes
a (ExpressionIndex) – LHS of comparison
b (ExpressionIndex) – RHS of comparison
loc (ILSourceLocation) – location of returned expression
- Returns:
a comparison expression.
- Return type:
ExpressionIndex
- const(size: int, value: int, loc: ILSourceLocation | None = None) ExpressionIndex[source]¶
constreturns an expression for the constant integervalueof sizesize- Parameters:
size (int) – the size of the constant in bytes
value (int) – integer value of the constant
loc (ILSourceLocation) – location of returned expression
- Returns:
A constant expression of given value and size
- Return type:
ExpressionIndex
- const_data(size: int, data: ConstantData, loc: ILSourceLocation | None = None) ExpressionIndex[source]¶
const_datareturns an expression for the constant datadata- Parameters:
size (int) – size of the data
data (ConstantData) – value of the data
loc (ILSourceLocation) – location of returned expression
- Returns:
A constant expression of given value and size
- Return type:
ExpressionIndex
- const_pointer(size: int, value: int, loc: ILSourceLocation | None = None) ExpressionIndex[source]¶
const_pointerreturns an expression for the constant pointervalueof sizesize- Parameters:
size (int) – the size of the pointer in bytes
value (int) – address referenced by the pointer
loc (ILSourceLocation) – location of returned expression
- Returns:
A constant expression of given value and size
- Return type:
ExpressionIndex
- copy_expr(original: MediumLevelILInstruction) ExpressionIndex[source]¶
copy_exprmakes a shallow copy of the given IL expression, adding a new expression to the IL function.Warning
The copy will not copy any child expressions, but will instead reference them as well (by expression index). This means that you cannot use this function to copy an expression tree to another function. If you want to copy an expression tree, you should use
MediumLevelILFunction.copy_expr_to. Metadata such as expression type and attributes are also not copied.- Parameters:
original (MediumLevelILInstruction) – the original IL Instruction you want to copy
- Returns:
The index of the newly copied expression
- Return type:
ExpressionIndex
- copy_expr_to(expr: MediumLevelILInstruction, dest: MediumLevelILFunction, sub_expr_handler: Callable[[MediumLevelILInstruction], ExpressionIndex] | None = None) ExpressionIndex[source]¶
copy_expr_todeep copies an expression from this function into a target function If provided, the functionsub_expr_handlerwill be called on every copied sub-expressionWarning
This function should ONLY be called as a part of a lifter or workflow. It will otherwise not do anything useful as analysis will not be running.
- Parameters:
expr (MediumLevelILInstruction) – Expression in this function to copy
dest (MediumLevelILFunction) – Function to copy the expression to
sub_expr_handler (Callable[[MediumLevelILInstruction], ExpressionIndex] | None) – Optional function to call on every copied sub-expression
- Returns:
Index of the copied expression in the target function
- Return type:
ExpressionIndex
- create_graph(settings: DisassemblySettings | None = None) CoreFlowGraph[source]¶
- Parameters:
settings (DisassemblySettings | None) –
- Return type:
- create_graph_immediate(settings: DisassemblySettings | None = None) CoreFlowGraph[source]¶
- Parameters:
settings (DisassemblySettings | None) –
- Return type:
- div_double_prec_signed(size: int, a: ExpressionIndex, b: ExpressionIndex, loc: ILSourceLocation | None = None) ExpressionIndex[source]¶
div_double_prec_signedsigned divides double precision expressionaby expressionband returns an expression. The first operand is of size2*sizebytes and the other operand and return value are of sizesizebytes.- Parameters:
size (int) – the size of the result and input operands, in bytes
a (ExpressionIndex) – LHS expression
b (ExpressionIndex) – RHS expression
loc (ILSourceLocation) – location of returned expression
- Returns:
The expression
divs.dp.<size>(a, b)- Return type:
ExpressionIndex
- div_double_prec_unsigned(size: int, a: ExpressionIndex, b: ExpressionIndex, loc: ILSourceLocation | None = None) ExpressionIndex[source]¶
div_double_prec_unsignedunsigned divides double precision expressionaby expressionband returns an expression. The first operand is of size2*sizebytes and the other operand and return value are of sizesizebytes.- Parameters:
size (int) – the size of the result and input operands, in bytes
a (ExpressionIndex) – LHS expression
b (ExpressionIndex) – RHS expression
loc (ILSourceLocation) – location of returned expression
- Returns:
The expression
divu.dp.<size>(a, b)- Return type:
ExpressionIndex
- div_signed(size: int, a: ExpressionIndex, b: ExpressionIndex, loc: ILSourceLocation | None = None) ExpressionIndex[source]¶
div_signedsigned divides expressionaby expressionband returns an expression. Both the operands and return value aresizebytes.- Parameters:
size (int) – the size of the result and input operands, in bytes
a (ExpressionIndex) – LHS expression
b (ExpressionIndex) – RHS expression
loc (ILSourceLocation) – location of returned expression
- Returns:
The expression
divs.<size>(a, b)- Return type:
ExpressionIndex
- div_unsigned(size: int, a: ExpressionIndex, b: ExpressionIndex, loc: ILSourceLocation | None = None) ExpressionIndex[source]¶
div_unsignedunsigned divides expressionaby expressionband returns an expression. Both the operands and return value aresizebytes.- Parameters:
size (int) – the size of the result and input operands, in bytes
a (ExpressionIndex) – LHS expression
b (ExpressionIndex) – RHS expression
loc (ILSourceLocation) – location of returned expression
- Returns:
The expression
divu.<size>(a, b)- Return type:
ExpressionIndex
- expr(operation: MediumLevelILOperation, a: int = 0, b: int = 0, c: int = 0, d: int = 0, e: int = 0, size: int = 0, source_location: ILSourceLocation | None = None) ExpressionIndex[source]¶
- Parameters:
operation (MediumLevelILOperation) –
a (int) –
b (int) –
c (int) –
d (int) –
e (int) –
size (int) –
source_location (ILSourceLocation | None) –
- Return type:
ExpressionIndex
- extern_pointer(size: int, value: int, offset: int, loc: ILSourceLocation | None = None) ExpressionIndex[source]¶
extern_pointerreturns an expression for the external pointervalueat offsetoffsetof sizesize- Parameters:
size (int) – the size of the pointer in bytes
value (int) – address referenced by the pointer
offset (int) – offset applied to the address
loc (ILSourceLocation | None) – location of returned expression
- Returns:
A constant expression of given value and size
- Return type:
ExpressionIndex
- finalize() None[source]¶
finalizeends the function and computes the list of basic blocks.- Return type:
None
- float_abs(size: int, value: ExpressionIndex, loc: ILSourceLocation | None = None) ExpressionIndex[source]¶
float_absreturns absolute value of floating point expressionvalueof sizesize- Parameters:
size (int) – the size of the result in bytes
value (ExpressionIndex) – the expression to get the absolute value of
loc (ILSourceLocation) – location of returned expression
- Returns:
The expression
fabs.<size>(value)- Return type:
ExpressionIndex
- float_add(size: int, a: ExpressionIndex, b: ExpressionIndex, loc: ILSourceLocation | None = None) ExpressionIndex[source]¶
float_addadds floating point expressionato expressionband returning an expression ofsizebytes.- Parameters:
size (int) – the size of the result in bytes
a (ExpressionIndex) – LHS expression
b (ExpressionIndex) – RHS expression
loc (ILSourceLocation) – location of returned expression
- Returns:
The expression
fadd.<size>(a, b)- Return type:
ExpressionIndex
- float_compare_equal(size: int, a: ExpressionIndex, b: ExpressionIndex, loc: ILSourceLocation | None = None) ExpressionIndex[source]¶
float_compare_equalreturns floating point comparison expression of sizesizechecking if expressionais equal to expressionb- Parameters:
size (int) – the size of the operands in bytes
a (ExpressionIndex) – LHS expression
b (ExpressionIndex) – RHS expression
loc (ILSourceLocation) – location of returned expression
- Returns:
The expression
a f== b- Return type:
ExpressionIndex
- float_compare_greater_equal(size: int, a: ExpressionIndex, b: ExpressionIndex, loc: ILSourceLocation | None = None) ExpressionIndex[source]¶
float_compare_greater_equalreturns floating point comparison expression of sizesizechecking if expressionais greater than or equal to expressionb- Parameters:
size (int) – the size of the operands in bytes
a (ExpressionIndex) – LHS expression
b (ExpressionIndex) – RHS expression
loc (ILSourceLocation) – location of returned expression
- Returns:
The expression
a f>= b- Return type:
ExpressionIndex
- float_compare_greater_than(size: int, a: ExpressionIndex, b: ExpressionIndex, loc: ILSourceLocation | None = None) ExpressionIndex[source]¶
float_compare_greater_thanreturns floating point comparison expression of sizesizechecking if expressionais greater than expressionb- Parameters:
size (int) – the size of the operands in bytes
a (ExpressionIndex) – LHS expression
b (ExpressionIndex) – RHS expression
loc (ILSourceLocation) – location of returned expression
- Returns:
The expression
a f> b- Return type:
ExpressionIndex
- float_compare_less_equal(size: int, a: ExpressionIndex, b: ExpressionIndex, loc: ILSourceLocation | None = None) ExpressionIndex[source]¶
float_compare_less_equalreturns floating point comparison expression of sizesizechecking if expressionais less than or equal to expressionb- Parameters:
size (int) – the size of the operands in bytes
a (ExpressionIndex) – LHS expression
b (ExpressionIndex) – RHS expression
loc (ILSourceLocation) – location of returned expression
- Returns:
The expression
a f<= b- Return type:
ExpressionIndex
- float_compare_less_than(size: int, a: ExpressionIndex, b: ExpressionIndex, loc: ILSourceLocation | None = None) ExpressionIndex[source]¶
float_compare_less_thanreturns floating point comparison expression of sizesizechecking if expressionais less than expressionb- Parameters:
size (int) – the size of the operands in bytes
a (ExpressionIndex) – LHS expression
b (ExpressionIndex) – RHS expression
loc (ILSourceLocation) – location of returned expression
- Returns:
The expression
a f< b- Return type:
ExpressionIndex
- float_compare_not_equal(size: int, a: ExpressionIndex, b: ExpressionIndex, loc: ILSourceLocation | None = None) ExpressionIndex[source]¶
float_compare_not_equalreturns floating point comparison expression of sizesizechecking if expressionais not equal to expressionb- Parameters:
size (int) – the size of the operands in bytes
a (ExpressionIndex) – LHS expression
b (ExpressionIndex) – RHS expression
loc (ILSourceLocation) – location of returned expression
- Returns:
The expression
a f!= b- Return type:
ExpressionIndex
- float_compare_ordered(size: int, a: ExpressionIndex, b: ExpressionIndex, loc: ILSourceLocation | None = None) ExpressionIndex[source]¶
float_compare_orderedreturns floating point comparison expression of sizesizechecking if expressionais ordered relative to expressionb- Parameters:
size (int) – the size of the operands in bytes
a (ExpressionIndex) – LHS expression
b (ExpressionIndex) – RHS expression
loc (ILSourceLocation) – location of returned expression
- Returns:
The expression
is_ordered(a, b)- Return type:
ExpressionIndex
- float_compare_unordered(size: int, a: ExpressionIndex, b: ExpressionIndex, loc: ILSourceLocation | None = None) ExpressionIndex[source]¶
float_compare_unorderedreturns floating point comparison expression of sizesizechecking if expressionais unordered relative to expressionb- Parameters:
size (int) – the size of the operands in bytes
a (ExpressionIndex) – LHS expression
b (ExpressionIndex) – RHS expression
loc (ILSourceLocation) – location of returned expression
- Returns:
The expression
is_unordered(a, b)- Return type:
ExpressionIndex
- float_const_double(value: float, loc: ILSourceLocation | None = None) ExpressionIndex[source]¶
float_const_doublereturns an expression for the double precision floating point valuevalue- Parameters:
value (float) – float value for the constant
loc (ILSourceLocation) – location of returned expression
- Returns:
A constant expression of given value and size
- Return type:
ExpressionIndex
- float_const_raw(size: int, value: int, loc: ILSourceLocation | None = None) ExpressionIndex[source]¶
float_const_rawreturns an expression for the constant raw binary floating point valuevaluewith sizesize- Parameters:
size (int) – the size of the constant in bytes
value (int) – integer value for the raw binary representation of the constant
loc (ILSourceLocation) – location of returned expression
- Returns:
A constant expression of given value and size
- Return type:
ExpressionIndex
- float_const_single(value: float, loc: ILSourceLocation | None = None) ExpressionIndex[source]¶
float_const_singlereturns an expression for the single precision floating point valuevalue- Parameters:
value (float) – float value for the constant
loc (ILSourceLocation) – location of returned expression
- Returns:
A constant expression of given value and size
- Return type:
ExpressionIndex
- float_convert(size: int, value: ExpressionIndex, loc: ILSourceLocation | None = None) ExpressionIndex[source]¶
int_to_floatconverts floating point value of expressionvalueto sizesize- Parameters:
size (int) – the size of the result in bytes
value (ExpressionIndex) – the expression to negate
loc (ILSourceLocation) – location of returned expression
- Returns:
The expression
fconvert.<size>(value)- Return type:
ExpressionIndex
- float_div(size: int, a: ExpressionIndex, b: ExpressionIndex, loc: ILSourceLocation | None = None) ExpressionIndex[source]¶
float_divdivides floating point expressionaby expressionband returning an expression ofsizebytes.- Parameters:
size (int) – the size of the result in bytes
a (ExpressionIndex) – LHS expression
b (ExpressionIndex) – RHS expression
loc (ILSourceLocation) – location of returned expression
- Returns:
The expression
fdiv.<size>(a, b)- Return type:
ExpressionIndex
- float_mult(size: int, a: ExpressionIndex, b: ExpressionIndex, loc: ILSourceLocation | None = None) ExpressionIndex[source]¶
float_multmultiplies floating point expressionaby expressionband returning an expression ofsizebytes.- Parameters:
size (int) – the size of the result in bytes
a (ExpressionIndex) – LHS expression
b (ExpressionIndex) – RHS expression
loc (ILSourceLocation) – location of returned expression
- Returns:
The expression
fmul.<size>(a, b)- Return type:
ExpressionIndex
- float_neg(size: int, value: ExpressionIndex, loc: ILSourceLocation | None = None) ExpressionIndex[source]¶
float_negreturns sign negation of floating point expressionvalueof sizesize- Parameters:
size (int) – the size of the result in bytes
value (ExpressionIndex) – the expression to negate
loc (ILSourceLocation) – location of returned expression
- Returns:
The expression
fneg.<size>(value)- Return type:
ExpressionIndex
- float_sqrt(size: int, value: ExpressionIndex, loc: ILSourceLocation | None = None) ExpressionIndex[source]¶
float_sqrtreturns square root of floating point expressionvalueof sizesize- Parameters:
size (int) – the size of the result in bytes
value (ExpressionIndex) – the expression to calculate the square root of
loc (ILSourceLocation) – location of returned expression
- Returns:
The expression
sqrt.<size>(value)- Return type:
ExpressionIndex
- float_sub(size: int, a: ExpressionIndex, b: ExpressionIndex, loc: ILSourceLocation | None = None) ExpressionIndex[source]¶
float_subsubtracts floating point expressionbfrom expressionaand returning an expression ofsizebytes.- Parameters:
size (int) – the size of the result in bytes
a (ExpressionIndex) – LHS expression
b (ExpressionIndex) – RHS expression
loc (ILSourceLocation) – location of returned expression
- Returns:
The expression
fsub.<size>(a, b)- Return type:
ExpressionIndex
- float_to_int(size: int, value: ExpressionIndex, loc: ILSourceLocation | None = None) ExpressionIndex[source]¶
float_to_intreturns integer value of floating point expressionvalueof sizesize- Parameters:
size (int) – the size of the result in bytes
value (ExpressionIndex) – the expression to convert to an int
loc (ILSourceLocation) – location of returned expression
- Returns:
The expression
int.<size>(value)- Return type:
ExpressionIndex
- float_trunc(size: int, value: ExpressionIndex, loc: ILSourceLocation | None = None) ExpressionIndex[source]¶
float_truncrounds a floating point value to an integer towards zero- Parameters:
size (int) – the size of the result in bytes
value (ExpressionIndex) – the expression to truncate
loc (ILSourceLocation) – location of returned expression
- Returns:
The expression
roundint.<size>(value)- Return type:
ExpressionIndex
- floor(size: int, value: ExpressionIndex, loc: ILSourceLocation | None = None) ExpressionIndex[source]¶
floorrounds a floating point value to an integer towards negative infinity- Parameters:
size (int) – the size of the result in bytes
value (ExpressionIndex) – the expression to round down
loc (ILSourceLocation) – location of returned expression
- Returns:
The expression
roundint.<size>(value)- Return type:
ExpressionIndex
- force_ver(size: int, dest: Variable, src: Variable, loc: ILSourceLocation | None = None) ExpressionIndex[source]¶
force_vercreates a new version of the variabledestinsrcEffectively, this is like saying src = dest, which analysis can then use as a new variable definition site.- Parameters:
size (int) – size of the variable
dest (Variable) – the variable to force a new version of
src (Variable) – the variable created with the new version
loc (ILSourceLocation) – location of returned expression
- Returns:
The expression
FORCE_VER(reg)- Return type:
ExpressionIndex
- free_var_slot(var: Variable, loc: ILSourceLocation | None = None) ExpressionIndex[source]¶
free_var_slotreturn an expression that clears the slot of the variablevarwhich is in a register stack- Parameters:
var (Variable) – variable to free
loc (ILSourceLocation) – location of returned expression
- Returns:
the expression
free_var_slot(var)- Return type:
ExpressionIndex
- generate_ssa_form(analyze_conditionals: bool = True, handle_aliases: bool = True, known_not_aliases: List[Variable] | None = None, known_aliases: List[Variable] | None = None) None[source]¶
generate_ssa_formgenerate SSA form given the current MLIL- Parameters:
analyze_conditionals (bool) – whether or not to analyze conditionals, defaults to
Truehandle_aliases (bool) – whether or not to handle aliases, defaults to
Trueknown_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) BasicBlock | None[source]¶
get_basic_block_atreturns the BasicBlock at the given MLIL instructionindex.- 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: x86@40-60>
- Return type:
BasicBlock | None
- get_expr(index: ExpressionIndex) MediumLevelILInstruction | None[source]¶
get_exprretrieves the IL expression at a given expression index in the function.Warning
Not all IL expressions are valid, even if their index is within the bounds of the function, they might not be used by the function and might not contain properly structured data.
- Parameters:
index (ExpressionIndex) – Index of desired expression in function
- Returns:
A MediumLevelILInstruction object for the expression, if it exists. Otherwise, None
- Return type:
MediumLevelILInstruction | None
- get_expr_count() int[source]¶
get_expr_countgives a the total number of expressions in this IL functionYou can use this to enumerate all expressions in conjunction with
get_exprWarning
Not all IL expressions are valid, even if their index is within the bounds of the function, they might not be used by the function and might not contain properly structured data.
- Returns:
The number of expressions in the function
- Return type:
- get_expr_index_for_instruction(instr: InstructionIndex) ExpressionIndex[source]¶
- Parameters:
instr (InstructionIndex) –
- Return type:
ExpressionIndex
- get_expr_type(expr_index: int) Type | None[source]¶
Get type of expression
- Parameters:
expr_index (int) – index of the expression to retrieve
- Return type:
Optional[’types.Type’]
- get_high_level_il_expr_index(expr: ExpressionIndex) ExpressionIndex | None[source]¶
- Parameters:
expr (ExpressionIndex) –
- Return type:
ExpressionIndex | None
- 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) InstructionIndex | None[source]¶
- Parameters:
instr (InstructionIndex) –
- Return type:
InstructionIndex | None
- get_instruction_index_for_expr(expr: ExpressionIndex) InstructionIndex | None[source]¶
- Parameters:
expr (ExpressionIndex) –
- Return type:
InstructionIndex | None
- get_instruction_start(addr: int, arch: Architecture | None = None) InstructionIndex | None[source]¶
- Parameters:
addr (int) –
arch (Architecture | None) –
- Return type:
InstructionIndex | None
- get_label_for_source_instruction(i: InstructionIndex) MediumLevelILLabel | None[source]¶
Get the MediumLevelILLabel for a given source instruction. The returned label is to an internal object with the same lifetime as the containing MediumLevelILFunction.
- Parameters:
i (InstructionIndex) – The source instruction index
- Returns:
The MediumLevelILLabel for the source instruction
- Return type:
MediumLevelILLabel | None
- get_live_instructions_for_var(var: Variable, include_last_use: bool = True) List[MediumLevelILInstruction][source]¶
get_live_instructions_for_varcomputes the list of instructions for whichvaris live. Ifinclude_last_useis 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
varis live- Return type:
- get_low_level_il_expr_index(expr: ExpressionIndex) ExpressionIndex | None[source]¶
- Parameters:
expr (ExpressionIndex) –
- Return type:
ExpressionIndex | None
- 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) InstructionIndex | None[source]¶
- Parameters:
instr (InstructionIndex) –
- Return type:
InstructionIndex | None
- 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) MediumLevelILInstruction | None[source]¶
- Parameters:
version (int) –
- Return type:
MediumLevelILInstruction | None
- get_ssa_memory_uses(version: int) List[MediumLevelILInstruction][source]¶
- Parameters:
version (int) –
- Return type:
- get_ssa_var_definition(ssa_var: SSAVariable | MediumLevelILVarSsa) MediumLevelILInstruction | None[source]¶
Gets the instruction that contains the given SSA variable’s definition.
Since SSA variables can only be defined once, this will return the single instruction where that occurs. For SSA variable version 0s, which don’t have definitions, this will return None instead.
- Parameters:
ssa_var (SSAVariable | MediumLevelILVarSsa) –
- Return type:
MediumLevelILInstruction | None
- get_ssa_var_uses(ssa_var: SSAVariable | MediumLevelILVarSsa) List[MediumLevelILInstruction][source]¶
Gets all the instructions that use the given SSA variable.
- Parameters:
ssa_var (SSAVariable | MediumLevelILVarSsa) –
- Return type:
- get_ssa_var_value(ssa_var: SSAVariable) RegisterValue[source]¶
- Parameters:
ssa_var (SSAVariable) –
- Return type:
- get_var_definitions(var: Variable) List[MediumLevelILInstruction][source]¶
- Parameters:
var (Variable) –
- Return type:
- get_var_uses(var: Variable) List[MediumLevelILInstruction][source]¶
- Parameters:
var (Variable) –
- Return type:
- goto(label: MediumLevelILLabel, loc: ILSourceLocation | None = None) ExpressionIndex[source]¶
gotoreturns a goto expression which jumps to the provided MediumLevelILLabel.- Parameters:
label (MediumLevelILLabel) – Label to jump to
loc (ILSourceLocation) – location of returned expression
- Returns:
the ExpressionIndex that jumps to the provided label
- Return type:
ExpressionIndex
- if_expr(operand: ExpressionIndex, t: MediumLevelILLabel, f: MediumLevelILLabel, loc: ILSourceLocation | None = None) ExpressionIndex[source]¶
if_exprreturns theifexpression which depending on conditionoperandjumps to the MediumLevelILLabeltwhen the condition expressionoperandis non-zero andfwhen it’s zero.- Parameters:
operand (ExpressionIndex) – comparison expression to evaluate.
t (MediumLevelILLabel) – Label for the true branch
f (MediumLevelILLabel) – Label for the false branch
loc (ILSourceLocation) – location of returned expression
- Returns:
the ExpressionIndex for the if expression
- Return type:
ExpressionIndex
- imported_address(size: int, value: int, loc: ILSourceLocation | None = None) ExpressionIndex[source]¶
imported_addressreturns an expression for an imported value with addressvalueand sizesize- Parameters:
size (int) – size of the imported value
value (int) – address of the imported value
loc (ILSourceLocation) – location of returned expression
- Returns:
A constant expression of given value and size
- Return type:
ExpressionIndex
- int_to_float(size: int, value: ExpressionIndex, loc: ILSourceLocation | None = None) ExpressionIndex[source]¶
int_to_floatreturns floating point value of integer expressionvalueof sizesize- Parameters:
size (int) – the size of the result in bytes
value (ExpressionIndex) – the expression to convert to a float
loc (ILSourceLocation) – location of returned expression
- Returns:
The expression
float.<size>(value)- Return type:
ExpressionIndex
- intrinsic(outputs: List[Variable], intrinsic: IntrinsicName | ILIntrinsic | IntrinsicIndex, params: List[ExpressionIndex], loc: ILSourceLocation | None = None)[source]¶
intrinsicreturn an intrinsic expression.- Parameters:
outputs (List[Variable]) – list of output variables
intrinsic (IntrinsicType) – which intrinsic to call
params (List[ExpressionIndex]) – parameters to intrinsic
loc (ILSourceLocation) – location of returned expression
- Returns:
an intrinsic expression.
- Return type:
ExpressionIndex
- is_ssa_var_live(ssa_var: SSAVariable) bool[source]¶
is_ssa_var_livedetermines ifssa_varis 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:
- is_ssa_var_live_at(ssa_var: SSAVariable, instr: InstructionIndex) bool[source]¶
is_ssa_var_live_atdetermines ifssa_varis live at a given point in the function; counts phi’s as uses- Parameters:
ssa_var (SSAVariable) –
instr (InstructionIndex) –
- Return type:
- is_var_live_at(var: Variable, instr: InstructionIndex) bool[source]¶
is_var_live_atdetermines ifvaris live at a given point in the function
- jump(dest: ExpressionIndex, loc: ILSourceLocation | None = None) ExpressionIndex[source]¶
jumpreturns an expression which jumps (branches) to the expressiondest- Parameters:
dest (ExpressionIndex) – the expression to jump to
loc (ILSourceLocation) – location of returned expression
- Returns:
The expression
jump(dest)- Return type:
ExpressionIndex
- jump_to(dest: ExpressionIndex, targets: Mapping[int, MediumLevelILLabel], loc: ILSourceLocation | None = None) ExpressionIndex[source]¶
jump_toreturns an expression which jumps (branches) various targets intargetschoosing the target intargetsbased on the value calculated bydest- Parameters:
dest (ExpressionIndex) – the expression choosing which jump target to use
targets (Mapping[int, MediumLevelILLabel]) – the list of targets for jump locations
loc (ILSourceLocation) – location of returned expression
targets –
- Returns:
The expression
jump(dest)- Return type:
ExpressionIndex
- load(size: int, src: ExpressionIndex, loc: ILSourceLocation | None = None) ExpressionIndex[source]¶
loadReadssizebytes from the expressionsrc- Parameters:
size (int) – number of bytes to read
src (ExpressionIndex) – the expression to read memory from
loc (ILSourceLocation) – location of returned expression
- Returns:
The expression
[addr].size- Return type:
ExpressionIndex
- load_struct(size: int, src: ExpressionIndex, offset: int, loc: ILSourceLocation | None = None) ExpressionIndex[source]¶
load_structReadssizebytes at the offsetoffsetfrom the expressionsrc- Parameters:
size (int) – number of bytes to read
src (ExpressionIndex) – the expression to read memory from
offset (int) – offset of field in the memory
loc (ILSourceLocation) – location of returned expression
- Returns:
The expression
[(src + offset)].size(often renderedsrc->offset.size)- Return type:
ExpressionIndex
- logical_shift_right(size: int, a: ExpressionIndex, b: ExpressionIndex, loc: ILSourceLocation | None = None) ExpressionIndex[source]¶
logical_shift_rightlogically right shifts expressionaby expressionbreturning an expression ofsizebytes- Parameters:
size (int) – the size of the result in bytes
a (ExpressionIndex) – LHS expression
b (ExpressionIndex) – RHS expression
loc (ILSourceLocation) – location of returned expression
- Returns:
The expression
lsr.<size>(a, b)- Return type:
ExpressionIndex
- low_part(size: int, value: ExpressionIndex, loc: ILSourceLocation | None = None) ExpressionIndex[source]¶
low_parttruncates the expression invaluetosizebytes- Parameters:
size (int) – the size of the result in bytes
value (ExpressionIndex) – the expression to zero extend
loc (ILSourceLocation) – location of returned expression
- Returns:
The expression
(value).<size>- Return type:
ExpressionIndex
- mark_label(label: MediumLevelILLabel) None[source]¶
mark_labelassigns a MediumLevelILLabel to the current IL address.- Parameters:
label (MediumLevelILLabel) –
- Return type:
None
- mod_double_prec_signed(size: int, a: ExpressionIndex, b: ExpressionIndex, loc: ILSourceLocation | None = None) ExpressionIndex[source]¶
mod_double_prec_signedsigned modulus double precision expressionaby expressionband returns an expression. The first operand is of size2*sizebytes and the other operand and return value are of sizesizebytes.- Parameters:
size (int) – the size of the result and input operands, in bytes
a (ExpressionIndex) – LHS expression
b (ExpressionIndex) – RHS expression
loc (ILSourceLocation) – location of returned expression
- Returns:
The expression
mods.dp.<size>(a, b)- Return type:
ExpressionIndex
- mod_double_prec_unsigned(size: int, a: ExpressionIndex, b: ExpressionIndex, loc: ILSourceLocation | None = None) ExpressionIndex[source]¶
mod_double_prec_unsignedunsigned modulus double precision expressionaby expressionband returns an expression. The first operand is of size2*sizebytes and the other operand and return value are of sizesizebytes.- Parameters:
size (int) – the size of the result and input operands, in bytes
a (ExpressionIndex) – LHS expression
b (ExpressionIndex) – RHS expression
loc (ILSourceLocation) – location of returned expression
- Returns:
The expression
modu.dp.<size>(a, b)- Return type:
ExpressionIndex
- mod_signed(size: int, a: ExpressionIndex, b: ExpressionIndex, loc: ILSourceLocation | None = None) ExpressionIndex[source]¶
mod_signedsigned modulus expressionaby expressionband returns an expression. Both the operands and return value aresizebytes.- Parameters:
size (int) – the size of the result and input operands, in bytes
a (ExpressionIndex) – LHS expression
b (ExpressionIndex) – RHS expression
loc (ILSourceLocation) – location of returned expression
- Returns:
The expression
mods.<size>(a, b)- Return type:
ExpressionIndex
- mod_unsigned(size: int, a: ExpressionIndex, b: ExpressionIndex, loc: ILSourceLocation | None = None) ExpressionIndex[source]¶
mod_unsignedunsigned modulus expressionaby expressionband returns an expression. Both the operands and return value aresizebytes.- Parameters:
size (int) – the size of the result and input operands, in bytes
a (ExpressionIndex) – LHS expression
b (ExpressionIndex) – RHS expression
loc (ILSourceLocation) – location of returned expression
- Returns:
The expression
modu.<size>(a, b)- Return type:
ExpressionIndex
- mult(size: int, a: ExpressionIndex, b: ExpressionIndex, loc: ILSourceLocation | None = None) ExpressionIndex[source]¶
multmultiplies expressionaby expressionband returns an expression. Both the operands and return value aresizebytes as the product’s upper half is discarded.- Parameters:
size (int) – the size of the result and input operands, in bytes
a (ExpressionIndex) – LHS expression
b (ExpressionIndex) – RHS expression
loc (ILSourceLocation) – location of returned expression
- Returns:
The expression
mult.<size>(a, b)- Return type:
ExpressionIndex
- mult_double_prec_signed(size: int, a: ExpressionIndex, b: ExpressionIndex, loc: ILSourceLocation | None = None) ExpressionIndex[source]¶
mult_double_prec_signedsigned multiplies expressionaby expressionband returns an expression. Both the operands aresizebytes and the returned expression is of size2*sizebytes.- Parameters:
size (int) – the size of the result and input operands, in bytes
a (ExpressionIndex) – LHS expression
b (ExpressionIndex) – RHS expression
loc (ILSourceLocation) – location of returned expression
- Returns:
The expression
muls.dp.<2*size>(a, b)- Return type:
ExpressionIndex
- mult_double_prec_unsigned(size: int, a: ExpressionIndex, b: ExpressionIndex, loc: ILSourceLocation | None = None) ExpressionIndex[source]¶
mult_double_prec_unsignedunsigned multiplies expressionaby expressionband returnisan expression. Both the operands aresizebytes and the returned expression is of size2*sizebytes.- Parameters:
size (int) – the size of the result and input operands, in bytes
a (ExpressionIndex) – LHS expression
b (ExpressionIndex) – RHS expression
loc (ILSourceLocation) – location of returned expression
- Returns:
The expression
mulu.dp.<2*size>(a, b)- Return type:
ExpressionIndex
- neg_expr(size: int, value: ExpressionIndex, loc: ILSourceLocation | None = None) ExpressionIndex[source]¶
neg_exprtwo’s complement sign negation of expressionvalueof sizesize- Parameters:
size (int) – the size of the result in bytes
value (ExpressionIndex) – the expression to negate
loc (ILSourceLocation) – location of returned expression
- Returns:
The expression
neg.<size>(value)- Return type:
ExpressionIndex
- no_ret(loc: ILSourceLocation | None = None) ExpressionIndex[source]¶
no_retreturns an expression that halts execution- Parameters:
loc (ILSourceLocation) – location of returned expression
- Returns:
The expression
noreturn- Return type:
ExpressionIndex
- nop(loc: ILSourceLocation | None = None) ExpressionIndex[source]¶
nopno operation, this instruction does nothing- Parameters:
loc (ILSourceLocation | None) – Location of expression
- Returns:
The no operation expression
- Return type:
ExpressionIndex
- not_expr(size: int, value: ExpressionIndex, loc: ILSourceLocation | None = None) ExpressionIndex[source]¶
not_exprbitwise inversion of expressionvalueof sizesize- Parameters:
size (int) – the size of the result in bytes
value (ExpressionIndex) – the expression to bitwise invert
loc (ILSourceLocation) – location of returned expression
- Returns:
The expression
not.<size>(value)- Return type:
ExpressionIndex
- or_expr(size: int, a: ExpressionIndex, b: ExpressionIndex, loc: ILSourceLocation | None = None) ExpressionIndex[source]¶
or_exprbitwise or’s expressionaand expressionbreturning an expression ofsizebytes- Parameters:
size (int) – the size of the result in bytes
a (ExpressionIndex) – LHS expression
b (ExpressionIndex) – RHS expression
loc (ILSourceLocation) – location of returned expression
- Returns:
The expression
or.<size>(a, b)- Return type:
ExpressionIndex
- prepare_to_copy_block(src: MediumLevelILBasicBlock)[source]¶
prepare_to_copy_blocksets up state when copying a function in preparation of copying the instructions from the blocksrc- Parameters:
src (MediumLevelILBasicBlock) – block about to be copied from
- prepare_to_copy_function(src: MediumLevelILFunction)[source]¶
prepare_to_copy_functionsets up state in this MLIL function in preparation of copying instructions fromsrc- Parameters:
src (MediumLevelILFunction) – function about to be copied from
- replace_expr(original: MediumLevelILInstruction | ExpressionIndex | InstructionIndex, new: MediumLevelILInstruction | ExpressionIndex | InstructionIndex) None[source]¶
replace_exprreplace an existing IL instruction in-place with another oneBoth expressions must have been created on the same function. The original expression will be replaced completely and the new expression will not be modified.
- Parameters:
original (ExpressionIndex) – the ExpressionIndex to replace (may also be an expression index)
new (ExpressionIndex) – the ExpressionIndex to add to the current LowLevelILFunction (may also be an expression index)
- Return type:
None
- ret(sources: List[ExpressionIndex], loc: ILSourceLocation | None = None) ExpressionIndex[source]¶
retreturns an expression which jumps (branches) to the calling function, returning a result specified by the expressions insources.- Parameters:
sources (List[ExpressionIndex]) – list of returned expressions
loc (ILSourceLocation) – location of returned expression
- Returns:
The expression
return sources...- Return type:
ExpressionIndex
- rotate_left(size: int, a: ExpressionIndex, b: ExpressionIndex, loc: ILSourceLocation | None = None) ExpressionIndex[source]¶
rotate_leftbitwise rotates left expressionaby expressionbreturning an expression ofsizebytes- Parameters:
size (int) – the size of the result in bytes
a (ExpressionIndex) – LHS expression
b (ExpressionIndex) – RHS expression
loc (ILSourceLocation) – location of returned expression
- Returns:
The expression
rol.<size>(a, b)- Return type:
ExpressionIndex
- rotate_left_carry(size: int, a: ExpressionIndex, b: ExpressionIndex, carry: ExpressionIndex, loc: ILSourceLocation | None = None) ExpressionIndex[source]¶
rotate_left_carrybitwise rotates left expressionaby expressionbwith carry fromcarryreturning an expression ofsizebytes- Parameters:
size (int) – the size of the result in bytes
a (ExpressionIndex) – LHS expression
b (ExpressionIndex) – RHS expression
carry (ExpressionIndex) – Carried value expression
loc (ILSourceLocation) – location of returned expression
- Returns:
The expression
rlc.<size>(a, b, carry)- Return type:
ExpressionIndex
- rotate_right(size: int, a: ExpressionIndex, b: ExpressionIndex, loc: ILSourceLocation | None = None) ExpressionIndex[source]¶
rotate_rightbitwise rotates right expressionaby expressionbreturning an expression ofsizebytes- Parameters:
size (int) – the size of the result in bytes
a (ExpressionIndex) – LHS expression
b (ExpressionIndex) – RHS expression
loc (ILSourceLocation) – location of returned expression
- Returns:
The expression
ror.<size>(a, b)- Return type:
ExpressionIndex
- rotate_right_carry(size: int, a: ExpressionIndex, b: ExpressionIndex, carry: ExpressionIndex, loc: ILSourceLocation | None = None) ExpressionIndex[source]¶
rotate_right_carrybitwise rotates right expressionaby expressionbwith carry fromcarryreturning an expression ofsizebytes- Parameters:
size (int) – the size of the result in bytes
a (ExpressionIndex) – LHS expression
b (ExpressionIndex) – RHS expression
carry (ExpressionIndex) – Carried value expression
loc (ILSourceLocation) – location of returned expression
- Returns:
The expression
rrc.<size>(a, b, carry)- Return type:
ExpressionIndex
- round_to_int(size: int, value: ExpressionIndex, loc: ILSourceLocation | None = None) ExpressionIndex[source]¶
round_to_introunds a floating point value to the nearest integer- Parameters:
size (int) – the size of the result in bytes
value (ExpressionIndex) – the expression to round to the nearest integer
loc (ILSourceLocation) – location of returned expression
- Returns:
The expression
roundint.<size>(value)- Return type:
ExpressionIndex
- set_current_address(value: int, arch: Architecture | None = None) None[source]¶
- Parameters:
value (int) –
arch (Architecture | None) –
- Return type:
None
- set_expr_attributes(expr: MediumLevelILInstruction | ExpressionIndex | InstructionIndex, value: Set[ILInstructionAttribute] | List[ILInstructionAttribute])[source]¶
set_expr_attributesallows modification of instruction attributes but ONLY during lifting.Warning
This function should ONLY be called as a part of a lifter. It will otherwise not do anything useful as there’s no way to trigger re-analysis of IL levels at this time.
- Parameters:
expr (ExpressionIndex) – the ExpressionIndex to replace (may also be an expression index)
value (set(ILInstructionAttribute)) – the set of attributes to place on the instruction
- Return type:
None
- set_expr_type(expr_index: int, expr_type: str | Type | TypeBuilder | None) None[source]¶
Set type of expression
This API is only meant for workflows or for debugging purposes, since the changes they make are not persistent and get lost after a database save and reload. To make persistent changes to the analysis, one should use other APIs to, for example, change the type of variables. The analysis will then propagate the type of the variable and update the type of related expressions.
- Parameters:
expr_index (int) – index of the expression to set
StringOrType – new type of the expression
expr_type (str | Type | TypeBuilder | None) –
- Return type:
None
- set_var(size: int, dest: Variable, src: ExpressionIndex, loc: ILSourceLocation | None = None) ExpressionIndex[source]¶
set_varsets the variabledestof sizesizeto the expressionsrc- Parameters:
size (int) – the size of the variable in bytes
dest (Variable) – the variable being set
src (ExpressionIndex) – expression with the value to set the variable to
loc (ILSourceLocation) – location of returned expression
- Returns:
The expression
dest = src- Return type:
ExpressionIndex
- set_var_field(size: int, dest: Variable, offset: int, src: ExpressionIndex, loc: ILSourceLocation | None = None) ExpressionIndex[source]¶
set_var_fieldsets the fieldoffsetof variabledestof sizesizeto the expressionsrc- Parameters:
size (int) – the size of the field in bytes
dest (Variable) – the variable being set
offset (int) – offset of field in the variable
src (ExpressionIndex) – expression with the value to set the field to
loc (ILSourceLocation) – location of returned expression
- Returns:
The expression
dest:offset = src- Return type:
ExpressionIndex
- set_var_split(size: int, hi: Variable, lo: Variable, src: ExpressionIndex, loc: ILSourceLocation | None = None) ExpressionIndex[source]¶
set_var_splituseshiandloas a single extended variable of size2*sizesettinghi:loto the expressionsrc- Parameters:
size (int) – the size of each variable in bytes
hi (Variable) – the high variable being set
lo (Variable) – the low variable being set
src (ExpressionIndex) – expression with the value to set the variables to
loc (ILSourceLocation) – location of returned expression
- Returns:
The expression
hi:lo = src- Return type:
ExpressionIndex
- shift_left(size: int, a: ExpressionIndex, b: ExpressionIndex, loc: ILSourceLocation | None = None) ExpressionIndex[source]¶
shift_leftleft shifts expressionaby expressionbreturning an expression ofsizebytes- Parameters:
size (int) – the size of the result in bytes
a (ExpressionIndex) – LHS expression
b (ExpressionIndex) – RHS expression
loc (ILSourceLocation) – location of returned expression
- Returns:
The expression
lsl.<size>(a, b)- Return type:
ExpressionIndex
- sign_extend(size: int, value: ExpressionIndex, loc: ILSourceLocation | None = None) ExpressionIndex[source]¶
sign_extendtwo’s complement sign-extends the expression invaluetosizebytes- Parameters:
size (int) – the size of the result in bytes
value (ExpressionIndex) – the expression to sign extend
loc (ILSourceLocation) – location of returned expression
- Returns:
The expression
sx.<size>(value)- Return type:
ExpressionIndex
- store(size: int, dest: ExpressionIndex, src: ExpressionIndex, loc: ILSourceLocation | None = None) ExpressionIndex[source]¶
storeWritessizebytes to expressiondestread from expressionsrc- Parameters:
size (int) – number of bytes to write
dest (ExpressionIndex) – the expression to write to
src (ExpressionIndex) – the expression to be written
loc (ILSourceLocation) – location of returned expression
- Returns:
The expression
[dest].size = src- Return type:
ExpressionIndex
- store_struct(size: int, dest: ExpressionIndex, offset: int, src: ExpressionIndex, loc: ILSourceLocation | None = None) ExpressionIndex[source]¶
store_structWritessizebytes to expressiondestat the offsetoffsetread from expressionsrc- Parameters:
size (int) – number of bytes to write
dest (ExpressionIndex) – the expression to write to
offset (int) – offset of field in the memory
src (ExpressionIndex) – the expression to be written
loc (ILSourceLocation) – location of returned expression
- Returns:
The expression
[(dest + offset)].size = src(often rendereddest->offset.size)- Return type:
ExpressionIndex
- sub(size: int, a: ExpressionIndex, b: ExpressionIndex, loc: ILSourceLocation | None = None) ExpressionIndex[source]¶
subsubtracts expressionato expressionbreturning an expression ofsizebytes- Parameters:
size (int) – the size of the result in bytes
a (ExpressionIndex) – LHS expression
b (ExpressionIndex) – RHS expression
loc (ILSourceLocation) – location of returned expression
- Returns:
The expression
sub.<size>(a, b)- Return type:
ExpressionIndex
- sub_borrow(size: int, a: ExpressionIndex, b: ExpressionIndex, carry: ExpressionIndex, loc: ILSourceLocation | None = None) ExpressionIndex[source]¶
sub_borrowsubtracts expressionato expressionbwith borrow fromcarryreturning an expression ofsizebytes- Parameters:
size (int) – the size of the result in bytes
a (ExpressionIndex) – LHS expression
b (ExpressionIndex) – RHS expression
carry (ExpressionIndex) – Carried value expression
loc (ILSourceLocation) – location of returned expression
- Returns:
The expression
sbb.<size>(a, b, carry)- Return type:
ExpressionIndex
- system_call(output: List[Variable], params: List[ExpressionIndex], loc: ILSourceLocation | None = None) ExpressionIndex[source]¶
system_callreturns an expression which performs a system call with the parameters defined inparamsreturning values in the variables inoutput.- Parameters:
output (List['variable.Variable']) – output variables
params (List[ExpressionIndex]) – parameter variables
loc (ILSourceLocation) – location of returned expression
- Returns:
The expression
output = syscall(dest, params...)- Return type:
ExpressionIndex
- system_call_untyped(output: List[Variable], params: List[ExpressionIndex], stack: ExpressionIndex, loc: ILSourceLocation | None = None) ExpressionIndex[source]¶
system_call_untypedreturns an expression which performs a system call with the parameters defined inparamsreturning values in the variables inoutputwhere stack resolution could not be determined and the top of the stack has to be specified instack- Parameters:
output (List['variable.Variable']) – output variables
params (List[ExpressionIndex]) – parameter variables
stack (ExpressionIndex) – expression of top of stack
loc (ILSourceLocation) – location of returned expression
- Returns:
The expression
output = syscall(dest, params..., stack = stack)- Return type:
ExpressionIndex
- tailcall(output: List[Variable], dest: ExpressionIndex, params: List[ExpressionIndex], loc: ILSourceLocation | None = None) ExpressionIndex[source]¶
tailcallreturns an expression which tailcalls the function in the expressiondestwith the parameters defined inparamsreturning values in the variables inoutput.- Parameters:
output (List['variable.Variable']) – output variables
dest (ExpressionIndex) – the expression to call
params (List[ExpressionIndex]) – parameter variables
loc (ILSourceLocation) – location of returned expression
- Returns:
The expression
output = tailcall(dest, params...)- Return type:
ExpressionIndex
- tailcall_untyped(output: List[Variable], dest: ExpressionIndex, params: List[ExpressionIndex], stack: ExpressionIndex, loc: ILSourceLocation | None = None) ExpressionIndex[source]¶
tailcall_untypedreturns an expression which tailcalls the function in the expressiondestwith the parameters defined inparamsreturning values in the variables inoutputwhere stack resolution could not be determined and the top of the stack has to be specified instack- Parameters:
output (List['variable.Variable']) – output variables
dest (ExpressionIndex) – the expression to call
params (List[ExpressionIndex]) – parameter variables
stack (ExpressionIndex) – expression of top of stack
loc (ILSourceLocation) – location of returned expression
- Returns:
The expression
output = tailcall(dest, params..., stack = stack)- Return type:
ExpressionIndex
- test_bit(size: int, a: ExpressionIndex, b: ExpressionIndex, loc: ILSourceLocation | None = None) ExpressionIndex[source]¶
test_bitreturns an expression of sizesizethat tells whether expressionahas its bit with an index of the expressionbis set- Parameters:
size (int) – size in bytes
a (ExpressionIndex) – an expression to be tested
b (ExpressionIndex) – an expression for the index of the big
loc (ILSourceLocation) – location of returned expression
- Returns:
the result expression.
- Return type:
ExpressionIndex
- translate(expr_handler: Callable[[MediumLevelILFunction, MediumLevelILBasicBlock, MediumLevelILInstruction], ExpressionIndex]) MediumLevelILFunction[source]¶
translateclones an IL function and modifies its expressions as specified by a givenexpr_handler, returning the updated IL function.- Parameters:
expr_handler (Callable[[MediumLevelILFunction, MediumLevelILBasicBlock, MediumLevelILInstruction], ExpressionIndex]) –
Function to modify an expression and copy it to the new function. The function should have the following signature:
expr_handler(new_func: MediumLevelILFunction, old_block: MediumLevelILBasicBlock, old_instr: MediumLevelILInstruction) -> ExpressionIndex
- Where:
new_func (MediumLevelILFunction): New function to receive translated instructions
old_block (MediumLevelILBasicBlock): Original block containing old_instr
old_instr (MediumLevelILInstruction): Original instruction
returns (ExpressionIndex): Expression index of newly created instruction in
new_func
- Returns:
Cloned IL function with modifications
- Return type:
- trap(value: int, loc: ILSourceLocation | None = None) ExpressionIndex[source]¶
trapreturns a processor trap (interrupt) expression of the given integervalue.- Parameters:
value (int) – trap (interrupt) number
loc (ILSourceLocation) – location of returned expression
- Returns:
a trap expression.
- Return type:
ExpressionIndex
- traverse(cb: Callable[[MediumLevelILInstruction, Any], Any], *args: Any, **kwargs: Any) Iterator[Any][source]¶
traverseiterates through all the instructions in the MediumLevelILInstruction and calls the callback function for each instruction and sub-instruction. See the Developer Docs for more examples.- Parameters:
cb (Callable[[MediumLevelILInstruction, Any], Any]) – Callback function that takes a HighLevelILInstruction and returns a value
args (Any) – Custom user-defined arguments
kwargs (Any) – Custom user-defined keyword arguments
cb –
- Returns:
An iterator of the results of the callback function
- Return type:
Iterator[Any]
- Example:
>>> def find_constants(instr) -> Optional[int]: ... if isinstance(instr, Constant): ... return instr.constant >>> print(list(current_il_function.traverse(find_constants)))
- undefined(loc: ILSourceLocation | None = None) ExpressionIndex[source]¶
undefinedreturns the undefined expression. This should be used for instructions which perform functions but aren’t important for dataflow or partial emulation purposes.- Parameters:
loc (ILSourceLocation) – location of returned expression
- Returns:
the undefined expression.
- Return type:
ExpressionIndex
- unimplemented(loc: ILSourceLocation | None = None) ExpressionIndex[source]¶
unimplementedreturns the unimplemented expression. This should be used for all instructions which aren’t implemented.- Parameters:
loc (ILSourceLocation) – location of returned expression
- Returns:
the unimplemented expression.
- Return type:
ExpressionIndex
- unimplemented_memory_ref(size: int, addr: ExpressionIndex, loc: ILSourceLocation | None = None) ExpressionIndex[source]¶
unimplemented_memory_refa memory reference to expressionaddrof sizesizewith unimplemented operation.- Parameters:
size (int) – size in bytes of the memory reference
addr (ExpressionIndex) – expression to reference memory
loc (ILSourceLocation) – location of returned expression
- Returns:
the unimplemented memory reference expression.
- Return type:
ExpressionIndex
- var(size: int, src: Variable, loc: ILSourceLocation | None = None) ExpressionIndex[source]¶
varreturns the variablesrcof sizesize- Parameters:
size (int) – the size of the variable in bytes
src (Variable) – the variable being read
loc (ILSourceLocation) – location of returned expression
- Returns:
An expression for the given variable
- Return type:
ExpressionIndex
- var_field(size: int, src: Variable, offset: int, loc: ILSourceLocation | None = None) ExpressionIndex[source]¶
var_fieldreturns the field at offsetoffsetfrom variablesrcof sizesize- Parameters:
size (int) – the size of the field in bytes
src (Variable) – the variable being read
offset (int) – offset of field in the variable
loc (ILSourceLocation) – location of returned expression
- Returns:
The expression
var:offset.size- Return type:
ExpressionIndex
- var_split(size: int, hi: Variable, lo: Variable, loc: ILSourceLocation | None = None) ExpressionIndex[source]¶
var_splitcombines variableshiandloof sizesizeinto an expression of size2*size- Parameters:
size (int) – the size of each variable in bytes
hi (Variable) – the variable holding high part of value
lo (Variable) – the variable holding low part of value
loc (ILSourceLocation) – location of returned expression
- Returns:
The expression
hi:lo- Return type:
ExpressionIndex
- visit(cb: Callable[[str, int | float | MediumLevelILOperationAndSize | MediumLevelILInstruction | ILIntrinsic | Variable | SSAVariable | List[int] | List[Variable] | List[SSAVariable] | List[MediumLevelILInstruction] | Dict[int, int] | ConstantData, str, MediumLevelILInstruction | None], bool]) bool[source]¶
Iterates over all the instructions in the function and calls the callback function for each instruction and each sub-instruction.
- Parameters:
cb (MediumLevelILVisitorCallback) – Callback function that takes the name of the operand, the operand, operand type, and parent instruction
- Returns:
True if all instructions were visited, False if the callback function returned False.
- Return type:
Deprecated since version 4.0.4907: Use
MediumLevelILFunction.traverseinstead.
- visit_all(cb: Callable[[str, int | float | MediumLevelILOperationAndSize | MediumLevelILInstruction | ILIntrinsic | Variable | SSAVariable | List[int] | List[Variable] | List[SSAVariable] | List[MediumLevelILInstruction] | Dict[int, int] | ConstantData, str, MediumLevelILInstruction | None], bool]) bool[source]¶
Iterates over all the instructions in the function and calls the callback function for each instruction and their operands.
- Parameters:
cb (MediumLevelILVisitorCallback) – Callback function that takes the name of the operand, the operand, operand type, and parent instruction
- Returns:
True if all instructions were visited, False if the callback function returned False.
- Return type:
Deprecated since version 4.0.4907: Use
MediumLevelILFunction.traverseinstead.
- visit_operands(cb: Callable[[str, int | float | MediumLevelILOperationAndSize | MediumLevelILInstruction | ILIntrinsic | Variable | SSAVariable | List[int] | List[Variable] | List[SSAVariable] | List[MediumLevelILInstruction] | Dict[int, int] | ConstantData, str, MediumLevelILInstruction | None], bool]) bool[source]¶
- Iterates over all the instructions in the function and calls the callback function for each operand and
the operands of each sub-instruction.
- Parameters:
cb (MediumLevelILVisitorCallback) – Callback function that takes the name of the operand, the operand, operand type, and parent instruction
- Returns:
True if all instructions were visited, False if the callback function returned False.
- Return type:
Deprecated since version 4.0.4907: Use
MediumLevelILFunction.traverseinstead.
- xor_expr(size: int, a: ExpressionIndex, b: ExpressionIndex, loc: ILSourceLocation | None = None) ExpressionIndex[source]¶
xor_exprxor’s expressionaand expressionbreturning an expression ofsizebytes- Parameters:
size (int) – the size of the result in bytes
a (ExpressionIndex) – LHS expression
b (ExpressionIndex) – RHS expression
loc (ILSourceLocation) – location of returned expression
- Returns:
The expression
xor.<size>(a, b)- Return type:
ExpressionIndex
- zero_extend(size: int, value: ExpressionIndex, loc: ILSourceLocation | None = None) ExpressionIndex[source]¶
zero_extendzero-extends the expression invaluetosizebytes- Parameters:
size (int) – the size of the result in bytes
value (ExpressionIndex) – the expression to zero extend
loc (ILSourceLocation) – location of returned expression
- Returns:
The expression
zx.<size>(value)- Return type:
ExpressionIndex
- 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.parameter_vars
- property arch: Architecture¶
- property basic_blocks: MediumLevelILBasicBlockList¶
- property high_level_il: HighLevelILFunction | None¶
High level IL for this medium level IL.
- property hlil: HighLevelILFunction | None¶
- property il_form: FunctionGraphType¶
- property instructions: Generator[MediumLevelILInstruction, None, None]¶
A generator of mlil instructions of the current function
- property llil: LowLevelILFunction | None¶
Alias for low_level_il
- property low_level_il: LowLevelILFunction | None¶
Low level IL for this function
- property non_ssa_form: MediumLevelILFunction | None¶
Medium level IL in non-SSA (default) form (read-only)
- property ssa_form: MediumLevelILFunction | None¶
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.parameter_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.parameter_vars for all the variables used in the function
- property view: BinaryView¶
MediumLevelILGoto¶
- class MediumLevelILGoto[source]¶
Bases:
MediumLevelILInstruction,TerminalMediumLevelILGoto(function: ‘MediumLevelILFunction’, expr_index: <function NewType.<locals>.new_type at 0x1129439d0>, instr: binaryninja.mediumlevelil.CoreMediumLevelILInstruction, instr_index: <function NewType.<locals>.new_type at 0x111812ca0>)
- __init__(function: MediumLevelILFunction, expr_index: ExpressionIndex, instr: CoreMediumLevelILInstruction, instr_index: InstructionIndex) None¶
- Parameters:
function (MediumLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreMediumLevelILInstruction) –
instr_index (InstructionIndex) –
- Return type:
None
- property dest: InstructionIndex¶
- property detailed_operands: List[Tuple[str, int | float | MediumLevelILOperationAndSize | MediumLevelILInstruction | ILIntrinsic | Variable | SSAVariable | List[int] | List[Variable] | List[SSAVariable] | List[MediumLevelILInstruction] | Dict[int, int] | ConstantData, str]]¶
Returns a list of tuples containing the name of the operand, the operand, and the type of the operand. Useful for iterating over all operands of an instruction and sub-instructions.
- expr_index: ExpressionIndex¶
- function: MediumLevelILFunction¶
- instr_index: InstructionIndex¶
MediumLevelILIf¶
- class MediumLevelILIf[source]¶
Bases:
MediumLevelILInstruction,TerminalMediumLevelILIf(function: ‘MediumLevelILFunction’, expr_index: <function NewType.<locals>.new_type at 0x1129439d0>, instr: binaryninja.mediumlevelil.CoreMediumLevelILInstruction, instr_index: <function NewType.<locals>.new_type at 0x111812ca0>)
- __init__(function: MediumLevelILFunction, expr_index: ExpressionIndex, instr: CoreMediumLevelILInstruction, instr_index: InstructionIndex) None¶
- Parameters:
function (MediumLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreMediumLevelILInstruction) –
instr_index (InstructionIndex) –
- Return type:
None
- property condition: MediumLevelILInstruction¶
- property detailed_operands: List[Tuple[str, int | float | MediumLevelILOperationAndSize | MediumLevelILInstruction | ILIntrinsic | Variable | SSAVariable | List[int] | List[Variable] | List[SSAVariable] | List[MediumLevelILInstruction] | Dict[int, int] | ConstantData, str]]¶
Returns a list of tuples containing the name of the operand, the operand, and the type of the operand. Useful for iterating over all operands of an instruction and sub-instructions.
- expr_index: ExpressionIndex¶
- property false: InstructionIndex¶
- function: MediumLevelILFunction¶
- instr_index: InstructionIndex¶
- property true: InstructionIndex¶
MediumLevelILImport¶
- class MediumLevelILImport[source]¶
Bases:
MediumLevelILConstBaseMediumLevelILImport(function: ‘MediumLevelILFunction’, expr_index: <function NewType.<locals>.new_type at 0x1129439d0>, instr: binaryninja.mediumlevelil.CoreMediumLevelILInstruction, instr_index: <function NewType.<locals>.new_type at 0x111812ca0>)
- __init__(function: MediumLevelILFunction, expr_index: ExpressionIndex, instr: CoreMediumLevelILInstruction, instr_index: InstructionIndex) None¶
- Parameters:
function (MediumLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreMediumLevelILInstruction) –
instr_index (InstructionIndex) –
- Return type:
None
- property detailed_operands: List[Tuple[str, int | float | MediumLevelILOperationAndSize | MediumLevelILInstruction | ILIntrinsic | Variable | SSAVariable | List[int] | List[Variable] | List[SSAVariable] | List[MediumLevelILInstruction] | Dict[int, int] | ConstantData, str]]¶
Returns a list of tuples containing the name of the operand, the operand, and the type of the operand. Useful for iterating over all operands of an instruction and sub-instructions.
- expr_index: ExpressionIndex¶
- function: MediumLevelILFunction¶
- instr_index: InstructionIndex¶
MediumLevelILInstruction¶
- class MediumLevelILInstruction[source]¶
Bases:
BaseILInstructionclass MediumLevelILInstructionMedium 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. x86mov eax, 0vs. MLILeax = 0).- __init__(function: MediumLevelILFunction, expr_index: ExpressionIndex, instr: CoreMediumLevelILInstruction, instr_index: InstructionIndex) None¶
- Parameters:
function (MediumLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreMediumLevelILInstruction) –
instr_index (InstructionIndex) –
- Return type:
None
- copy_to(dest: MediumLevelILFunction, sub_expr_handler: Callable[[MediumLevelILInstruction], ExpressionIndex] | None = None) ExpressionIndex[source]¶
copy_todeep copies an expression into a new IL function. If provided, the functionsub_expr_handlerwill be called on every copied sub-expressionWarning
This function should ONLY be called as a part of a lifter or workflow. It will otherwise not do anything useful as analysis will not be running.
- Parameters:
dest (MediumLevelILFunction) – Function to copy the expression to
sub_expr_handler (Callable[[MediumLevelILInstruction], ExpressionIndex] | None) – Optional function to call on every copied sub-expression
- Returns:
Index of the copied expression in the target function
- Return type:
ExpressionIndex
- classmethod create(func: MediumLevelILFunction, expr_index: ExpressionIndex, instr_index: InstructionIndex | None = None) MediumLevelILInstruction[source]¶
- Parameters:
func (MediumLevelILFunction) –
expr_index (ExpressionIndex) –
instr_index (InstructionIndex | None) –
- Return type:
- get_branch_dependence(branch_instr: int) ILBranchDependence[source]¶
- Parameters:
branch_instr (int) –
- Return type:
- get_flag_value(flag: FlagName | ILFlag | FlagIndex) RegisterValue[source]¶
- Parameters:
flag (FlagName | ILFlag | FlagIndex) –
- Return type:
- get_flag_value_after(flag: FlagName | ILFlag | FlagIndex) RegisterValue[source]¶
- Parameters:
flag (FlagName | ILFlag | FlagIndex) –
- Return type:
- get_possible_flag_values(flag: FlagName | ILFlag | FlagIndex, options: List[DataFlowQueryOption] | None = None) PossibleValueSet[source]¶
- Parameters:
flag (FlagName | ILFlag | FlagIndex) –
options (List[DataFlowQueryOption] | None) –
- Return type:
- get_possible_flag_values_after(flag: FlagName | ILFlag | FlagIndex, options: List[DataFlowQueryOption] | None = None) PossibleValueSet[source]¶
- Parameters:
flag (FlagName | ILFlag | FlagIndex) –
options (List[DataFlowQueryOption] | None) –
- Return type:
- get_possible_reg_values(reg: RegisterName | ILRegister | RegisterIndex, options: List[DataFlowQueryOption] | None = None) PossibleValueSet[source]¶
- Parameters:
reg (RegisterName | ILRegister | RegisterIndex) –
options (List[DataFlowQueryOption] | None) –
- Return type:
- get_possible_reg_values_after(reg: RegisterName | ILRegister | RegisterIndex, options: List[DataFlowQueryOption] | None = None) PossibleValueSet[source]¶
- Parameters:
reg (RegisterName | ILRegister | RegisterIndex) –
options (List[DataFlowQueryOption] | None) –
- Return type:
- get_possible_stack_contents(offset: int, size: int, options: List[DataFlowQueryOption] | None = None) PossibleValueSet[source]¶
- Parameters:
offset (int) –
size (int) –
options (List[DataFlowQueryOption] | None) –
- Return type:
- get_possible_stack_contents_after(offset: int, size: int, options: List[DataFlowQueryOption] | None = None) PossibleValueSet[source]¶
- Parameters:
offset (int) –
size (int) –
options (List[DataFlowQueryOption] | None) –
- Return type:
- get_possible_values(options: List[DataFlowQueryOption] | None = None) PossibleValueSet[source]¶
- Parameters:
options (List[DataFlowQueryOption] | None) –
- Return type:
- get_reg_value(reg: RegisterName | ILRegister | RegisterIndex) RegisterValue[source]¶
- Parameters:
reg (RegisterName | ILRegister | RegisterIndex) –
- Return type:
- get_reg_value_after(reg: RegisterName | ILRegister | RegisterIndex) RegisterValue[source]¶
- Parameters:
reg (RegisterName | ILRegister | RegisterIndex) –
- Return type:
- 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_varto split a variable at a definition. The givenvaris the assigned variable to query.
- get_ssa_var_possible_values(ssa_var: SSAVariable, options: List[DataFlowQueryOption] = [])[source]¶
- Parameters:
ssa_var (SSAVariable) –
options (List[DataFlowQueryOption]) –
- get_stack_contents(offset: int, size: int) RegisterValue[source]¶
- Parameters:
- Return type:
- get_stack_contents_after(offset: int, size: int) RegisterValue[source]¶
- Parameters:
- Return type:
- get_var_for_reg(reg: RegisterName | ILRegister | RegisterIndex) Variable[source]¶
- Parameters:
reg (RegisterName | ILRegister | RegisterIndex) –
- Return type:
- get_var_for_reg_after(reg: RegisterName | ILRegister | RegisterIndex) Variable[source]¶
- Parameters:
reg (RegisterName | ILRegister | RegisterIndex) –
- Return type:
- 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.
- traverse(cb: Callable[[MediumLevelILInstruction, Any], Any], *args: Any, **kwargs: Any) Iterator[Any][source]¶
traverseis a generator that allows you to traverse the MediumLevelILInstruction in a depth-first manner. It will yield the result of the callback function for each node in the tree. Arguments can be passed to the callback function usingargsandkwargs. See the Developer Docs for more examples.- Parameters:
cb (Callable[[MediumLevelILInstruction, Any], Any]) – The callback function to call for each node in the MediumLevelILInstruction
args (Any) – Custom user-defined arguments
kwargs (Any) – Custom user-defined keyword arguments
cb –
- Returns:
An iterator of the results of the callback function
- Return type:
Iterator[Any]
- Example:
>>> def get_constant_less_than_value(inst: MediumLevelILInstruction, value: int) -> int: >>> if isinstance(inst, Constant) and inst.constant < value: >>> return inst.constant >>> >>> list(inst.traverse(get_constant_less_than_value, 10))
- visit(cb: Callable[[str, int | float | MediumLevelILOperationAndSize | MediumLevelILInstruction | ILIntrinsic | Variable | SSAVariable | List[int] | List[Variable] | List[SSAVariable] | List[MediumLevelILInstruction] | Dict[int, int] | ConstantData, str, MediumLevelILInstruction | None], bool], name: str = 'root', parent: MediumLevelILInstruction | None = None) bool[source]¶
Visits all MediumLevelILInstructions in the operands of this instruction and any sub-instructions. In the callback you provide, you likely only need to interact with the second argument (see the example below).
- Parameters:
cb (MediumLevelILVisitorCallback) – Callback function that takes the name of the operand, the operand, operand type, and parent instruction
name (str) –
parent (MediumLevelILInstruction | None) –
- Returns:
True if all instructions were visited, False if the callback returned False
- Example:
>>> def visitor(_a, inst, _c, _d) -> bool: >>> if isinstance(inst, Constant): >>> print(f"Found constant: {inst.constant}") >>> return False # Stop recursion (once we find a constant, don't recurse in to any sub-instructions (which there won't actually be any...)) >>> # Otherwise, keep recursing the subexpressions of this instruction; if no return value is provided, it'll keep descending >>> >>> # Finds all constants used in the program >>> for inst in current_mlil.instructions: >>> inst.visit(visitor)
- Return type:
Deprecated since version 4.0.4907: Use
MediumLevelILInstruction.traverseinstead.
- visit_all(cb: Callable[[str, int | float | MediumLevelILOperationAndSize | MediumLevelILInstruction | ILIntrinsic | Variable | SSAVariable | List[int] | List[Variable] | List[SSAVariable] | List[MediumLevelILInstruction] | Dict[int, int] | ConstantData, str, MediumLevelILInstruction | None], bool], name: str = 'root', parent: MediumLevelILInstruction | None = None) bool[source]¶
Visits all operands of this instruction and all operands of any sub-instructions. Using pre-order traversal.
- Parameters:
cb (MediumLevelILVisitorCallback) – Callback function that takes the name of the operand, the operand, operand type, and parent instruction
name (str) –
parent (MediumLevelILInstruction | None) –
- Returns:
True if all instructions were visited, False if the callback returned False
- Return type:
Deprecated since version 4.0.4907: Use
MediumLevelILInstruction.traverseinstead.
- visit_operands(cb: Callable[[str, int | float | MediumLevelILOperationAndSize | MediumLevelILInstruction | ILIntrinsic | Variable | SSAVariable | List[int] | List[Variable] | List[SSAVariable] | List[MediumLevelILInstruction] | Dict[int, int] | ConstantData, str, MediumLevelILInstruction | None], bool], name: str = 'root', parent: MediumLevelILInstruction | None = None) bool[source]¶
Visits all leaf operands of this instruction and any sub-instructions.
- Parameters:
cb (MediumLevelILVisitorCallback) – Callback function that takes the name of the operand, the operand, operand type, and parent instruction
name (str) –
parent (MediumLevelILInstruction | None) –
- Returns:
True if all instructions were visited, False if the callback returned False
- Return type:
Deprecated since version 4.0.4907: Use
MediumLevelILInstruction.traverseinstead.
- 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_DATA: [('constant', 'ConstantData')], 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', 'expr_list')], MediumLevelILOperation.MLIL_SEPARATE_PARAM_LIST: [('params', 'expr_list')], MediumLevelILOperation.MLIL_SHARED_PARAM_SLOT: [('params', 'expr_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: [('dest', 'var_ssa_dest_and_src'), ('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: [('dest', 'var_ssa_dest_and_src'), ('prev', 'var_ssa_dest_and_src'), ('src', 'expr')], MediumLevelILOperation.MLIL_SET_VAR_ALIASED_FIELD: [('dest', 'var_ssa_dest_and_src'), ('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'), ('output_dest_memory', 'int'), ('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'), ('output_dest_memory', 'int'), ('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', 'expr_list')], MediumLevelILOperation.MLIL_CALL_OUTPUT_SSA: [('dest_memory', 'int'), ('dest', 'var_ssa_list')], MediumLevelILOperation.MLIL_MEMORY_INTRINSIC_OUTPUT_SSA: [('dest_memory', 'int'), ('output', '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_MEMORY_INTRINSIC_SSA: [('output', 'expr'), ('intrinsic', 'intrinsic'), ('params', 'expr_list'), ('src_memory', 'int')], 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 attributes: Set[ILInstructionAttribute]¶
The set of optional attributes placed on the instruction
- 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]¶
- property detailed_operands: List[Tuple[str, int | float | MediumLevelILOperationAndSize | MediumLevelILInstruction | ILIntrinsic | Variable | SSAVariable | List[int] | List[Variable] | List[SSAVariable] | List[MediumLevelILInstruction] | Dict[int, int] | ConstantData, str]]¶
Returns a list of tuples containing the name of the operand, the operand, and the type of the operand. Useful for iterating over all operands of an instruction and sub-instructions.
- expr_index: ExpressionIndex¶
- function: MediumLevelILFunction¶
- property high_level_il: HighLevelILInstruction | None¶
High level IL form of this expression
- property hlil: HighLevelILInstruction | None¶
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_index: InstructionIndex¶
- property instruction_operands: List[MediumLevelILInstruction]¶
- property llil: LowLevelILInstruction | None¶
Alias for low_level_il
- property llils: List[LowLevelILInstruction]¶
- property low_level_il: LowLevelILInstruction | None¶
Low level IL form of this expression
- property non_ssa_form: MediumLevelILInstruction¶
Non-SSA form of expression (read-only)
- property operands: List[int | float | MediumLevelILOperationAndSize | MediumLevelILInstruction | ILIntrinsic | Variable | SSAVariable | List[int] | List[Variable] | List[SSAVariable] | List[MediumLevelILInstruction] | Dict[int, int] | ConstantData]¶
Operands for the instruction
Consider using more specific APIs for
src,dest,params, etc where appropriate.
- property operation: MediumLevelILOperation¶
- property possible_values: PossibleValueSet¶
Possible values of expression using path-sensitive static data flow analysis (read-only)
- property postfix_operands: List[int | float | MediumLevelILOperationAndSize | MediumLevelILInstruction | ILIntrinsic | Variable | SSAVariable | List[int] | List[Variable] | List[SSAVariable] | List[MediumLevelILInstruction] | Dict[int, int] | ConstantData]¶
All operands in the expression tree in postfix order
- property prefix_operands: List[int | float | MediumLevelILOperationAndSize | MediumLevelILInstruction | ILIntrinsic | Variable | SSAVariable | List[int] | List[Variable] | List[SSAVariable] | List[MediumLevelILInstruction] | Dict[int, int] | ConstantData]¶
All operands in the expression tree in prefix order
- property raw_operands: Tuple[ExpressionIndex, ExpressionIndex, ExpressionIndex, ExpressionIndex, ExpressionIndex]¶
Raw operand expression indices as specified by the core structure (read-only)
- property source_location: ILSourceLocation¶
- 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 ssa_memory_version_after: int¶
Version of active memory contents in SSA form after 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[Variable | SSAVariable]¶
Non-unique list of variables whose address is taken by instruction
- property vars_read: List[Variable | SSAVariable]¶
List of variables read by instruction
- property vars_written: List[Variable | SSAVariable]¶
List of variables written by instruction
MediumLevelILIntToFloat¶
- class MediumLevelILIntToFloat[source]¶
Bases:
MediumLevelILUnaryBase,Arithmetic,FloatingPointMediumLevelILIntToFloat(function: ‘MediumLevelILFunction’, expr_index: <function NewType.<locals>.new_type at 0x1129439d0>, instr: binaryninja.mediumlevelil.CoreMediumLevelILInstruction, instr_index: <function NewType.<locals>.new_type at 0x111812ca0>)
- __init__(function: MediumLevelILFunction, expr_index: ExpressionIndex, instr: CoreMediumLevelILInstruction, instr_index: InstructionIndex) None¶
- Parameters:
function (MediumLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreMediumLevelILInstruction) –
instr_index (InstructionIndex) –
- Return type:
None
- expr_index: ExpressionIndex¶
- function: MediumLevelILFunction¶
- instr_index: InstructionIndex¶
MediumLevelILIntrinsic¶
- class MediumLevelILIntrinsic[source]¶
Bases:
MediumLevelILInstruction,IntrinsicMediumLevelILIntrinsic(function: ‘MediumLevelILFunction’, expr_index: <function NewType.<locals>.new_type at 0x1129439d0>, instr: binaryninja.mediumlevelil.CoreMediumLevelILInstruction, instr_index: <function NewType.<locals>.new_type at 0x111812ca0>)
- __init__(function: MediumLevelILFunction, expr_index: ExpressionIndex, instr: CoreMediumLevelILInstruction, instr_index: InstructionIndex) None¶
- Parameters:
function (MediumLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreMediumLevelILInstruction) –
instr_index (InstructionIndex) –
- Return type:
None
- property detailed_operands: List[Tuple[str, int | float | MediumLevelILOperationAndSize | MediumLevelILInstruction | ILIntrinsic | Variable | SSAVariable | List[int] | List[Variable] | List[SSAVariable] | List[MediumLevelILInstruction] | Dict[int, int] | ConstantData, str]]¶
Returns a list of tuples containing the name of the operand, the operand, and the type of the operand. Useful for iterating over all operands of an instruction and sub-instructions.
- expr_index: ExpressionIndex¶
- function: MediumLevelILFunction¶
- instr_index: InstructionIndex¶
- property intrinsic: ILIntrinsic¶
- property params: List[MediumLevelILInstruction]¶
MediumLevelILIntrinsicSsa¶
- class MediumLevelILIntrinsicSsa[source]¶
Bases:
MediumLevelILInstruction,SSAMediumLevelILIntrinsicSsa(function: ‘MediumLevelILFunction’, expr_index: <function NewType.<locals>.new_type at 0x1129439d0>, instr: binaryninja.mediumlevelil.CoreMediumLevelILInstruction, instr_index: <function NewType.<locals>.new_type at 0x111812ca0>)
- __init__(function: MediumLevelILFunction, expr_index: ExpressionIndex, instr: CoreMediumLevelILInstruction, instr_index: InstructionIndex) None¶
- Parameters:
function (MediumLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreMediumLevelILInstruction) –
instr_index (InstructionIndex) –
- Return type:
None
- property detailed_operands: List[Tuple[str, int | float | MediumLevelILOperationAndSize | MediumLevelILInstruction | ILIntrinsic | Variable | SSAVariable | List[int] | List[Variable] | List[SSAVariable] | List[MediumLevelILInstruction] | Dict[int, int] | ConstantData, str]]¶
Returns a list of tuples containing the name of the operand, the operand, and the type of the operand. Useful for iterating over all operands of an instruction and sub-instructions.
- expr_index: ExpressionIndex¶
- function: MediumLevelILFunction¶
- instr_index: InstructionIndex¶
- property intrinsic: ILIntrinsic¶
- 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
MediumLevelILJump¶
- class MediumLevelILJump[source]¶
Bases:
MediumLevelILInstruction,TerminalMediumLevelILJump(function: ‘MediumLevelILFunction’, expr_index: <function NewType.<locals>.new_type at 0x1129439d0>, instr: binaryninja.mediumlevelil.CoreMediumLevelILInstruction, instr_index: <function NewType.<locals>.new_type at 0x111812ca0>)
- __init__(function: MediumLevelILFunction, expr_index: ExpressionIndex, instr: CoreMediumLevelILInstruction, instr_index: InstructionIndex) None¶
- Parameters:
function (MediumLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreMediumLevelILInstruction) –
instr_index (InstructionIndex) –
- Return type:
None
- property dest: MediumLevelILInstruction¶
- property detailed_operands: List[Tuple[str, int | float | MediumLevelILOperationAndSize | MediumLevelILInstruction | ILIntrinsic | Variable | SSAVariable | List[int] | List[Variable] | List[SSAVariable] | List[MediumLevelILInstruction] | Dict[int, int] | ConstantData, str]]¶
Returns a list of tuples containing the name of the operand, the operand, and the type of the operand. Useful for iterating over all operands of an instruction and sub-instructions.
- expr_index: ExpressionIndex¶
- function: MediumLevelILFunction¶
- instr_index: InstructionIndex¶
MediumLevelILJumpTo¶
- class MediumLevelILJumpTo[source]¶
Bases:
MediumLevelILInstruction,TerminalMediumLevelILJumpTo(function: ‘MediumLevelILFunction’, expr_index: <function NewType.<locals>.new_type at 0x1129439d0>, instr: binaryninja.mediumlevelil.CoreMediumLevelILInstruction, instr_index: <function NewType.<locals>.new_type at 0x111812ca0>)
- __init__(function: MediumLevelILFunction, expr_index: ExpressionIndex, instr: CoreMediumLevelILInstruction, instr_index: InstructionIndex) None¶
- Parameters:
function (MediumLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreMediumLevelILInstruction) –
instr_index (InstructionIndex) –
- Return type:
None
- property dest: MediumLevelILInstruction¶
- property detailed_operands: List[Tuple[str, int | float | MediumLevelILOperationAndSize | MediumLevelILInstruction | ILIntrinsic | Variable | SSAVariable | List[int] | List[Variable] | List[SSAVariable] | List[MediumLevelILInstruction] | Dict[int, int] | ConstantData, str]]¶
Returns a list of tuples containing the name of the operand, the operand, and the type of the operand. Useful for iterating over all operands of an instruction and sub-instructions.
- expr_index: ExpressionIndex¶
- function: MediumLevelILFunction¶
- instr_index: InstructionIndex¶
MediumLevelILLabel¶
MediumLevelILLoad¶
- class MediumLevelILLoad[source]¶
Bases:
MediumLevelILInstruction,LoadMediumLevelILLoad(function: ‘MediumLevelILFunction’, expr_index: <function NewType.<locals>.new_type at 0x1129439d0>, instr: binaryninja.mediumlevelil.CoreMediumLevelILInstruction, instr_index: <function NewType.<locals>.new_type at 0x111812ca0>)
- __init__(function: MediumLevelILFunction, expr_index: ExpressionIndex, instr: CoreMediumLevelILInstruction, instr_index: InstructionIndex) None¶
- Parameters:
function (MediumLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreMediumLevelILInstruction) –
instr_index (InstructionIndex) –
- Return type:
None
- property detailed_operands: List[Tuple[str, int | float | MediumLevelILOperationAndSize | MediumLevelILInstruction | ILIntrinsic | Variable | SSAVariable | List[int] | List[Variable] | List[SSAVariable] | List[MediumLevelILInstruction] | Dict[int, int] | ConstantData, str]]¶
Returns a list of tuples containing the name of the operand, the operand, and the type of the operand. Useful for iterating over all operands of an instruction and sub-instructions.
- expr_index: ExpressionIndex¶
- function: MediumLevelILFunction¶
- instr_index: InstructionIndex¶
- property src: MediumLevelILInstruction¶
MediumLevelILLoadSsa¶
- class MediumLevelILLoadSsa[source]¶
Bases:
MediumLevelILInstruction,Load,SSAMediumLevelILLoadSsa(function: ‘MediumLevelILFunction’, expr_index: <function NewType.<locals>.new_type at 0x1129439d0>, instr: binaryninja.mediumlevelil.CoreMediumLevelILInstruction, instr_index: <function NewType.<locals>.new_type at 0x111812ca0>)
- __init__(function: MediumLevelILFunction, expr_index: ExpressionIndex, instr: CoreMediumLevelILInstruction, instr_index: InstructionIndex) None¶
- Parameters:
function (MediumLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreMediumLevelILInstruction) –
instr_index (InstructionIndex) –
- Return type:
None
- property detailed_operands: List[Tuple[str, int | float | MediumLevelILOperationAndSize | MediumLevelILInstruction | ILIntrinsic | Variable | SSAVariable | List[int] | List[Variable] | List[SSAVariable] | List[MediumLevelILInstruction] | Dict[int, int] | ConstantData, str]]¶
Returns a list of tuples containing the name of the operand, the operand, and the type of the operand. Useful for iterating over all operands of an instruction and sub-instructions.
- expr_index: ExpressionIndex¶
- function: MediumLevelILFunction¶
- instr_index: InstructionIndex¶
- property src: MediumLevelILInstruction¶
MediumLevelILLoadStruct¶
- class MediumLevelILLoadStruct[source]¶
Bases:
MediumLevelILInstruction,LoadMediumLevelILLoadStruct(function: ‘MediumLevelILFunction’, expr_index: <function NewType.<locals>.new_type at 0x1129439d0>, instr: binaryninja.mediumlevelil.CoreMediumLevelILInstruction, instr_index: <function NewType.<locals>.new_type at 0x111812ca0>)
- __init__(function: MediumLevelILFunction, expr_index: ExpressionIndex, instr: CoreMediumLevelILInstruction, instr_index: InstructionIndex) None¶
- Parameters:
function (MediumLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreMediumLevelILInstruction) –
instr_index (InstructionIndex) –
- Return type:
None
- property detailed_operands: List[Tuple[str, int | float | MediumLevelILOperationAndSize | MediumLevelILInstruction | ILIntrinsic | Variable | SSAVariable | List[int] | List[Variable] | List[SSAVariable] | List[MediumLevelILInstruction] | Dict[int, int] | ConstantData, str]]¶
Returns a list of tuples containing the name of the operand, the operand, and the type of the operand. Useful for iterating over all operands of an instruction and sub-instructions.
- expr_index: ExpressionIndex¶
- function: MediumLevelILFunction¶
- instr_index: InstructionIndex¶
- property src: MediumLevelILInstruction¶
MediumLevelILLoadStructSsa¶
- class MediumLevelILLoadStructSsa[source]¶
Bases:
MediumLevelILInstruction,Load,SSAMediumLevelILLoadStructSsa(function: ‘MediumLevelILFunction’, expr_index: <function NewType.<locals>.new_type at 0x1129439d0>, instr: binaryninja.mediumlevelil.CoreMediumLevelILInstruction, instr_index: <function NewType.<locals>.new_type at 0x111812ca0>)
- __init__(function: MediumLevelILFunction, expr_index: ExpressionIndex, instr: CoreMediumLevelILInstruction, instr_index: InstructionIndex) None¶
- Parameters:
function (MediumLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreMediumLevelILInstruction) –
instr_index (InstructionIndex) –
- Return type:
None
- property detailed_operands: List[Tuple[str, int | float | MediumLevelILOperationAndSize | MediumLevelILInstruction | ILIntrinsic | Variable | SSAVariable | List[int] | List[Variable] | List[SSAVariable] | List[MediumLevelILInstruction] | Dict[int, int] | ConstantData, str]]¶
Returns a list of tuples containing the name of the operand, the operand, and the type of the operand. Useful for iterating over all operands of an instruction and sub-instructions.
- expr_index: ExpressionIndex¶
- function: MediumLevelILFunction¶
- instr_index: InstructionIndex¶
- property src: MediumLevelILInstruction¶
MediumLevelILLowPart¶
- class MediumLevelILLowPart[source]¶
Bases:
MediumLevelILUnaryBase,ArithmeticMediumLevelILLowPart(function: ‘MediumLevelILFunction’, expr_index: <function NewType.<locals>.new_type at 0x1129439d0>, instr: binaryninja.mediumlevelil.CoreMediumLevelILInstruction, instr_index: <function NewType.<locals>.new_type at 0x111812ca0>)
- __init__(function: MediumLevelILFunction, expr_index: ExpressionIndex, instr: CoreMediumLevelILInstruction, instr_index: InstructionIndex) None¶
- Parameters:
function (MediumLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreMediumLevelILInstruction) –
instr_index (InstructionIndex) –
- Return type:
None
- expr_index: ExpressionIndex¶
- function: MediumLevelILFunction¶
- instr_index: InstructionIndex¶
MediumLevelILLsl¶
- class MediumLevelILLsl[source]¶
Bases:
MediumLevelILBinaryBase,ArithmeticMediumLevelILLsl(function: ‘MediumLevelILFunction’, expr_index: <function NewType.<locals>.new_type at 0x1129439d0>, instr: binaryninja.mediumlevelil.CoreMediumLevelILInstruction, instr_index: <function NewType.<locals>.new_type at 0x111812ca0>)
- __init__(function: MediumLevelILFunction, expr_index: ExpressionIndex, instr: CoreMediumLevelILInstruction, instr_index: InstructionIndex) None¶
- Parameters:
function (MediumLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreMediumLevelILInstruction) –
instr_index (InstructionIndex) –
- Return type:
None
- expr_index: ExpressionIndex¶
- function: MediumLevelILFunction¶
- instr_index: InstructionIndex¶
MediumLevelILLsr¶
- class MediumLevelILLsr[source]¶
Bases:
MediumLevelILBinaryBase,ArithmeticMediumLevelILLsr(function: ‘MediumLevelILFunction’, expr_index: <function NewType.<locals>.new_type at 0x1129439d0>, instr: binaryninja.mediumlevelil.CoreMediumLevelILInstruction, instr_index: <function NewType.<locals>.new_type at 0x111812ca0>)
- __init__(function: MediumLevelILFunction, expr_index: ExpressionIndex, instr: CoreMediumLevelILInstruction, instr_index: InstructionIndex) None¶
- Parameters:
function (MediumLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreMediumLevelILInstruction) –
instr_index (InstructionIndex) –
- Return type:
None
- expr_index: ExpressionIndex¶
- function: MediumLevelILFunction¶
- instr_index: InstructionIndex¶
MediumLevelILMemPhi¶
- class MediumLevelILMemPhi[source]¶
Bases:
MediumLevelILInstruction,Memory,PhiMediumLevelILMemPhi(function: ‘MediumLevelILFunction’, expr_index: <function NewType.<locals>.new_type at 0x1129439d0>, instr: binaryninja.mediumlevelil.CoreMediumLevelILInstruction, instr_index: <function NewType.<locals>.new_type at 0x111812ca0>)
- __init__(function: MediumLevelILFunction, expr_index: ExpressionIndex, instr: CoreMediumLevelILInstruction, instr_index: InstructionIndex) None¶
- Parameters:
function (MediumLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreMediumLevelILInstruction) –
instr_index (InstructionIndex) –
- Return type:
None
- property detailed_operands: List[Tuple[str, int | float | MediumLevelILOperationAndSize | MediumLevelILInstruction | ILIntrinsic | Variable | SSAVariable | List[int] | List[Variable] | List[SSAVariable] | List[MediumLevelILInstruction] | Dict[int, int] | ConstantData, str]]¶
Returns a list of tuples containing the name of the operand, the operand, and the type of the operand. Useful for iterating over all operands of an instruction and sub-instructions.
- expr_index: ExpressionIndex¶
- function: MediumLevelILFunction¶
- instr_index: InstructionIndex¶
MediumLevelILMemoryIntrinsicOutputSsa¶
- class MediumLevelILMemoryIntrinsicOutputSsa[source]¶
Bases:
MediumLevelILInstruction,SSAMediumLevelILMemoryIntrinsicOutputSsa(function: ‘MediumLevelILFunction’, expr_index: <function NewType.<locals>.new_type at 0x1129439d0>, instr: binaryninja.mediumlevelil.CoreMediumLevelILInstruction, instr_index: <function NewType.<locals>.new_type at 0x111812ca0>)
- __init__(function: MediumLevelILFunction, expr_index: ExpressionIndex, instr: CoreMediumLevelILInstruction, instr_index: InstructionIndex) None¶
- Parameters:
function (MediumLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreMediumLevelILInstruction) –
instr_index (InstructionIndex) –
- Return type:
None
- property detailed_operands: List[Tuple[str, int | float | MediumLevelILOperationAndSize | MediumLevelILInstruction | ILIntrinsic | Variable | SSAVariable | List[int] | List[Variable] | List[SSAVariable] | List[MediumLevelILInstruction] | Dict[int, int] | ConstantData, str]]¶
Returns a list of tuples containing the name of the operand, the operand, and the type of the operand. Useful for iterating over all operands of an instruction and sub-instructions.
- expr_index: ExpressionIndex¶
- function: MediumLevelILFunction¶
- instr_index: InstructionIndex¶
- property output: List[SSAVariable]¶
MediumLevelILMemoryIntrinsicSsa¶
- class MediumLevelILMemoryIntrinsicSsa[source]¶
Bases:
MediumLevelILInstruction,SSAMediumLevelILMemoryIntrinsicSsa(function: ‘MediumLevelILFunction’, expr_index: <function NewType.<locals>.new_type at 0x1129439d0>, instr: binaryninja.mediumlevelil.CoreMediumLevelILInstruction, instr_index: <function NewType.<locals>.new_type at 0x111812ca0>)
- __init__(function: MediumLevelILFunction, expr_index: ExpressionIndex, instr: CoreMediumLevelILInstruction, instr_index: InstructionIndex) None¶
- Parameters:
function (MediumLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreMediumLevelILInstruction) –
instr_index (InstructionIndex) –
- Return type:
None
- property detailed_operands: List[Tuple[str, int | float | MediumLevelILOperationAndSize | MediumLevelILInstruction | ILIntrinsic | Variable | SSAVariable | List[int] | List[Variable] | List[SSAVariable] | List[MediumLevelILInstruction] | Dict[int, int] | ConstantData, str]]¶
Returns a list of tuples containing the name of the operand, the operand, and the type of the operand. Useful for iterating over all operands of an instruction and sub-instructions.
- expr_index: ExpressionIndex¶
- function: MediumLevelILFunction¶
- instr_index: InstructionIndex¶
- property intrinsic: ILIntrinsic¶
- property output: List[SSAVariable]¶
- property params: List[MediumLevelILInstruction]¶
MediumLevelILMods¶
- class MediumLevelILMods[source]¶
Bases:
MediumLevelILBinaryBase,Arithmetic,SignedMediumLevelILMods(function: ‘MediumLevelILFunction’, expr_index: <function NewType.<locals>.new_type at 0x1129439d0>, instr: binaryninja.mediumlevelil.CoreMediumLevelILInstruction, instr_index: <function NewType.<locals>.new_type at 0x111812ca0>)
- __init__(function: MediumLevelILFunction, expr_index: ExpressionIndex, instr: CoreMediumLevelILInstruction, instr_index: InstructionIndex) None¶
- Parameters:
function (MediumLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreMediumLevelILInstruction) –
instr_index (InstructionIndex) –
- Return type:
None
- expr_index: ExpressionIndex¶
- function: MediumLevelILFunction¶
- instr_index: InstructionIndex¶
MediumLevelILModsDp¶
- class MediumLevelILModsDp[source]¶
Bases:
MediumLevelILBinaryBase,DoublePrecision,SignedMediumLevelILModsDp(function: ‘MediumLevelILFunction’, expr_index: <function NewType.<locals>.new_type at 0x1129439d0>, instr: binaryninja.mediumlevelil.CoreMediumLevelILInstruction, instr_index: <function NewType.<locals>.new_type at 0x111812ca0>)
- __init__(function: MediumLevelILFunction, expr_index: ExpressionIndex, instr: CoreMediumLevelILInstruction, instr_index: InstructionIndex) None¶
- Parameters:
function (MediumLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreMediumLevelILInstruction) –
instr_index (InstructionIndex) –
- Return type:
None
- expr_index: ExpressionIndex¶
- function: MediumLevelILFunction¶
- instr_index: InstructionIndex¶
MediumLevelILModu¶
- class MediumLevelILModu[source]¶
Bases:
MediumLevelILBinaryBase,ArithmeticMediumLevelILModu(function: ‘MediumLevelILFunction’, expr_index: <function NewType.<locals>.new_type at 0x1129439d0>, instr: binaryninja.mediumlevelil.CoreMediumLevelILInstruction, instr_index: <function NewType.<locals>.new_type at 0x111812ca0>)
- __init__(function: MediumLevelILFunction, expr_index: ExpressionIndex, instr: CoreMediumLevelILInstruction, instr_index: InstructionIndex) None¶
- Parameters:
function (MediumLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreMediumLevelILInstruction) –
instr_index (InstructionIndex) –
- Return type:
None
- expr_index: ExpressionIndex¶
- function: MediumLevelILFunction¶
- instr_index: InstructionIndex¶
MediumLevelILModuDp¶
- class MediumLevelILModuDp[source]¶
Bases:
MediumLevelILBinaryBase,DoublePrecisionMediumLevelILModuDp(function: ‘MediumLevelILFunction’, expr_index: <function NewType.<locals>.new_type at 0x1129439d0>, instr: binaryninja.mediumlevelil.CoreMediumLevelILInstruction, instr_index: <function NewType.<locals>.new_type at 0x111812ca0>)
- __init__(function: MediumLevelILFunction, expr_index: ExpressionIndex, instr: CoreMediumLevelILInstruction, instr_index: InstructionIndex) None¶
- Parameters:
function (MediumLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreMediumLevelILInstruction) –
instr_index (InstructionIndex) –
- Return type:
None
- expr_index: ExpressionIndex¶
- function: MediumLevelILFunction¶
- instr_index: InstructionIndex¶
MediumLevelILMul¶
- class MediumLevelILMul[source]¶
Bases:
MediumLevelILBinaryBase,ArithmeticMediumLevelILMul(function: ‘MediumLevelILFunction’, expr_index: <function NewType.<locals>.new_type at 0x1129439d0>, instr: binaryninja.mediumlevelil.CoreMediumLevelILInstruction, instr_index: <function NewType.<locals>.new_type at 0x111812ca0>)
- __init__(function: MediumLevelILFunction, expr_index: ExpressionIndex, instr: CoreMediumLevelILInstruction, instr_index: InstructionIndex) None¶
- Parameters:
function (MediumLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreMediumLevelILInstruction) –
instr_index (InstructionIndex) –
- Return type:
None
- expr_index: ExpressionIndex¶
- function: MediumLevelILFunction¶
- instr_index: InstructionIndex¶
MediumLevelILMulsDp¶
- class MediumLevelILMulsDp[source]¶
Bases:
MediumLevelILBinaryBase,DoublePrecision,SignedMediumLevelILMulsDp(function: ‘MediumLevelILFunction’, expr_index: <function NewType.<locals>.new_type at 0x1129439d0>, instr: binaryninja.mediumlevelil.CoreMediumLevelILInstruction, instr_index: <function NewType.<locals>.new_type at 0x111812ca0>)
- __init__(function: MediumLevelILFunction, expr_index: ExpressionIndex, instr: CoreMediumLevelILInstruction, instr_index: InstructionIndex) None¶
- Parameters:
function (MediumLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreMediumLevelILInstruction) –
instr_index (InstructionIndex) –
- Return type:
None
- expr_index: ExpressionIndex¶
- function: MediumLevelILFunction¶
- instr_index: InstructionIndex¶
MediumLevelILMuluDp¶
- class MediumLevelILMuluDp[source]¶
Bases:
MediumLevelILBinaryBase,DoublePrecisionMediumLevelILMuluDp(function: ‘MediumLevelILFunction’, expr_index: <function NewType.<locals>.new_type at 0x1129439d0>, instr: binaryninja.mediumlevelil.CoreMediumLevelILInstruction, instr_index: <function NewType.<locals>.new_type at 0x111812ca0>)
- __init__(function: MediumLevelILFunction, expr_index: ExpressionIndex, instr: CoreMediumLevelILInstruction, instr_index: InstructionIndex) None¶
- Parameters:
function (MediumLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreMediumLevelILInstruction) –
instr_index (InstructionIndex) –
- Return type:
None
- expr_index: ExpressionIndex¶
- function: MediumLevelILFunction¶
- instr_index: InstructionIndex¶
MediumLevelILNeg¶
- class MediumLevelILNeg[source]¶
Bases:
MediumLevelILUnaryBase,ArithmeticMediumLevelILNeg(function: ‘MediumLevelILFunction’, expr_index: <function NewType.<locals>.new_type at 0x1129439d0>, instr: binaryninja.mediumlevelil.CoreMediumLevelILInstruction, instr_index: <function NewType.<locals>.new_type at 0x111812ca0>)
- __init__(function: MediumLevelILFunction, expr_index: ExpressionIndex, instr: CoreMediumLevelILInstruction, instr_index: InstructionIndex) None¶
- Parameters:
function (MediumLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreMediumLevelILInstruction) –
instr_index (InstructionIndex) –
- Return type:
None
- expr_index: ExpressionIndex¶
- function: MediumLevelILFunction¶
- instr_index: InstructionIndex¶
MediumLevelILNop¶
- class MediumLevelILNop[source]¶
Bases:
MediumLevelILInstructionMediumLevelILNop(function: ‘MediumLevelILFunction’, expr_index: <function NewType.<locals>.new_type at 0x1129439d0>, instr: binaryninja.mediumlevelil.CoreMediumLevelILInstruction, instr_index: <function NewType.<locals>.new_type at 0x111812ca0>)
- __init__(function: MediumLevelILFunction, expr_index: ExpressionIndex, instr: CoreMediumLevelILInstruction, instr_index: InstructionIndex) None¶
- Parameters:
function (MediumLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreMediumLevelILInstruction) –
instr_index (InstructionIndex) –
- Return type:
None
- expr_index: ExpressionIndex¶
- function: MediumLevelILFunction¶
- instr_index: InstructionIndex¶
MediumLevelILNoret¶
- class MediumLevelILNoret[source]¶
Bases:
MediumLevelILInstruction,TerminalMediumLevelILNoret(function: ‘MediumLevelILFunction’, expr_index: <function NewType.<locals>.new_type at 0x1129439d0>, instr: binaryninja.mediumlevelil.CoreMediumLevelILInstruction, instr_index: <function NewType.<locals>.new_type at 0x111812ca0>)
- __init__(function: MediumLevelILFunction, expr_index: ExpressionIndex, instr: CoreMediumLevelILInstruction, instr_index: InstructionIndex) None¶
- Parameters:
function (MediumLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreMediumLevelILInstruction) –
instr_index (InstructionIndex) –
- Return type:
None
- expr_index: ExpressionIndex¶
- function: MediumLevelILFunction¶
- instr_index: InstructionIndex¶
MediumLevelILNot¶
- class MediumLevelILNot[source]¶
Bases:
MediumLevelILUnaryBase,ArithmeticMediumLevelILNot(function: ‘MediumLevelILFunction’, expr_index: <function NewType.<locals>.new_type at 0x1129439d0>, instr: binaryninja.mediumlevelil.CoreMediumLevelILInstruction, instr_index: <function NewType.<locals>.new_type at 0x111812ca0>)
- __init__(function: MediumLevelILFunction, expr_index: ExpressionIndex, instr: CoreMediumLevelILInstruction, instr_index: InstructionIndex) None¶
- Parameters:
function (MediumLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreMediumLevelILInstruction) –
instr_index (InstructionIndex) –
- Return type:
None
- expr_index: ExpressionIndex¶
- function: MediumLevelILFunction¶
- instr_index: InstructionIndex¶
MediumLevelILOperationAndSize¶
- class MediumLevelILOperationAndSize[source]¶
Bases:
objectMediumLevelILOperationAndSize(operation: binaryninja.enums.MediumLevelILOperation, size: int)
- __init__(operation: MediumLevelILOperation, size: int) None¶
- Parameters:
operation (MediumLevelILOperation) –
size (int) –
- Return type:
None
- operation: MediumLevelILOperation¶
MediumLevelILOr¶
- class MediumLevelILOr[source]¶
Bases:
MediumLevelILBinaryBase,ArithmeticMediumLevelILOr(function: ‘MediumLevelILFunction’, expr_index: <function NewType.<locals>.new_type at 0x1129439d0>, instr: binaryninja.mediumlevelil.CoreMediumLevelILInstruction, instr_index: <function NewType.<locals>.new_type at 0x111812ca0>)
- __init__(function: MediumLevelILFunction, expr_index: ExpressionIndex, instr: CoreMediumLevelILInstruction, instr_index: InstructionIndex) None¶
- Parameters:
function (MediumLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreMediumLevelILInstruction) –
instr_index (InstructionIndex) –
- Return type:
None
- expr_index: ExpressionIndex¶
- function: MediumLevelILFunction¶
- instr_index: InstructionIndex¶
MediumLevelILRet¶
- class MediumLevelILRet[source]¶
Bases:
MediumLevelILInstruction,ReturnMediumLevelILRet(function: ‘MediumLevelILFunction’, expr_index: <function NewType.<locals>.new_type at 0x1129439d0>, instr: binaryninja.mediumlevelil.CoreMediumLevelILInstruction, instr_index: <function NewType.<locals>.new_type at 0x111812ca0>)
- __init__(function: MediumLevelILFunction, expr_index: ExpressionIndex, instr: CoreMediumLevelILInstruction, instr_index: InstructionIndex) None¶
- Parameters:
function (MediumLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreMediumLevelILInstruction) –
instr_index (InstructionIndex) –
- Return type:
None
- property detailed_operands: List[Tuple[str, int | float | MediumLevelILOperationAndSize | MediumLevelILInstruction | ILIntrinsic | Variable | SSAVariable | List[int] | List[Variable] | List[SSAVariable] | List[MediumLevelILInstruction] | Dict[int, int] | ConstantData, str]]¶
Returns a list of tuples containing the name of the operand, the operand, and the type of the operand. Useful for iterating over all operands of an instruction and sub-instructions.
- expr_index: ExpressionIndex¶
- function: MediumLevelILFunction¶
- instr_index: InstructionIndex¶
- property src: List[MediumLevelILInstruction]¶
MediumLevelILRetHint¶
- class MediumLevelILRetHint[source]¶
Bases:
MediumLevelILInstruction,ControlFlowMediumLevelILRetHint(function: ‘MediumLevelILFunction’, expr_index: <function NewType.<locals>.new_type at 0x1129439d0>, instr: binaryninja.mediumlevelil.CoreMediumLevelILInstruction, instr_index: <function NewType.<locals>.new_type at 0x111812ca0>)
- __init__(function: MediumLevelILFunction, expr_index: ExpressionIndex, instr: CoreMediumLevelILInstruction, instr_index: InstructionIndex) None¶
- Parameters:
function (MediumLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreMediumLevelILInstruction) –
instr_index (InstructionIndex) –
- Return type:
None
- property dest: MediumLevelILInstruction¶
- property detailed_operands: List[Tuple[str, int | float | MediumLevelILOperationAndSize | MediumLevelILInstruction | ILIntrinsic | Variable | SSAVariable | List[int] | List[Variable] | List[SSAVariable] | List[MediumLevelILInstruction] | Dict[int, int] | ConstantData, str]]¶
Returns a list of tuples containing the name of the operand, the operand, and the type of the operand. Useful for iterating over all operands of an instruction and sub-instructions.
- expr_index: ExpressionIndex¶
- function: MediumLevelILFunction¶
- instr_index: InstructionIndex¶
MediumLevelILRlc¶
- class MediumLevelILRlc[source]¶
Bases:
MediumLevelILCarryBaseMediumLevelILRlc(function: ‘MediumLevelILFunction’, expr_index: <function NewType.<locals>.new_type at 0x1129439d0>, instr: binaryninja.mediumlevelil.CoreMediumLevelILInstruction, instr_index: <function NewType.<locals>.new_type at 0x111812ca0>)
- __init__(function: MediumLevelILFunction, expr_index: ExpressionIndex, instr: CoreMediumLevelILInstruction, instr_index: InstructionIndex) None¶
- Parameters:
function (MediumLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreMediumLevelILInstruction) –
instr_index (InstructionIndex) –
- Return type:
None
- expr_index: ExpressionIndex¶
- function: MediumLevelILFunction¶
- instr_index: InstructionIndex¶
MediumLevelILRol¶
- class MediumLevelILRol[source]¶
Bases:
MediumLevelILBinaryBase,ArithmeticMediumLevelILRol(function: ‘MediumLevelILFunction’, expr_index: <function NewType.<locals>.new_type at 0x1129439d0>, instr: binaryninja.mediumlevelil.CoreMediumLevelILInstruction, instr_index: <function NewType.<locals>.new_type at 0x111812ca0>)
- __init__(function: MediumLevelILFunction, expr_index: ExpressionIndex, instr: CoreMediumLevelILInstruction, instr_index: InstructionIndex) None¶
- Parameters:
function (MediumLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreMediumLevelILInstruction) –
instr_index (InstructionIndex) –
- Return type:
None
- expr_index: ExpressionIndex¶
- function: MediumLevelILFunction¶
- instr_index: InstructionIndex¶
MediumLevelILRor¶
- class MediumLevelILRor[source]¶
Bases:
MediumLevelILBinaryBase,ArithmeticMediumLevelILRor(function: ‘MediumLevelILFunction’, expr_index: <function NewType.<locals>.new_type at 0x1129439d0>, instr: binaryninja.mediumlevelil.CoreMediumLevelILInstruction, instr_index: <function NewType.<locals>.new_type at 0x111812ca0>)
- __init__(function: MediumLevelILFunction, expr_index: ExpressionIndex, instr: CoreMediumLevelILInstruction, instr_index: InstructionIndex) None¶
- Parameters:
function (MediumLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreMediumLevelILInstruction) –
instr_index (InstructionIndex) –
- Return type:
None
- expr_index: ExpressionIndex¶
- function: MediumLevelILFunction¶
- instr_index: InstructionIndex¶
MediumLevelILRoundToInt¶
- class MediumLevelILRoundToInt[source]¶
Bases:
MediumLevelILUnaryBase,Arithmetic,FloatingPointMediumLevelILRoundToInt(function: ‘MediumLevelILFunction’, expr_index: <function NewType.<locals>.new_type at 0x1129439d0>, instr: binaryninja.mediumlevelil.CoreMediumLevelILInstruction, instr_index: <function NewType.<locals>.new_type at 0x111812ca0>)
- __init__(function: MediumLevelILFunction, expr_index: ExpressionIndex, instr: CoreMediumLevelILInstruction, instr_index: InstructionIndex) None¶
- Parameters:
function (MediumLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreMediumLevelILInstruction) –
instr_index (InstructionIndex) –
- Return type:
None
- expr_index: ExpressionIndex¶
- function: MediumLevelILFunction¶
- instr_index: InstructionIndex¶
MediumLevelILRrc¶
- class MediumLevelILRrc[source]¶
Bases:
MediumLevelILCarryBaseMediumLevelILRrc(function: ‘MediumLevelILFunction’, expr_index: <function NewType.<locals>.new_type at 0x1129439d0>, instr: binaryninja.mediumlevelil.CoreMediumLevelILInstruction, instr_index: <function NewType.<locals>.new_type at 0x111812ca0>)
- __init__(function: MediumLevelILFunction, expr_index: ExpressionIndex, instr: CoreMediumLevelILInstruction, instr_index: InstructionIndex) None¶
- Parameters:
function (MediumLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreMediumLevelILInstruction) –
instr_index (InstructionIndex) –
- Return type:
None
- expr_index: ExpressionIndex¶
- function: MediumLevelILFunction¶
- instr_index: InstructionIndex¶
MediumLevelILSbb¶
- class MediumLevelILSbb[source]¶
Bases:
MediumLevelILCarryBaseMediumLevelILSbb(function: ‘MediumLevelILFunction’, expr_index: <function NewType.<locals>.new_type at 0x1129439d0>, instr: binaryninja.mediumlevelil.CoreMediumLevelILInstruction, instr_index: <function NewType.<locals>.new_type at 0x111812ca0>)
- __init__(function: MediumLevelILFunction, expr_index: ExpressionIndex, instr: CoreMediumLevelILInstruction, instr_index: InstructionIndex) None¶
- Parameters:
function (MediumLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreMediumLevelILInstruction) –
instr_index (InstructionIndex) –
- Return type:
None
- expr_index: ExpressionIndex¶
- function: MediumLevelILFunction¶
- instr_index: InstructionIndex¶
MediumLevelILSeparateParamList¶
- class MediumLevelILSeparateParamList[source]¶
Bases:
MediumLevelILInstructionMediumLevelILSeparateParamList(function: ‘MediumLevelILFunction’, expr_index: <function NewType.<locals>.new_type at 0x1129439d0>, instr: binaryninja.mediumlevelil.CoreMediumLevelILInstruction, instr_index: <function NewType.<locals>.new_type at 0x111812ca0>)
- __init__(function: MediumLevelILFunction, expr_index: ExpressionIndex, instr: CoreMediumLevelILInstruction, instr_index: InstructionIndex) None¶
- Parameters:
function (MediumLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreMediumLevelILInstruction) –
instr_index (InstructionIndex) –
- Return type:
None
- property detailed_operands: List[Tuple[str, int | float | MediumLevelILOperationAndSize | MediumLevelILInstruction | ILIntrinsic | Variable | SSAVariable | List[int] | List[Variable] | List[SSAVariable] | List[MediumLevelILInstruction] | Dict[int, int] | ConstantData, str]]¶
Returns a list of tuples containing the name of the operand, the operand, and the type of the operand. Useful for iterating over all operands of an instruction and sub-instructions.
- expr_index: ExpressionIndex¶
- function: MediumLevelILFunction¶
- instr_index: InstructionIndex¶
- property params: List[MediumLevelILInstruction]¶
MediumLevelILSetVar¶
- class MediumLevelILSetVar[source]¶
Bases:
MediumLevelILInstruction,SetVarMediumLevelILSetVar(function: ‘MediumLevelILFunction’, expr_index: <function NewType.<locals>.new_type at 0x1129439d0>, instr: binaryninja.mediumlevelil.CoreMediumLevelILInstruction, instr_index: <function NewType.<locals>.new_type at 0x111812ca0>)
- __init__(function: MediumLevelILFunction, expr_index: ExpressionIndex, instr: CoreMediumLevelILInstruction, instr_index: InstructionIndex) None¶
- Parameters:
function (MediumLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreMediumLevelILInstruction) –
instr_index (InstructionIndex) –
- Return type:
None
- property detailed_operands: List[Tuple[str, int | float | MediumLevelILOperationAndSize | MediumLevelILInstruction | ILIntrinsic | Variable | SSAVariable | List[int] | List[Variable] | List[SSAVariable] | List[MediumLevelILInstruction] | Dict[int, int] | ConstantData, str]]¶
Returns a list of tuples containing the name of the operand, the operand, and the type of the operand. Useful for iterating over all operands of an instruction and sub-instructions.
- expr_index: ExpressionIndex¶
- function: MediumLevelILFunction¶
- instr_index: InstructionIndex¶
- property src: MediumLevelILInstruction¶
- property vars_read: List[Variable | SSAVariable]¶
List of variables read by instruction
MediumLevelILSetVarAliased¶
- class MediumLevelILSetVarAliased[source]¶
Bases:
MediumLevelILInstruction,SetVar,SSAMediumLevelILSetVarAliased(function: ‘MediumLevelILFunction’, expr_index: <function NewType.<locals>.new_type at 0x1129439d0>, instr: binaryninja.mediumlevelil.CoreMediumLevelILInstruction, instr_index: <function NewType.<locals>.new_type at 0x111812ca0>)
- __init__(function: MediumLevelILFunction, expr_index: ExpressionIndex, instr: CoreMediumLevelILInstruction, instr_index: InstructionIndex) None¶
- Parameters:
function (MediumLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreMediumLevelILInstruction) –
instr_index (InstructionIndex) –
- Return type:
None
- property dest: SSAVariable¶
- property detailed_operands: List[Tuple[str, int | float | MediumLevelILOperationAndSize | MediumLevelILInstruction | ILIntrinsic | Variable | SSAVariable | List[int] | List[Variable] | List[SSAVariable] | List[MediumLevelILInstruction] | Dict[int, int] | ConstantData, str]]¶
Returns a list of tuples containing the name of the operand, the operand, and the type of the operand. Useful for iterating over all operands of an instruction and sub-instructions.
- expr_index: ExpressionIndex¶
- function: MediumLevelILFunction¶
- instr_index: InstructionIndex¶
- property prev: SSAVariable¶
- property src: MediumLevelILInstruction¶
- property vars_read: List[Variable | SSAVariable]¶
List of variables read by instruction
- property vars_written: List[SSAVariable]¶
List of variables written by instruction
MediumLevelILSetVarAliasedField¶
- class MediumLevelILSetVarAliasedField[source]¶
Bases:
MediumLevelILInstruction,SetVar,SSAMediumLevelILSetVarAliasedField(function: ‘MediumLevelILFunction’, expr_index: <function NewType.<locals>.new_type at 0x1129439d0>, instr: binaryninja.mediumlevelil.CoreMediumLevelILInstruction, instr_index: <function NewType.<locals>.new_type at 0x111812ca0>)
- __init__(function: MediumLevelILFunction, expr_index: ExpressionIndex, instr: CoreMediumLevelILInstruction, instr_index: InstructionIndex) None¶
- Parameters:
function (MediumLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreMediumLevelILInstruction) –
instr_index (InstructionIndex) –
- Return type:
None
- property dest: SSAVariable¶
- property detailed_operands: List[Tuple[str, int | float | MediumLevelILOperationAndSize | MediumLevelILInstruction | ILIntrinsic | Variable | SSAVariable | List[int] | List[Variable] | List[SSAVariable] | List[MediumLevelILInstruction] | Dict[int, int] | ConstantData, str]]¶
Returns a list of tuples containing the name of the operand, the operand, and the type of the operand. Useful for iterating over all operands of an instruction and sub-instructions.
- expr_index: ExpressionIndex¶
- function: MediumLevelILFunction¶
- instr_index: InstructionIndex¶
- property prev: SSAVariable¶
- property src: MediumLevelILInstruction¶
- property vars_read: List[SSAVariable]¶
List of variables read by instruction
MediumLevelILSetVarField¶
- class MediumLevelILSetVarField[source]¶
Bases:
MediumLevelILInstruction,SetVarMediumLevelILSetVarField(function: ‘MediumLevelILFunction’, expr_index: <function NewType.<locals>.new_type at 0x1129439d0>, instr: binaryninja.mediumlevelil.CoreMediumLevelILInstruction, instr_index: <function NewType.<locals>.new_type at 0x111812ca0>)
- __init__(function: MediumLevelILFunction, expr_index: ExpressionIndex, instr: CoreMediumLevelILInstruction, instr_index: InstructionIndex) None¶
- Parameters:
function (MediumLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreMediumLevelILInstruction) –
instr_index (InstructionIndex) –
- Return type:
None
- property detailed_operands: List[Tuple[str, int | float | MediumLevelILOperationAndSize | MediumLevelILInstruction | ILIntrinsic | Variable | SSAVariable | List[int] | List[Variable] | List[SSAVariable] | List[MediumLevelILInstruction] | Dict[int, int] | ConstantData, str]]¶
Returns a list of tuples containing the name of the operand, the operand, and the type of the operand. Useful for iterating over all operands of an instruction and sub-instructions.
- expr_index: ExpressionIndex¶
- function: MediumLevelILFunction¶
- instr_index: InstructionIndex¶
- property src: MediumLevelILInstruction¶
MediumLevelILSetVarSplit¶
- class MediumLevelILSetVarSplit[source]¶
Bases:
MediumLevelILInstruction,SetVarMediumLevelILSetVarSplit(function: ‘MediumLevelILFunction’, expr_index: <function NewType.<locals>.new_type at 0x1129439d0>, instr: binaryninja.mediumlevelil.CoreMediumLevelILInstruction, instr_index: <function NewType.<locals>.new_type at 0x111812ca0>)
- __init__(function: MediumLevelILFunction, expr_index: ExpressionIndex, instr: CoreMediumLevelILInstruction, instr_index: InstructionIndex) None¶
- Parameters:
function (MediumLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreMediumLevelILInstruction) –
instr_index (InstructionIndex) –
- Return type:
None
- property detailed_operands: List[Tuple[str, int | float | MediumLevelILOperationAndSize | MediumLevelILInstruction | ILIntrinsic | Variable | SSAVariable | List[int] | List[Variable] | List[SSAVariable] | List[MediumLevelILInstruction] | Dict[int, int] | ConstantData, str]]¶
Returns a list of tuples containing the name of the operand, the operand, and the type of the operand. Useful for iterating over all operands of an instruction and sub-instructions.
- expr_index: ExpressionIndex¶
- function: MediumLevelILFunction¶
- instr_index: InstructionIndex¶
- property src: MediumLevelILInstruction¶
MediumLevelILSetVarSplitSsa¶
- class MediumLevelILSetVarSplitSsa[source]¶
Bases:
MediumLevelILInstruction,SetVar,SSAMediumLevelILSetVarSplitSsa(function: ‘MediumLevelILFunction’, expr_index: <function NewType.<locals>.new_type at 0x1129439d0>, instr: binaryninja.mediumlevelil.CoreMediumLevelILInstruction, instr_index: <function NewType.<locals>.new_type at 0x111812ca0>)
- __init__(function: MediumLevelILFunction, expr_index: ExpressionIndex, instr: CoreMediumLevelILInstruction, instr_index: InstructionIndex) None¶
- Parameters:
function (MediumLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreMediumLevelILInstruction) –
instr_index (InstructionIndex) –
- Return type:
None
- property detailed_operands: List[Tuple[str, int | float | MediumLevelILOperationAndSize | MediumLevelILInstruction | ILIntrinsic | Variable | SSAVariable | List[int] | List[Variable] | List[SSAVariable] | List[MediumLevelILInstruction] | Dict[int, int] | ConstantData, str]]¶
Returns a list of tuples containing the name of the operand, the operand, and the type of the operand. Useful for iterating over all operands of an instruction and sub-instructions.
- expr_index: ExpressionIndex¶
- function: MediumLevelILFunction¶
- property high: SSAVariable¶
- instr_index: InstructionIndex¶
- property low: SSAVariable¶
- property src: MediumLevelILInstruction¶
- property vars_read: List[Variable | SSAVariable]¶
List of variables read by instruction
- property vars_written: List[SSAVariable]¶
List of variables written by instruction
MediumLevelILSetVarSsa¶
- class MediumLevelILSetVarSsa[source]¶
Bases:
MediumLevelILInstruction,SetVar,SSAMediumLevelILSetVarSsa(function: ‘MediumLevelILFunction’, expr_index: <function NewType.<locals>.new_type at 0x1129439d0>, instr: binaryninja.mediumlevelil.CoreMediumLevelILInstruction, instr_index: <function NewType.<locals>.new_type at 0x111812ca0>)
- __init__(function: MediumLevelILFunction, expr_index: ExpressionIndex, instr: CoreMediumLevelILInstruction, instr_index: InstructionIndex) None¶
- Parameters:
function (MediumLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreMediumLevelILInstruction) –
instr_index (InstructionIndex) –
- Return type:
None
- property dest: SSAVariable¶
- property detailed_operands: List[Tuple[str, int | float | MediumLevelILOperationAndSize | MediumLevelILInstruction | ILIntrinsic | Variable | SSAVariable | List[int] | List[Variable] | List[SSAVariable] | List[MediumLevelILInstruction] | Dict[int, int] | ConstantData, str]]¶
Returns a list of tuples containing the name of the operand, the operand, and the type of the operand. Useful for iterating over all operands of an instruction and sub-instructions.
- expr_index: ExpressionIndex¶
- function: MediumLevelILFunction¶
- instr_index: InstructionIndex¶
- property src: MediumLevelILInstruction¶
- property vars_read: List[Variable | SSAVariable]¶
List of variables read by instruction
- property vars_written: List[SSAVariable]¶
List of variables written by instruction
MediumLevelILSetVarSsaField¶
- class MediumLevelILSetVarSsaField[source]¶
Bases:
MediumLevelILInstruction,SetVar,SSAMediumLevelILSetVarSsaField(function: ‘MediumLevelILFunction’, expr_index: <function NewType.<locals>.new_type at 0x1129439d0>, instr: binaryninja.mediumlevelil.CoreMediumLevelILInstruction, instr_index: <function NewType.<locals>.new_type at 0x111812ca0>)
- __init__(function: MediumLevelILFunction, expr_index: ExpressionIndex, instr: CoreMediumLevelILInstruction, instr_index: InstructionIndex) None¶
- Parameters:
function (MediumLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreMediumLevelILInstruction) –
instr_index (InstructionIndex) –
- Return type:
None
- property dest: SSAVariable¶
- property detailed_operands: List[Tuple[str, int | float | MediumLevelILOperationAndSize | MediumLevelILInstruction | ILIntrinsic | Variable | SSAVariable | List[int] | List[Variable] | List[SSAVariable] | List[MediumLevelILInstruction] | Dict[int, int] | ConstantData, str]]¶
Returns a list of tuples containing the name of the operand, the operand, and the type of the operand. Useful for iterating over all operands of an instruction and sub-instructions.
- expr_index: ExpressionIndex¶
- function: MediumLevelILFunction¶
- instr_index: InstructionIndex¶
- property prev: SSAVariable¶
- property src: MediumLevelILInstruction¶
- property vars_read: List[SSAVariable]¶
List of variables read by instruction
- property vars_written: List[SSAVariable]¶
List of variables written by instruction
MediumLevelILStore¶
- class MediumLevelILStore[source]¶
Bases:
MediumLevelILInstruction,StoreMediumLevelILStore(function: ‘MediumLevelILFunction’, expr_index: <function NewType.<locals>.new_type at 0x1129439d0>, instr: binaryninja.mediumlevelil.CoreMediumLevelILInstruction, instr_index: <function NewType.<locals>.new_type at 0x111812ca0>)
- __init__(function: MediumLevelILFunction, expr_index: ExpressionIndex, instr: CoreMediumLevelILInstruction, instr_index: InstructionIndex) None¶
- Parameters:
function (MediumLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreMediumLevelILInstruction) –
instr_index (InstructionIndex) –
- Return type:
None
- property dest: MediumLevelILInstruction¶
- property detailed_operands: List[Tuple[str, int | float | MediumLevelILOperationAndSize | MediumLevelILInstruction | ILIntrinsic | Variable | SSAVariable | List[int] | List[Variable] | List[SSAVariable] | List[MediumLevelILInstruction] | Dict[int, int] | ConstantData, str]]¶
Returns a list of tuples containing the name of the operand, the operand, and the type of the operand. Useful for iterating over all operands of an instruction and sub-instructions.
- expr_index: ExpressionIndex¶
- function: MediumLevelILFunction¶
- instr_index: InstructionIndex¶
- property src: MediumLevelILInstruction¶
MediumLevelILStoreSsa¶
- class MediumLevelILStoreSsa[source]¶
Bases:
MediumLevelILInstruction,Store,SSAMediumLevelILStoreSsa(function: ‘MediumLevelILFunction’, expr_index: <function NewType.<locals>.new_type at 0x1129439d0>, instr: binaryninja.mediumlevelil.CoreMediumLevelILInstruction, instr_index: <function NewType.<locals>.new_type at 0x111812ca0>)
- __init__(function: MediumLevelILFunction, expr_index: ExpressionIndex, instr: CoreMediumLevelILInstruction, instr_index: InstructionIndex) None¶
- Parameters:
function (MediumLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreMediumLevelILInstruction) –
instr_index (InstructionIndex) –
- Return type:
None
- property dest: MediumLevelILInstruction¶
- property detailed_operands: List[Tuple[str, int | float | MediumLevelILOperationAndSize | MediumLevelILInstruction | ILIntrinsic | Variable | SSAVariable | List[int] | List[Variable] | List[SSAVariable] | List[MediumLevelILInstruction] | Dict[int, int] | ConstantData, str]]¶
Returns a list of tuples containing the name of the operand, the operand, and the type of the operand. Useful for iterating over all operands of an instruction and sub-instructions.
- expr_index: ExpressionIndex¶
- function: MediumLevelILFunction¶
- instr_index: InstructionIndex¶
- property src: MediumLevelILInstruction¶
MediumLevelILStoreStruct¶
- class MediumLevelILStoreStruct[source]¶
Bases:
MediumLevelILInstruction,StoreMediumLevelILStoreStruct(function: ‘MediumLevelILFunction’, expr_index: <function NewType.<locals>.new_type at 0x1129439d0>, instr: binaryninja.mediumlevelil.CoreMediumLevelILInstruction, instr_index: <function NewType.<locals>.new_type at 0x111812ca0>)
- __init__(function: MediumLevelILFunction, expr_index: ExpressionIndex, instr: CoreMediumLevelILInstruction, instr_index: InstructionIndex) None¶
- Parameters:
function (MediumLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreMediumLevelILInstruction) –
instr_index (InstructionIndex) –
- Return type:
None
- property dest: MediumLevelILInstruction¶
- property detailed_operands: List[Tuple[str, int | float | MediumLevelILOperationAndSize | MediumLevelILInstruction | ILIntrinsic | Variable | SSAVariable | List[int] | List[Variable] | List[SSAVariable] | List[MediumLevelILInstruction] | Dict[int, int] | ConstantData, str]]¶
Returns a list of tuples containing the name of the operand, the operand, and the type of the operand. Useful for iterating over all operands of an instruction and sub-instructions.
- expr_index: ExpressionIndex¶
- function: MediumLevelILFunction¶
- instr_index: InstructionIndex¶
- property src: MediumLevelILInstruction¶
MediumLevelILStoreStructSsa¶
- class MediumLevelILStoreStructSsa[source]¶
Bases:
MediumLevelILInstruction,Store,SSAMediumLevelILStoreStructSsa(function: ‘MediumLevelILFunction’, expr_index: <function NewType.<locals>.new_type at 0x1129439d0>, instr: binaryninja.mediumlevelil.CoreMediumLevelILInstruction, instr_index: <function NewType.<locals>.new_type at 0x111812ca0>)
- __init__(function: MediumLevelILFunction, expr_index: ExpressionIndex, instr: CoreMediumLevelILInstruction, instr_index: InstructionIndex) None¶
- Parameters:
function (MediumLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreMediumLevelILInstruction) –
instr_index (InstructionIndex) –
- Return type:
None
- property dest: MediumLevelILInstruction¶
- property detailed_operands: List[Tuple[str, int | float | MediumLevelILOperationAndSize | MediumLevelILInstruction | ILIntrinsic | Variable | SSAVariable | List[int] | List[Variable] | List[SSAVariable] | List[MediumLevelILInstruction] | Dict[int, int] | ConstantData, str]]¶
Returns a list of tuples containing the name of the operand, the operand, and the type of the operand. Useful for iterating over all operands of an instruction and sub-instructions.
- expr_index: ExpressionIndex¶
- function: MediumLevelILFunction¶
- instr_index: InstructionIndex¶
- property src: MediumLevelILInstruction¶
MediumLevelILSub¶
- class MediumLevelILSub[source]¶
Bases:
MediumLevelILBinaryBase,ArithmeticMediumLevelILSub(function: ‘MediumLevelILFunction’, expr_index: <function NewType.<locals>.new_type at 0x1129439d0>, instr: binaryninja.mediumlevelil.CoreMediumLevelILInstruction, instr_index: <function NewType.<locals>.new_type at 0x111812ca0>)
- __init__(function: MediumLevelILFunction, expr_index: ExpressionIndex, instr: CoreMediumLevelILInstruction, instr_index: InstructionIndex) None¶
- Parameters:
function (MediumLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreMediumLevelILInstruction) –
instr_index (InstructionIndex) –
- Return type:
None
- expr_index: ExpressionIndex¶
- function: MediumLevelILFunction¶
- instr_index: InstructionIndex¶
MediumLevelILSx¶
- class MediumLevelILSx[source]¶
Bases:
MediumLevelILUnaryBase,ArithmeticMediumLevelILSx(function: ‘MediumLevelILFunction’, expr_index: <function NewType.<locals>.new_type at 0x1129439d0>, instr: binaryninja.mediumlevelil.CoreMediumLevelILInstruction, instr_index: <function NewType.<locals>.new_type at 0x111812ca0>)
- __init__(function: MediumLevelILFunction, expr_index: ExpressionIndex, instr: CoreMediumLevelILInstruction, instr_index: InstructionIndex) None¶
- Parameters:
function (MediumLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreMediumLevelILInstruction) –
instr_index (InstructionIndex) –
- Return type:
None
- expr_index: ExpressionIndex¶
- function: MediumLevelILFunction¶
- instr_index: InstructionIndex¶
MediumLevelILSyscall¶
- class MediumLevelILSyscall[source]¶
Bases:
MediumLevelILInstruction,SyscallMediumLevelILSyscall(function: ‘MediumLevelILFunction’, expr_index: <function NewType.<locals>.new_type at 0x1129439d0>, instr: binaryninja.mediumlevelil.CoreMediumLevelILInstruction, instr_index: <function NewType.<locals>.new_type at 0x111812ca0>)
- __init__(function: MediumLevelILFunction, expr_index: ExpressionIndex, instr: CoreMediumLevelILInstruction, instr_index: InstructionIndex) None¶
- Parameters:
function (MediumLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreMediumLevelILInstruction) –
instr_index (InstructionIndex) –
- Return type:
None
- property detailed_operands: List[Tuple[str, int | float | MediumLevelILOperationAndSize | MediumLevelILInstruction | ILIntrinsic | Variable | SSAVariable | List[int] | List[Variable] | List[SSAVariable] | List[MediumLevelILInstruction] | Dict[int, int] | ConstantData, str]]¶
Returns a list of tuples containing the name of the operand, the operand, and the type of the operand. Useful for iterating over all operands of an instruction and sub-instructions.
- expr_index: ExpressionIndex¶
- function: MediumLevelILFunction¶
- instr_index: InstructionIndex¶
- property params: List[MediumLevelILInstruction]¶
MediumLevelILSyscallSsa¶
- class MediumLevelILSyscallSsa[source]¶
Bases:
MediumLevelILCallBase,Syscall,SSAMediumLevelILSyscallSsa(function: ‘MediumLevelILFunction’, expr_index: <function NewType.<locals>.new_type at 0x1129439d0>, instr: binaryninja.mediumlevelil.CoreMediumLevelILInstruction, instr_index: <function NewType.<locals>.new_type at 0x111812ca0>)
- __init__(function: MediumLevelILFunction, expr_index: ExpressionIndex, instr: CoreMediumLevelILInstruction, instr_index: InstructionIndex) None¶
- Parameters:
function (MediumLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreMediumLevelILInstruction) –
instr_index (InstructionIndex) –
- Return type:
None
- property detailed_operands: List[Tuple[str, int | float | MediumLevelILOperationAndSize | MediumLevelILInstruction | ILIntrinsic | Variable | SSAVariable | List[int] | List[Variable] | List[SSAVariable] | List[MediumLevelILInstruction] | Dict[int, int] | ConstantData, str]]¶
Returns a list of tuples containing the name of the operand, the operand, and the type of the operand. Useful for iterating over all operands of an instruction and sub-instructions.
- expr_index: ExpressionIndex¶
- function: MediumLevelILFunction¶
- instr_index: InstructionIndex¶
- property output: List[SSAVariable]¶
- property params: List[MediumLevelILInstruction]¶
MediumLevelILSyscallUntyped¶
- class MediumLevelILSyscallUntyped[source]¶
Bases:
MediumLevelILCallBase,SyscallMediumLevelILSyscallUntyped(function: ‘MediumLevelILFunction’, expr_index: <function NewType.<locals>.new_type at 0x1129439d0>, instr: binaryninja.mediumlevelil.CoreMediumLevelILInstruction, instr_index: <function NewType.<locals>.new_type at 0x111812ca0>)
- __init__(function: MediumLevelILFunction, expr_index: ExpressionIndex, instr: CoreMediumLevelILInstruction, instr_index: InstructionIndex) None¶
- Parameters:
function (MediumLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreMediumLevelILInstruction) –
instr_index (InstructionIndex) –
- Return type:
None
- property detailed_operands: List[Tuple[str, int | float | MediumLevelILOperationAndSize | MediumLevelILInstruction | ILIntrinsic | Variable | SSAVariable | List[int] | List[Variable] | List[SSAVariable] | List[MediumLevelILInstruction] | Dict[int, int] | ConstantData, str]]¶
Returns a list of tuples containing the name of the operand, the operand, and the type of the operand. Useful for iterating over all operands of an instruction and sub-instructions.
- expr_index: ExpressionIndex¶
- function: MediumLevelILFunction¶
- instr_index: InstructionIndex¶
- property params: List[MediumLevelILInstruction]¶
- property stack: MediumLevelILInstruction¶
MediumLevelILSyscallUntypedSsa¶
- class MediumLevelILSyscallUntypedSsa[source]¶
Bases:
MediumLevelILCallBase,Syscall,SSAMediumLevelILSyscallUntypedSsa(function: ‘MediumLevelILFunction’, expr_index: <function NewType.<locals>.new_type at 0x1129439d0>, instr: binaryninja.mediumlevelil.CoreMediumLevelILInstruction, instr_index: <function NewType.<locals>.new_type at 0x111812ca0>)
- __init__(function: MediumLevelILFunction, expr_index: ExpressionIndex, instr: CoreMediumLevelILInstruction, instr_index: InstructionIndex) None¶
- Parameters:
function (MediumLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreMediumLevelILInstruction) –
instr_index (InstructionIndex) –
- Return type:
None
- property detailed_operands: List[Tuple[str, int | float | MediumLevelILOperationAndSize | MediumLevelILInstruction | ILIntrinsic | Variable | SSAVariable | List[int] | List[Variable] | List[SSAVariable] | List[MediumLevelILInstruction] | Dict[int, int] | ConstantData, str]]¶
Returns a list of tuples containing the name of the operand, the operand, and the type of the operand. Useful for iterating over all operands of an instruction and sub-instructions.
- expr_index: ExpressionIndex¶
- function: MediumLevelILFunction¶
- instr_index: InstructionIndex¶
- property output: List[SSAVariable]¶
- property params: List[MediumLevelILInstruction]¶
- property stack: MediumLevelILInstruction¶
MediumLevelILTailcall¶
- class MediumLevelILTailcall[source]¶
Bases:
MediumLevelILCallBase,TailcallMediumLevelILTailcall(function: ‘MediumLevelILFunction’, expr_index: <function NewType.<locals>.new_type at 0x1129439d0>, instr: binaryninja.mediumlevelil.CoreMediumLevelILInstruction, instr_index: <function NewType.<locals>.new_type at 0x111812ca0>)
- __init__(function: MediumLevelILFunction, expr_index: ExpressionIndex, instr: CoreMediumLevelILInstruction, instr_index: InstructionIndex) None¶
- Parameters:
function (MediumLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreMediumLevelILInstruction) –
instr_index (InstructionIndex) –
- Return type:
None
- property dest: MediumLevelILInstruction¶
- property detailed_operands: List[Tuple[str, int | float | MediumLevelILOperationAndSize | MediumLevelILInstruction | ILIntrinsic | Variable | SSAVariable | List[int] | List[Variable] | List[SSAVariable] | List[MediumLevelILInstruction] | Dict[int, int] | ConstantData, str]]¶
Returns a list of tuples containing the name of the operand, the operand, and the type of the operand. Useful for iterating over all operands of an instruction and sub-instructions.
- expr_index: ExpressionIndex¶
- function: MediumLevelILFunction¶
- instr_index: InstructionIndex¶
- property params: List[MediumLevelILInstruction]¶
MediumLevelILTailcallSsa¶
- class MediumLevelILTailcallSsa[source]¶
Bases:
MediumLevelILCallBase,Tailcall,SSAMediumLevelILTailcallSsa(function: ‘MediumLevelILFunction’, expr_index: <function NewType.<locals>.new_type at 0x1129439d0>, instr: binaryninja.mediumlevelil.CoreMediumLevelILInstruction, instr_index: <function NewType.<locals>.new_type at 0x111812ca0>)
- __init__(function: MediumLevelILFunction, expr_index: ExpressionIndex, instr: CoreMediumLevelILInstruction, instr_index: InstructionIndex) None¶
- Parameters:
function (MediumLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreMediumLevelILInstruction) –
instr_index (InstructionIndex) –
- Return type:
None
- property dest: MediumLevelILInstruction¶
- property detailed_operands: List[Tuple[str, int | float | MediumLevelILOperationAndSize | MediumLevelILInstruction | ILIntrinsic | Variable | SSAVariable | List[int] | List[Variable] | List[SSAVariable] | List[MediumLevelILInstruction] | Dict[int, int] | ConstantData, str]]¶
Returns a list of tuples containing the name of the operand, the operand, and the type of the operand. Useful for iterating over all operands of an instruction and sub-instructions.
- expr_index: ExpressionIndex¶
- function: MediumLevelILFunction¶
- instr_index: InstructionIndex¶
- property output: List[SSAVariable]¶
- property params: List[MediumLevelILInstruction]¶
MediumLevelILTailcallUntyped¶
- class MediumLevelILTailcallUntyped[source]¶
Bases:
MediumLevelILCallBase,TailcallMediumLevelILTailcallUntyped(function: ‘MediumLevelILFunction’, expr_index: <function NewType.<locals>.new_type at 0x1129439d0>, instr: binaryninja.mediumlevelil.CoreMediumLevelILInstruction, instr_index: <function NewType.<locals>.new_type at 0x111812ca0>)
- __init__(function: MediumLevelILFunction, expr_index: ExpressionIndex, instr: CoreMediumLevelILInstruction, instr_index: InstructionIndex) None¶
- Parameters:
function (MediumLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreMediumLevelILInstruction) –
instr_index (InstructionIndex) –
- Return type:
None
- property dest: MediumLevelILInstruction¶
- property detailed_operands: List[Tuple[str, int | float | MediumLevelILOperationAndSize | MediumLevelILInstruction | ILIntrinsic | Variable | SSAVariable | List[int] | List[Variable] | List[SSAVariable] | List[MediumLevelILInstruction] | Dict[int, int] | ConstantData, str]]¶
Returns a list of tuples containing the name of the operand, the operand, and the type of the operand. Useful for iterating over all operands of an instruction and sub-instructions.
- expr_index: ExpressionIndex¶
- function: MediumLevelILFunction¶
- instr_index: InstructionIndex¶
- property params: List[MediumLevelILInstruction]¶
- property stack: MediumLevelILInstruction¶
MediumLevelILTailcallUntypedSsa¶
- class MediumLevelILTailcallUntypedSsa[source]¶
Bases:
MediumLevelILCallBase,Tailcall,SSAMediumLevelILTailcallUntypedSsa(function: ‘MediumLevelILFunction’, expr_index: <function NewType.<locals>.new_type at 0x1129439d0>, instr: binaryninja.mediumlevelil.CoreMediumLevelILInstruction, instr_index: <function NewType.<locals>.new_type at 0x111812ca0>)
- __init__(function: MediumLevelILFunction, expr_index: ExpressionIndex, instr: CoreMediumLevelILInstruction, instr_index: InstructionIndex) None¶
- Parameters:
function (MediumLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreMediumLevelILInstruction) –
instr_index (InstructionIndex) –
- Return type:
None
- property dest: MediumLevelILInstruction¶
- property detailed_operands: List[Tuple[str, int | float | MediumLevelILOperationAndSize | MediumLevelILInstruction | ILIntrinsic | Variable | SSAVariable | List[int] | List[Variable] | List[SSAVariable] | List[MediumLevelILInstruction] | Dict[int, int] | ConstantData, str]]¶
Returns a list of tuples containing the name of the operand, the operand, and the type of the operand. Useful for iterating over all operands of an instruction and sub-instructions.
- expr_index: ExpressionIndex¶
- function: MediumLevelILFunction¶
- instr_index: InstructionIndex¶
- property output: List[SSAVariable]¶
- property params: List[MediumLevelILInstruction]¶
- property stack: MediumLevelILInstruction¶
MediumLevelILTestBit¶
- class MediumLevelILTestBit[source]¶
Bases:
MediumLevelILComparisonBaseMediumLevelILTestBit(function: ‘MediumLevelILFunction’, expr_index: <function NewType.<locals>.new_type at 0x1129439d0>, instr: binaryninja.mediumlevelil.CoreMediumLevelILInstruction, instr_index: <function NewType.<locals>.new_type at 0x111812ca0>)
- __init__(function: MediumLevelILFunction, expr_index: ExpressionIndex, instr: CoreMediumLevelILInstruction, instr_index: InstructionIndex) None¶
- Parameters:
function (MediumLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreMediumLevelILInstruction) –
instr_index (InstructionIndex) –
- Return type:
None
- expr_index: ExpressionIndex¶
- function: MediumLevelILFunction¶
- instr_index: InstructionIndex¶
MediumLevelILTrap¶
- class MediumLevelILTrap[source]¶
Bases:
MediumLevelILInstruction,TerminalMediumLevelILTrap(function: ‘MediumLevelILFunction’, expr_index: <function NewType.<locals>.new_type at 0x1129439d0>, instr: binaryninja.mediumlevelil.CoreMediumLevelILInstruction, instr_index: <function NewType.<locals>.new_type at 0x111812ca0>)
- __init__(function: MediumLevelILFunction, expr_index: ExpressionIndex, instr: CoreMediumLevelILInstruction, instr_index: InstructionIndex) None¶
- Parameters:
function (MediumLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreMediumLevelILInstruction) –
instr_index (InstructionIndex) –
- Return type:
None
- property detailed_operands: List[Tuple[str, int | float | MediumLevelILOperationAndSize | MediumLevelILInstruction | ILIntrinsic | Variable | SSAVariable | List[int] | List[Variable] | List[SSAVariable] | List[MediumLevelILInstruction] | Dict[int, int] | ConstantData, str]]¶
Returns a list of tuples containing the name of the operand, the operand, and the type of the operand. Useful for iterating over all operands of an instruction and sub-instructions.
- expr_index: ExpressionIndex¶
- function: MediumLevelILFunction¶
- instr_index: InstructionIndex¶
MediumLevelILUnaryBase¶
- class MediumLevelILUnaryBase[source]¶
Bases:
MediumLevelILInstruction,UnaryOperationMediumLevelILUnaryBase(function: ‘MediumLevelILFunction’, expr_index: <function NewType.<locals>.new_type at 0x1129439d0>, instr: binaryninja.mediumlevelil.CoreMediumLevelILInstruction, instr_index: <function NewType.<locals>.new_type at 0x111812ca0>)
- __init__(function: MediumLevelILFunction, expr_index: ExpressionIndex, instr: CoreMediumLevelILInstruction, instr_index: InstructionIndex) None¶
- Parameters:
function (MediumLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreMediumLevelILInstruction) –
instr_index (InstructionIndex) –
- Return type:
None
- property detailed_operands: List[Tuple[str, int | float | MediumLevelILOperationAndSize | MediumLevelILInstruction | ILIntrinsic | Variable | SSAVariable | List[int] | List[Variable] | List[SSAVariable] | List[MediumLevelILInstruction] | Dict[int, int] | ConstantData, str]]¶
Returns a list of tuples containing the name of the operand, the operand, and the type of the operand. Useful for iterating over all operands of an instruction and sub-instructions.
- expr_index: ExpressionIndex¶
- function: MediumLevelILFunction¶
- instr_index: InstructionIndex¶
- property src: MediumLevelILInstruction¶
MediumLevelILUndef¶
- class MediumLevelILUndef[source]¶
Bases:
MediumLevelILInstructionMediumLevelILUndef(function: ‘MediumLevelILFunction’, expr_index: <function NewType.<locals>.new_type at 0x1129439d0>, instr: binaryninja.mediumlevelil.CoreMediumLevelILInstruction, instr_index: <function NewType.<locals>.new_type at 0x111812ca0>)
- __init__(function: MediumLevelILFunction, expr_index: ExpressionIndex, instr: CoreMediumLevelILInstruction, instr_index: InstructionIndex) None¶
- Parameters:
function (MediumLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreMediumLevelILInstruction) –
instr_index (InstructionIndex) –
- Return type:
None
- expr_index: ExpressionIndex¶
- function: MediumLevelILFunction¶
- instr_index: InstructionIndex¶
MediumLevelILUnimpl¶
- class MediumLevelILUnimpl[source]¶
Bases:
MediumLevelILInstructionMediumLevelILUnimpl(function: ‘MediumLevelILFunction’, expr_index: <function NewType.<locals>.new_type at 0x1129439d0>, instr: binaryninja.mediumlevelil.CoreMediumLevelILInstruction, instr_index: <function NewType.<locals>.new_type at 0x111812ca0>)
- __init__(function: MediumLevelILFunction, expr_index: ExpressionIndex, instr: CoreMediumLevelILInstruction, instr_index: InstructionIndex) None¶
- Parameters:
function (MediumLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreMediumLevelILInstruction) –
instr_index (InstructionIndex) –
- Return type:
None
- expr_index: ExpressionIndex¶
- function: MediumLevelILFunction¶
- instr_index: InstructionIndex¶
MediumLevelILUnimplMem¶
- class MediumLevelILUnimplMem[source]¶
Bases:
MediumLevelILInstruction,MemoryMediumLevelILUnimplMem(function: ‘MediumLevelILFunction’, expr_index: <function NewType.<locals>.new_type at 0x1129439d0>, instr: binaryninja.mediumlevelil.CoreMediumLevelILInstruction, instr_index: <function NewType.<locals>.new_type at 0x111812ca0>)
- __init__(function: MediumLevelILFunction, expr_index: ExpressionIndex, instr: CoreMediumLevelILInstruction, instr_index: InstructionIndex) None¶
- Parameters:
function (MediumLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreMediumLevelILInstruction) –
instr_index (InstructionIndex) –
- Return type:
None
- property detailed_operands: List[Tuple[str, int | float | MediumLevelILOperationAndSize | MediumLevelILInstruction | ILIntrinsic | Variable | SSAVariable | List[int] | List[Variable] | List[SSAVariable] | List[MediumLevelILInstruction] | Dict[int, int] | ConstantData, str]]¶
Returns a list of tuples containing the name of the operand, the operand, and the type of the operand. Useful for iterating over all operands of an instruction and sub-instructions.
- expr_index: ExpressionIndex¶
- function: MediumLevelILFunction¶
- instr_index: InstructionIndex¶
- property src: MediumLevelILInstruction¶
MediumLevelILVar¶
- class MediumLevelILVar[source]¶
Bases:
MediumLevelILInstruction,VariableInstructionMediumLevelILVar(function: ‘MediumLevelILFunction’, expr_index: <function NewType.<locals>.new_type at 0x1129439d0>, instr: binaryninja.mediumlevelil.CoreMediumLevelILInstruction, instr_index: <function NewType.<locals>.new_type at 0x111812ca0>)
- __init__(function: MediumLevelILFunction, expr_index: ExpressionIndex, instr: CoreMediumLevelILInstruction, instr_index: InstructionIndex) None¶
- Parameters:
function (MediumLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreMediumLevelILInstruction) –
instr_index (InstructionIndex) –
- Return type:
None
- property detailed_operands: List[Tuple[str, int | float | MediumLevelILOperationAndSize | MediumLevelILInstruction | ILIntrinsic | Variable | SSAVariable | List[int] | List[Variable] | List[SSAVariable] | List[MediumLevelILInstruction] | Dict[int, int] | ConstantData, str]]¶
Returns a list of tuples containing the name of the operand, the operand, and the type of the operand. Useful for iterating over all operands of an instruction and sub-instructions.
- expr_index: ExpressionIndex¶
- function: MediumLevelILFunction¶
- instr_index: InstructionIndex¶
MediumLevelILVarAliased¶
- class MediumLevelILVarAliased[source]¶
Bases:
MediumLevelILInstruction,SSA,AliasedVariableInstructionMediumLevelILVarAliased(function: ‘MediumLevelILFunction’, expr_index: <function NewType.<locals>.new_type at 0x1129439d0>, instr: binaryninja.mediumlevelil.CoreMediumLevelILInstruction, instr_index: <function NewType.<locals>.new_type at 0x111812ca0>)
- __init__(function: MediumLevelILFunction, expr_index: ExpressionIndex, instr: CoreMediumLevelILInstruction, instr_index: InstructionIndex) None¶
- Parameters:
function (MediumLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreMediumLevelILInstruction) –
instr_index (InstructionIndex) –
- Return type:
None
- property detailed_operands: List[Tuple[str, int | float | MediumLevelILOperationAndSize | MediumLevelILInstruction | ILIntrinsic | Variable | SSAVariable | List[int] | List[Variable] | List[SSAVariable] | List[MediumLevelILInstruction] | Dict[int, int] | ConstantData, str]]¶
Returns a list of tuples containing the name of the operand, the operand, and the type of the operand. Useful for iterating over all operands of an instruction and sub-instructions.
- expr_index: ExpressionIndex¶
- function: MediumLevelILFunction¶
- instr_index: InstructionIndex¶
- property src: SSAVariable¶
MediumLevelILVarAliasedField¶
- class MediumLevelILVarAliasedField[source]¶
Bases:
MediumLevelILInstruction,SSAMediumLevelILVarAliasedField(function: ‘MediumLevelILFunction’, expr_index: <function NewType.<locals>.new_type at 0x1129439d0>, instr: binaryninja.mediumlevelil.CoreMediumLevelILInstruction, instr_index: <function NewType.<locals>.new_type at 0x111812ca0>)
- __init__(function: MediumLevelILFunction, expr_index: ExpressionIndex, instr: CoreMediumLevelILInstruction, instr_index: InstructionIndex) None¶
- Parameters:
function (MediumLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreMediumLevelILInstruction) –
instr_index (InstructionIndex) –
- Return type:
None
- property detailed_operands: List[Tuple[str, int | float | MediumLevelILOperationAndSize | MediumLevelILInstruction | ILIntrinsic | Variable | SSAVariable | List[int] | List[Variable] | List[SSAVariable] | List[MediumLevelILInstruction] | Dict[int, int] | ConstantData, str]]¶
Returns a list of tuples containing the name of the operand, the operand, and the type of the operand. Useful for iterating over all operands of an instruction and sub-instructions.
- expr_index: ExpressionIndex¶
- function: MediumLevelILFunction¶
- instr_index: InstructionIndex¶
- property src: SSAVariable¶
MediumLevelILVarField¶
- class MediumLevelILVarField[source]¶
Bases:
MediumLevelILInstructionMediumLevelILVarField(function: ‘MediumLevelILFunction’, expr_index: <function NewType.<locals>.new_type at 0x1129439d0>, instr: binaryninja.mediumlevelil.CoreMediumLevelILInstruction, instr_index: <function NewType.<locals>.new_type at 0x111812ca0>)
- __init__(function: MediumLevelILFunction, expr_index: ExpressionIndex, instr: CoreMediumLevelILInstruction, instr_index: InstructionIndex) None¶
- Parameters:
function (MediumLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreMediumLevelILInstruction) –
instr_index (InstructionIndex) –
- Return type:
None
- property detailed_operands: List[Tuple[str, int | float | MediumLevelILOperationAndSize | MediumLevelILInstruction | ILIntrinsic | Variable | SSAVariable | List[int] | List[Variable] | List[SSAVariable] | List[MediumLevelILInstruction] | Dict[int, int] | ConstantData, str]]¶
Returns a list of tuples containing the name of the operand, the operand, and the type of the operand. Useful for iterating over all operands of an instruction and sub-instructions.
- expr_index: ExpressionIndex¶
- function: MediumLevelILFunction¶
- instr_index: InstructionIndex¶
MediumLevelILVarPhi¶
- class MediumLevelILVarPhi[source]¶
Bases:
MediumLevelILInstruction,SetVar,Phi,SSAMediumLevelILVarPhi(function: ‘MediumLevelILFunction’, expr_index: <function NewType.<locals>.new_type at 0x1129439d0>, instr: binaryninja.mediumlevelil.CoreMediumLevelILInstruction, instr_index: <function NewType.<locals>.new_type at 0x111812ca0>)
- __init__(function: MediumLevelILFunction, expr_index: ExpressionIndex, instr: CoreMediumLevelILInstruction, instr_index: InstructionIndex) None¶
- Parameters:
function (MediumLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreMediumLevelILInstruction) –
instr_index (InstructionIndex) –
- Return type:
None
- property dest: SSAVariable¶
- property detailed_operands: List[Tuple[str, int | float | MediumLevelILOperationAndSize | MediumLevelILInstruction | ILIntrinsic | Variable | SSAVariable | List[int] | List[Variable] | List[SSAVariable] | List[MediumLevelILInstruction] | Dict[int, int] | ConstantData, str]]¶
Returns a list of tuples containing the name of the operand, the operand, and the type of the operand. Useful for iterating over all operands of an instruction and sub-instructions.
- expr_index: ExpressionIndex¶
- function: MediumLevelILFunction¶
- instr_index: InstructionIndex¶
- property src: List[SSAVariable]¶
- property vars_read: List[SSAVariable]¶
List of variables read by instruction
- property vars_written: List[SSAVariable]¶
List of variables written by instruction
MediumLevelILVarSplit¶
- class MediumLevelILVarSplit[source]¶
Bases:
MediumLevelILInstructionMediumLevelILVarSplit(function: ‘MediumLevelILFunction’, expr_index: <function NewType.<locals>.new_type at 0x1129439d0>, instr: binaryninja.mediumlevelil.CoreMediumLevelILInstruction, instr_index: <function NewType.<locals>.new_type at 0x111812ca0>)
- __init__(function: MediumLevelILFunction, expr_index: ExpressionIndex, instr: CoreMediumLevelILInstruction, instr_index: InstructionIndex) None¶
- Parameters:
function (MediumLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreMediumLevelILInstruction) –
instr_index (InstructionIndex) –
- Return type:
None
- property detailed_operands: List[Tuple[str, int | float | MediumLevelILOperationAndSize | MediumLevelILInstruction | ILIntrinsic | Variable | SSAVariable | List[int] | List[Variable] | List[SSAVariable] | List[MediumLevelILInstruction] | Dict[int, int] | ConstantData, str]]¶
Returns a list of tuples containing the name of the operand, the operand, and the type of the operand. Useful for iterating over all operands of an instruction and sub-instructions.
- expr_index: ExpressionIndex¶
- function: MediumLevelILFunction¶
- instr_index: InstructionIndex¶
MediumLevelILVarSplitSsa¶
- class MediumLevelILVarSplitSsa[source]¶
Bases:
MediumLevelILInstruction,SSAMediumLevelILVarSplitSsa(function: ‘MediumLevelILFunction’, expr_index: <function NewType.<locals>.new_type at 0x1129439d0>, instr: binaryninja.mediumlevelil.CoreMediumLevelILInstruction, instr_index: <function NewType.<locals>.new_type at 0x111812ca0>)
- __init__(function: MediumLevelILFunction, expr_index: ExpressionIndex, instr: CoreMediumLevelILInstruction, instr_index: InstructionIndex) None¶
- Parameters:
function (MediumLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreMediumLevelILInstruction) –
instr_index (InstructionIndex) –
- Return type:
None
- property detailed_operands: List[Tuple[str, int | float | MediumLevelILOperationAndSize | MediumLevelILInstruction | ILIntrinsic | Variable | SSAVariable | List[int] | List[Variable] | List[SSAVariable] | List[MediumLevelILInstruction] | Dict[int, int] | ConstantData, str]]¶
Returns a list of tuples containing the name of the operand, the operand, and the type of the operand. Useful for iterating over all operands of an instruction and sub-instructions.
- expr_index: ExpressionIndex¶
- function: MediumLevelILFunction¶
- property high: SSAVariable¶
- instr_index: InstructionIndex¶
- property low: SSAVariable¶
MediumLevelILVarSsa¶
- class MediumLevelILVarSsa[source]¶
Bases:
MediumLevelILInstruction,SSAVariableInstructionMediumLevelILVarSsa(function: ‘MediumLevelILFunction’, expr_index: <function NewType.<locals>.new_type at 0x1129439d0>, instr: binaryninja.mediumlevelil.CoreMediumLevelILInstruction, instr_index: <function NewType.<locals>.new_type at 0x111812ca0>)
- __init__(function: MediumLevelILFunction, expr_index: ExpressionIndex, instr: CoreMediumLevelILInstruction, instr_index: InstructionIndex) None¶
- Parameters:
function (MediumLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreMediumLevelILInstruction) –
instr_index (InstructionIndex) –
- Return type:
None
- property detailed_operands: List[Tuple[str, int | float | MediumLevelILOperationAndSize | MediumLevelILInstruction | ILIntrinsic | Variable | SSAVariable | List[int] | List[Variable] | List[SSAVariable] | List[MediumLevelILInstruction] | Dict[int, int] | ConstantData, str]]¶
Returns a list of tuples containing the name of the operand, the operand, and the type of the operand. Useful for iterating over all operands of an instruction and sub-instructions.
- expr_index: ExpressionIndex¶
- function: MediumLevelILFunction¶
- instr_index: InstructionIndex¶
- property src: SSAVariable¶
- property var: SSAVariable¶
MediumLevelILVarSsaField¶
- class MediumLevelILVarSsaField[source]¶
Bases:
MediumLevelILInstruction,SSAMediumLevelILVarSsaField(function: ‘MediumLevelILFunction’, expr_index: <function NewType.<locals>.new_type at 0x1129439d0>, instr: binaryninja.mediumlevelil.CoreMediumLevelILInstruction, instr_index: <function NewType.<locals>.new_type at 0x111812ca0>)
- __init__(function: MediumLevelILFunction, expr_index: ExpressionIndex, instr: CoreMediumLevelILInstruction, instr_index: InstructionIndex) None¶
- Parameters:
function (MediumLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreMediumLevelILInstruction) –
instr_index (InstructionIndex) –
- Return type:
None
- property detailed_operands: List[Tuple[str, int | float | MediumLevelILOperationAndSize | MediumLevelILInstruction | ILIntrinsic | Variable | SSAVariable | List[int] | List[Variable] | List[SSAVariable] | List[MediumLevelILInstruction] | Dict[int, int] | ConstantData, str]]¶
Returns a list of tuples containing the name of the operand, the operand, and the type of the operand. Useful for iterating over all operands of an instruction and sub-instructions.
- expr_index: ExpressionIndex¶
- function: MediumLevelILFunction¶
- instr_index: InstructionIndex¶
- property src: SSAVariable¶
MediumLevelILXor¶
- class MediumLevelILXor[source]¶
Bases:
MediumLevelILBinaryBase,ArithmeticMediumLevelILXor(function: ‘MediumLevelILFunction’, expr_index: <function NewType.<locals>.new_type at 0x1129439d0>, instr: binaryninja.mediumlevelil.CoreMediumLevelILInstruction, instr_index: <function NewType.<locals>.new_type at 0x111812ca0>)
- __init__(function: MediumLevelILFunction, expr_index: ExpressionIndex, instr: CoreMediumLevelILInstruction, instr_index: InstructionIndex) None¶
- Parameters:
function (MediumLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreMediumLevelILInstruction) –
instr_index (InstructionIndex) –
- Return type:
None
- expr_index: ExpressionIndex¶
- function: MediumLevelILFunction¶
- instr_index: InstructionIndex¶
MediumLevelILZx¶
- class MediumLevelILZx[source]¶
Bases:
MediumLevelILUnaryBase,ArithmeticMediumLevelILZx(function: ‘MediumLevelILFunction’, expr_index: <function NewType.<locals>.new_type at 0x1129439d0>, instr: binaryninja.mediumlevelil.CoreMediumLevelILInstruction, instr_index: <function NewType.<locals>.new_type at 0x111812ca0>)
- __init__(function: MediumLevelILFunction, expr_index: ExpressionIndex, instr: CoreMediumLevelILInstruction, instr_index: InstructionIndex) None¶
- Parameters:
function (MediumLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreMediumLevelILInstruction) –
instr_index (InstructionIndex) –
- Return type:
None
- expr_index: ExpressionIndex¶
- function: MediumLevelILFunction¶
- instr_index: InstructionIndex¶
SSAVariable¶
- class SSAVariable[source]¶
Bases:
objectSSAVariable(var: ‘variable.Variable’, version: int)
- property dead_store_elimination: DeadStoreElimination¶
returns the dead store elimination setting for this variable (read-only)
- property def_site: MediumLevelILInstruction | HighLevelILInstruction | None¶
Gets the IL instructions where this SSAVariable is defined.
- property il_function: function.ILFunctionType¶
returns the il Function object which this variable belongs to
- property use_sites: List[MediumLevelILInstruction | HighLevelILInstruction]¶
Gets the list of IL instructions where this SSAVariable is used inside of this function.