lowlevelil module¶
|
|
|
|
|
|
|
|
The |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
- class CoreLowLevelILInstruction(operation: LowLevelILOperation, attributes: int, size: int, flags: int, source_operand: binaryninja.lowlevelil.ExpressionIndex, operands: Tuple[binaryninja.lowlevelil.ExpressionIndex, binaryninja.lowlevelil.ExpressionIndex, binaryninja.lowlevelil.ExpressionIndex, binaryninja.lowlevelil.ExpressionIndex], address: int)[source]¶
Bases:
object
- Parameters:
- classmethod from_BNLowLevelILInstruction(instr: BNLowLevelILInstruction) CoreLowLevelILInstruction [source]¶
- Parameters:
instr (BNLowLevelILInstruction) –
- Return type:
- operation: LowLevelILOperation¶
- source_operand: ExpressionIndex¶
- class ILFlag(arch: 'architecture.Architecture', index: 'architecture.FlagIndex')[source]¶
Bases:
object
- Parameters:
arch (Architecture) –
index (FlagIndex) –
- arch: Architecture¶
- index: FlagIndex¶
- property name: FlagName¶
- class ILIntrinsic(arch: 'architecture.Architecture', index: 'architecture.IntrinsicIndex')[source]¶
Bases:
object
- Parameters:
arch (Architecture) –
index (IntrinsicIndex) –
- arch: Architecture¶
- index: IntrinsicIndex¶
- property inputs: List[IntrinsicInput]¶
inputs
is only available if the IL intrinsic is an Architecture intrinsic
- property name: IntrinsicName¶
- class ILRegister(arch: 'architecture.Architecture', index: 'architecture.RegisterIndex')[source]¶
Bases:
object
- Parameters:
arch (Architecture) –
index (RegisterIndex) –
- arch: Architecture¶
- index: RegisterIndex¶
- property info: RegisterInfo¶
- property name: RegisterName¶
- class ILRegisterStack(arch: 'architecture.Architecture', index: 'architecture.RegisterStackIndex')[source]¶
Bases:
object
- Parameters:
arch (Architecture) –
index (RegisterStackIndex) –
- arch: Architecture¶
- index: RegisterStackIndex¶
- property info: RegisterStackInfo¶
- property name: RegisterStackName¶
- class ILSemanticFlagClass(arch: 'architecture.Architecture', index: 'architecture.SemanticClassIndex')[source]¶
Bases:
object
- Parameters:
arch (Architecture) –
index (SemanticClassIndex) –
- arch: Architecture¶
- index: SemanticClassIndex¶
- property name: SemanticClassName¶
- class ILSemanticFlagGroup(arch: 'architecture.Architecture', index: 'architecture.SemanticGroupIndex')[source]¶
Bases:
object
- Parameters:
arch (Architecture) –
index (SemanticGroupIndex) –
- arch: Architecture¶
- index: SemanticGroupIndex¶
- property name: SemanticGroupName¶
- class LowLevelILAdc(function: 'LowLevelILFunction', expr_index: binaryninja.lowlevelil.ExpressionIndex, instr: CoreLowLevelILInstruction, instr_index: binaryninja.lowlevelil.InstructionIndex | None)[source]¶
Bases:
LowLevelILCarryBase
- Parameters:
function (LowLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreLowLevelILInstruction) –
instr_index (InstructionIndex | None) –
- class LowLevelILAdd(function: 'LowLevelILFunction', expr_index: binaryninja.lowlevelil.ExpressionIndex, instr: CoreLowLevelILInstruction, instr_index: binaryninja.lowlevelil.InstructionIndex | None)[source]¶
Bases:
LowLevelILBinaryBase
,Arithmetic
- Parameters:
function (LowLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreLowLevelILInstruction) –
instr_index (InstructionIndex | None) –
- class LowLevelILAddOverflow(function: 'LowLevelILFunction', expr_index: binaryninja.lowlevelil.ExpressionIndex, instr: CoreLowLevelILInstruction, instr_index: binaryninja.lowlevelil.InstructionIndex | None)[source]¶
Bases:
LowLevelILBinaryBase
,Arithmetic
- Parameters:
function (LowLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreLowLevelILInstruction) –
instr_index (InstructionIndex | None) –
- class LowLevelILAnd(function: 'LowLevelILFunction', expr_index: binaryninja.lowlevelil.ExpressionIndex, instr: CoreLowLevelILInstruction, instr_index: binaryninja.lowlevelil.InstructionIndex | None)[source]¶
Bases:
LowLevelILBinaryBase
,Arithmetic
- Parameters:
function (LowLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreLowLevelILInstruction) –
instr_index (InstructionIndex | None) –
- class LowLevelILAsr(function: 'LowLevelILFunction', expr_index: binaryninja.lowlevelil.ExpressionIndex, instr: CoreLowLevelILInstruction, instr_index: binaryninja.lowlevelil.InstructionIndex | None)[source]¶
Bases:
LowLevelILBinaryBase
,Arithmetic
- Parameters:
function (LowLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreLowLevelILInstruction) –
instr_index (InstructionIndex | None) –
- class LowLevelILBasicBlock(handle: LP_BNBasicBlock, owner: LowLevelILFunction, view: BinaryView | None)[source]¶
Bases:
BasicBlock
The
LogLevelILBasicBlock
object is returned during analysis and should not be directly instantiated.- Parameters:
handle (LP_BNBasicBlock) –
owner (LowLevelILFunction) –
view (BinaryView | None) –
- property il_function: LowLevelILFunction¶
- class LowLevelILBinaryBase(function: 'LowLevelILFunction', expr_index: binaryninja.lowlevelil.ExpressionIndex, instr: CoreLowLevelILInstruction, instr_index: binaryninja.lowlevelil.InstructionIndex | None)[source]¶
Bases:
LowLevelILInstruction
,BinaryOperation
- Parameters:
function (LowLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreLowLevelILInstruction) –
instr_index (InstructionIndex | None) –
- property detailed_operands: List[Tuple[str, LowLevelILOperationAndSize | ILRegister | ILFlag | ILIntrinsic | ILRegisterStack | int | Dict[int, int] | float | LowLevelILInstruction | Dict[RegisterStackName, int] | SSAFlag | SSARegister | SSARegisterStack | ILSemanticFlagClass | ILSemanticFlagGroup | LowLevelILFlagCondition | List[int] | List[LowLevelILInstruction] | List[ILFlag | ILRegister] | List[SSARegister] | List[SSARegisterStack] | List[SSAFlag] | List[SSARegisterOrFlag] | None, 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.
- property left: LowLevelILInstruction¶
- property right: LowLevelILInstruction¶
- class LowLevelILBoolToInt(function: 'LowLevelILFunction', expr_index: binaryninja.lowlevelil.ExpressionIndex, instr: CoreLowLevelILInstruction, instr_index: binaryninja.lowlevelil.InstructionIndex | None)[source]¶
Bases:
LowLevelILInstruction
- Parameters:
function (LowLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreLowLevelILInstruction) –
instr_index (InstructionIndex | None) –
- property detailed_operands: List[Tuple[str, LowLevelILOperationAndSize | ILRegister | ILFlag | ILIntrinsic | ILRegisterStack | int | Dict[int, int] | float | LowLevelILInstruction | Dict[RegisterStackName, int] | SSAFlag | SSARegister | SSARegisterStack | ILSemanticFlagClass | ILSemanticFlagGroup | LowLevelILFlagCondition | List[int] | List[LowLevelILInstruction] | List[ILFlag | ILRegister] | List[SSARegister] | List[SSARegisterStack] | List[SSAFlag] | List[SSARegisterOrFlag] | None, 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.
- property src: LowLevelILInstruction¶
- class LowLevelILBp(function: 'LowLevelILFunction', expr_index: binaryninja.lowlevelil.ExpressionIndex, instr: CoreLowLevelILInstruction, instr_index: binaryninja.lowlevelil.InstructionIndex | None)[source]¶
Bases:
LowLevelILInstruction
,Terminal
- Parameters:
function (LowLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreLowLevelILInstruction) –
instr_index (InstructionIndex | None) –
- class LowLevelILCall(function: 'LowLevelILFunction', expr_index: binaryninja.lowlevelil.ExpressionIndex, instr: CoreLowLevelILInstruction, instr_index: binaryninja.lowlevelil.InstructionIndex | None)[source]¶
Bases:
LowLevelILInstruction
,Localcall
- Parameters:
function (LowLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreLowLevelILInstruction) –
instr_index (InstructionIndex | None) –
- property dest: LowLevelILInstruction¶
- property detailed_operands: List[Tuple[str, LowLevelILOperationAndSize | ILRegister | ILFlag | ILIntrinsic | ILRegisterStack | int | Dict[int, int] | float | LowLevelILInstruction | Dict[RegisterStackName, int] | SSAFlag | SSARegister | SSARegisterStack | ILSemanticFlagClass | ILSemanticFlagGroup | LowLevelILFlagCondition | List[int] | List[LowLevelILInstruction] | List[ILFlag | ILRegister] | List[SSARegister] | List[SSARegisterStack] | List[SSAFlag] | List[SSARegisterOrFlag] | None, 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.
- class LowLevelILCallOutputSsa(function: 'LowLevelILFunction', expr_index: binaryninja.lowlevelil.ExpressionIndex, instr: CoreLowLevelILInstruction, instr_index: binaryninja.lowlevelil.InstructionIndex | None)[source]¶
Bases:
LowLevelILInstruction
,SSA
- Parameters:
function (LowLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreLowLevelILInstruction) –
instr_index (InstructionIndex | None) –
- property dest: List[SSARegister]¶
- property detailed_operands: List[Tuple[str, LowLevelILOperationAndSize | ILRegister | ILFlag | ILIntrinsic | ILRegisterStack | int | Dict[int, int] | float | LowLevelILInstruction | Dict[RegisterStackName, int] | SSAFlag | SSARegister | SSARegisterStack | ILSemanticFlagClass | ILSemanticFlagGroup | LowLevelILFlagCondition | List[int] | List[LowLevelILInstruction] | List[ILFlag | ILRegister] | List[SSARegister] | List[SSARegisterStack] | List[SSAFlag] | List[SSARegisterOrFlag] | None, 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.
- class LowLevelILCallParam(function: 'LowLevelILFunction', expr_index: binaryninja.lowlevelil.ExpressionIndex, instr: CoreLowLevelILInstruction, instr_index: binaryninja.lowlevelil.InstructionIndex | None)[source]¶
Bases:
LowLevelILInstruction
,SSA
- Parameters:
function (LowLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreLowLevelILInstruction) –
instr_index (InstructionIndex | None) –
- property detailed_operands: List[Tuple[str, LowLevelILOperationAndSize | ILRegister | ILFlag | ILIntrinsic | ILRegisterStack | int | Dict[int, int] | float | LowLevelILInstruction | Dict[RegisterStackName, int] | SSAFlag | SSARegister | SSARegisterStack | ILSemanticFlagClass | ILSemanticFlagGroup | LowLevelILFlagCondition | List[int] | List[LowLevelILInstruction] | List[ILFlag | ILRegister] | List[SSARegister] | List[SSARegisterStack] | List[SSAFlag] | List[SSARegisterOrFlag] | None, 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.
- property src: List[LowLevelILInstruction]¶
- class LowLevelILCallSsa(function: 'LowLevelILFunction', expr_index: binaryninja.lowlevelil.ExpressionIndex, instr: CoreLowLevelILInstruction, instr_index: binaryninja.lowlevelil.InstructionIndex | None)[source]¶
Bases:
LowLevelILInstruction
,Localcall
,SSA
- Parameters:
function (LowLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreLowLevelILInstruction) –
instr_index (InstructionIndex | None) –
- property dest: LowLevelILInstruction¶
- property detailed_operands: List[Tuple[str, LowLevelILOperationAndSize | ILRegister | ILFlag | ILIntrinsic | ILRegisterStack | int | Dict[int, int] | float | LowLevelILInstruction | Dict[RegisterStackName, int] | SSAFlag | SSARegister | SSARegisterStack | ILSemanticFlagClass | ILSemanticFlagGroup | LowLevelILFlagCondition | List[int] | List[LowLevelILInstruction] | List[ILFlag | ILRegister] | List[SSARegister] | List[SSARegisterStack] | List[SSAFlag] | List[SSARegisterOrFlag] | None, 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.
- property output: List[SSARegister]¶
- property param: LowLevelILCallParam¶
- property params: List[LowLevelILInstruction]¶
- property stack: LowLevelILInstruction¶
- class LowLevelILCallStackAdjust(function: 'LowLevelILFunction', expr_index: binaryninja.lowlevelil.ExpressionIndex, instr: CoreLowLevelILInstruction, instr_index: binaryninja.lowlevelil.InstructionIndex | None)[source]¶
Bases:
LowLevelILInstruction
,Localcall
- Parameters:
function (LowLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreLowLevelILInstruction) –
instr_index (InstructionIndex | None) –
- property dest: LowLevelILInstruction¶
- property detailed_operands: List[Tuple[str, LowLevelILOperationAndSize | ILRegister | ILFlag | ILIntrinsic | ILRegisterStack | int | Dict[int, int] | float | LowLevelILInstruction | Dict[RegisterStackName, int] | SSAFlag | SSARegister | SSARegisterStack | ILSemanticFlagClass | ILSemanticFlagGroup | LowLevelILFlagCondition | List[int] | List[LowLevelILInstruction] | List[ILFlag | ILRegister] | List[SSARegister] | List[SSARegisterStack] | List[SSAFlag] | List[SSARegisterOrFlag] | None, 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.
- class LowLevelILCallStackSsa(function: 'LowLevelILFunction', expr_index: binaryninja.lowlevelil.ExpressionIndex, instr: CoreLowLevelILInstruction, instr_index: binaryninja.lowlevelil.InstructionIndex | None)[source]¶
Bases:
LowLevelILInstruction
,SSA
- Parameters:
function (LowLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreLowLevelILInstruction) –
instr_index (InstructionIndex | None) –
- property detailed_operands: List[Tuple[str, LowLevelILOperationAndSize | ILRegister | ILFlag | ILIntrinsic | ILRegisterStack | int | Dict[int, int] | float | LowLevelILInstruction | Dict[RegisterStackName, int] | SSAFlag | SSARegister | SSARegisterStack | ILSemanticFlagClass | ILSemanticFlagGroup | LowLevelILFlagCondition | List[int] | List[LowLevelILInstruction] | List[ILFlag | ILRegister] | List[SSARegister] | List[SSARegisterStack] | List[SSAFlag] | List[SSARegisterOrFlag] | None, 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.
- property src: SSARegister¶
- class LowLevelILCarryBase(function: 'LowLevelILFunction', expr_index: binaryninja.lowlevelil.ExpressionIndex, instr: CoreLowLevelILInstruction, instr_index: binaryninja.lowlevelil.InstructionIndex | None)[source]¶
Bases:
LowLevelILInstruction
,Carry
- Parameters:
function (LowLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreLowLevelILInstruction) –
instr_index (InstructionIndex | None) –
- property carry: LowLevelILInstruction¶
- property detailed_operands: List[Tuple[str, LowLevelILOperationAndSize | ILRegister | ILFlag | ILIntrinsic | ILRegisterStack | int | Dict[int, int] | float | LowLevelILInstruction | Dict[RegisterStackName, int] | SSAFlag | SSARegister | SSARegisterStack | ILSemanticFlagClass | ILSemanticFlagGroup | LowLevelILFlagCondition | List[int] | List[LowLevelILInstruction] | List[ILFlag | ILRegister] | List[SSARegister] | List[SSARegisterStack] | List[SSAFlag] | List[SSARegisterOrFlag] | None, 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.
- property left: LowLevelILInstruction¶
- property right: LowLevelILInstruction¶
- class LowLevelILCeil(function: 'LowLevelILFunction', expr_index: binaryninja.lowlevelil.ExpressionIndex, instr: CoreLowLevelILInstruction, instr_index: binaryninja.lowlevelil.InstructionIndex | None)[source]¶
Bases:
LowLevelILInstruction
,FloatingPoint
,Arithmetic
- Parameters:
function (LowLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreLowLevelILInstruction) –
instr_index (InstructionIndex | None) –
- property detailed_operands: List[Tuple[str, LowLevelILOperationAndSize | ILRegister | ILFlag | ILIntrinsic | ILRegisterStack | int | Dict[int, int] | float | LowLevelILInstruction | Dict[RegisterStackName, int] | SSAFlag | SSARegister | SSARegisterStack | ILSemanticFlagClass | ILSemanticFlagGroup | LowLevelILFlagCondition | List[int] | List[LowLevelILInstruction] | List[ILFlag | ILRegister] | List[SSARegister] | List[SSARegisterStack] | List[SSAFlag] | List[SSARegisterOrFlag] | None, 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.
- property src: LowLevelILInstruction¶
- class LowLevelILCmpE(function: 'LowLevelILFunction', expr_index: binaryninja.lowlevelil.ExpressionIndex, instr: CoreLowLevelILInstruction, instr_index: binaryninja.lowlevelil.InstructionIndex | None)[source]¶
Bases:
LowLevelILComparisonBase
- Parameters:
function (LowLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreLowLevelILInstruction) –
instr_index (InstructionIndex | None) –
- class LowLevelILCmpNe(function: 'LowLevelILFunction', expr_index: binaryninja.lowlevelil.ExpressionIndex, instr: CoreLowLevelILInstruction, instr_index: binaryninja.lowlevelil.InstructionIndex | None)[source]¶
Bases:
LowLevelILComparisonBase
- Parameters:
function (LowLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreLowLevelILInstruction) –
instr_index (InstructionIndex | None) –
- class LowLevelILCmpSge(function: 'LowLevelILFunction', expr_index: binaryninja.lowlevelil.ExpressionIndex, instr: CoreLowLevelILInstruction, instr_index: binaryninja.lowlevelil.InstructionIndex | None)[source]¶
Bases:
LowLevelILComparisonBase
,Signed
- Parameters:
function (LowLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreLowLevelILInstruction) –
instr_index (InstructionIndex | None) –
- class LowLevelILCmpSgt(function: 'LowLevelILFunction', expr_index: binaryninja.lowlevelil.ExpressionIndex, instr: CoreLowLevelILInstruction, instr_index: binaryninja.lowlevelil.InstructionIndex | None)[source]¶
Bases:
LowLevelILComparisonBase
,Signed
- Parameters:
function (LowLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreLowLevelILInstruction) –
instr_index (InstructionIndex | None) –
- class LowLevelILCmpSle(function: 'LowLevelILFunction', expr_index: binaryninja.lowlevelil.ExpressionIndex, instr: CoreLowLevelILInstruction, instr_index: binaryninja.lowlevelil.InstructionIndex | None)[source]¶
Bases:
LowLevelILComparisonBase
,Signed
- Parameters:
function (LowLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreLowLevelILInstruction) –
instr_index (InstructionIndex | None) –
- class LowLevelILCmpSlt(function: 'LowLevelILFunction', expr_index: binaryninja.lowlevelil.ExpressionIndex, instr: CoreLowLevelILInstruction, instr_index: binaryninja.lowlevelil.InstructionIndex | None)[source]¶
Bases:
LowLevelILComparisonBase
,Signed
- Parameters:
function (LowLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreLowLevelILInstruction) –
instr_index (InstructionIndex | None) –
- class LowLevelILCmpUge(function: 'LowLevelILFunction', expr_index: binaryninja.lowlevelil.ExpressionIndex, instr: CoreLowLevelILInstruction, instr_index: binaryninja.lowlevelil.InstructionIndex | None)[source]¶
Bases:
LowLevelILComparisonBase
- Parameters:
function (LowLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreLowLevelILInstruction) –
instr_index (InstructionIndex | None) –
- class LowLevelILCmpUgt(function: 'LowLevelILFunction', expr_index: binaryninja.lowlevelil.ExpressionIndex, instr: CoreLowLevelILInstruction, instr_index: binaryninja.lowlevelil.InstructionIndex | None)[source]¶
Bases:
LowLevelILComparisonBase
- Parameters:
function (LowLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreLowLevelILInstruction) –
instr_index (InstructionIndex | None) –
- class LowLevelILCmpUle(function: 'LowLevelILFunction', expr_index: binaryninja.lowlevelil.ExpressionIndex, instr: CoreLowLevelILInstruction, instr_index: binaryninja.lowlevelil.InstructionIndex | None)[source]¶
Bases:
LowLevelILComparisonBase
- Parameters:
function (LowLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreLowLevelILInstruction) –
instr_index (InstructionIndex | None) –
- class LowLevelILCmpUlt(function: 'LowLevelILFunction', expr_index: binaryninja.lowlevelil.ExpressionIndex, instr: CoreLowLevelILInstruction, instr_index: binaryninja.lowlevelil.InstructionIndex | None)[source]¶
Bases:
LowLevelILComparisonBase
- Parameters:
function (LowLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreLowLevelILInstruction) –
instr_index (InstructionIndex | None) –
- class LowLevelILComparisonBase(function: 'LowLevelILFunction', expr_index: binaryninja.lowlevelil.ExpressionIndex, instr: CoreLowLevelILInstruction, instr_index: binaryninja.lowlevelil.InstructionIndex | None)[source]¶
Bases:
LowLevelILBinaryBase
,Comparison
- Parameters:
function (LowLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreLowLevelILInstruction) –
instr_index (InstructionIndex | None) –
- class LowLevelILConst(function: 'LowLevelILFunction', expr_index: binaryninja.lowlevelil.ExpressionIndex, instr: CoreLowLevelILInstruction, instr_index: binaryninja.lowlevelil.InstructionIndex | None)[source]¶
Bases:
LowLevelILConstantBase
- Parameters:
function (LowLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreLowLevelILInstruction) –
instr_index (InstructionIndex | None) –
- class LowLevelILConstPtr(function: 'LowLevelILFunction', expr_index: binaryninja.lowlevelil.ExpressionIndex, instr: CoreLowLevelILInstruction, instr_index: binaryninja.lowlevelil.InstructionIndex | None)[source]¶
Bases:
LowLevelILConstantBase
- Parameters:
function (LowLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreLowLevelILInstruction) –
instr_index (InstructionIndex | None) –
- class LowLevelILConstantBase(function: 'LowLevelILFunction', expr_index: binaryninja.lowlevelil.ExpressionIndex, instr: CoreLowLevelILInstruction, instr_index: binaryninja.lowlevelil.InstructionIndex | None)[source]¶
Bases:
LowLevelILInstruction
,Constant
- Parameters:
function (LowLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreLowLevelILInstruction) –
instr_index (InstructionIndex | None) –
- property detailed_operands: List[Tuple[str, LowLevelILOperationAndSize | ILRegister | ILFlag | ILIntrinsic | ILRegisterStack | int | Dict[int, int] | float | LowLevelILInstruction | Dict[RegisterStackName, int] | SSAFlag | SSARegister | SSARegisterStack | ILSemanticFlagClass | ILSemanticFlagGroup | LowLevelILFlagCondition | List[int] | List[LowLevelILInstruction] | List[ILFlag | ILRegister] | List[SSARegister] | List[SSARegisterStack] | List[SSAFlag] | List[SSARegisterOrFlag] | None, 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.
- class LowLevelILDivs(function: 'LowLevelILFunction', expr_index: binaryninja.lowlevelil.ExpressionIndex, instr: CoreLowLevelILInstruction, instr_index: binaryninja.lowlevelil.InstructionIndex | None)[source]¶
Bases:
LowLevelILBinaryBase
,Arithmetic
,Signed
- Parameters:
function (LowLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreLowLevelILInstruction) –
instr_index (InstructionIndex | None) –
- class LowLevelILDivsDp(function: 'LowLevelILFunction', expr_index: binaryninja.lowlevelil.ExpressionIndex, instr: CoreLowLevelILInstruction, instr_index: binaryninja.lowlevelil.InstructionIndex | None)[source]¶
Bases:
LowLevelILBinaryBase
,DoublePrecision
,Signed
- Parameters:
function (LowLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreLowLevelILInstruction) –
instr_index (InstructionIndex | None) –
- class LowLevelILDivu(function: 'LowLevelILFunction', expr_index: binaryninja.lowlevelil.ExpressionIndex, instr: CoreLowLevelILInstruction, instr_index: binaryninja.lowlevelil.InstructionIndex | None)[source]¶
Bases:
LowLevelILBinaryBase
,Arithmetic
- Parameters:
function (LowLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreLowLevelILInstruction) –
instr_index (InstructionIndex | None) –
- class LowLevelILDivuDp(function: 'LowLevelILFunction', expr_index: binaryninja.lowlevelil.ExpressionIndex, instr: CoreLowLevelILInstruction, instr_index: binaryninja.lowlevelil.InstructionIndex | None)[source]¶
Bases:
LowLevelILBinaryBase
,DoublePrecision
- Parameters:
function (LowLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreLowLevelILInstruction) –
instr_index (InstructionIndex | None) –
- class LowLevelILExpr(index: ExpressionIndex)[source]¶
Bases:
object
class LowLevelILExpr
hold the index of IL Expressions.Note
Deprecated. Use ExpressionIndex instead
- Parameters:
index (ExpressionIndex) –
- property index: ExpressionIndex¶
- class LowLevelILExternPtr(function: 'LowLevelILFunction', expr_index: binaryninja.lowlevelil.ExpressionIndex, instr: CoreLowLevelILInstruction, instr_index: binaryninja.lowlevelil.InstructionIndex | None)[source]¶
Bases:
LowLevelILConstantBase
- Parameters:
function (LowLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreLowLevelILInstruction) –
instr_index (InstructionIndex | None) –
- property detailed_operands: List[Tuple[str, LowLevelILOperationAndSize | ILRegister | ILFlag | ILIntrinsic | ILRegisterStack | int | Dict[int, int] | float | LowLevelILInstruction | Dict[RegisterStackName, int] | SSAFlag | SSARegister | SSARegisterStack | ILSemanticFlagClass | ILSemanticFlagGroup | LowLevelILFlagCondition | List[int] | List[LowLevelILInstruction] | List[ILFlag | ILRegister] | List[SSARegister] | List[SSARegisterStack] | List[SSAFlag] | List[SSARegisterOrFlag] | None, 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.
- class LowLevelILFabs(function: 'LowLevelILFunction', expr_index: binaryninja.lowlevelil.ExpressionIndex, instr: CoreLowLevelILInstruction, instr_index: binaryninja.lowlevelil.InstructionIndex | None)[source]¶
Bases:
LowLevelILInstruction
,FloatingPoint
,Arithmetic
- Parameters:
function (LowLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreLowLevelILInstruction) –
instr_index (InstructionIndex | None) –
- property detailed_operands: List[Tuple[str, LowLevelILOperationAndSize | ILRegister | ILFlag | ILIntrinsic | ILRegisterStack | int | Dict[int, int] | float | LowLevelILInstruction | Dict[RegisterStackName, int] | SSAFlag | SSARegister | SSARegisterStack | ILSemanticFlagClass | ILSemanticFlagGroup | LowLevelILFlagCondition | List[int] | List[LowLevelILInstruction] | List[ILFlag | ILRegister] | List[SSARegister] | List[SSARegisterStack] | List[SSAFlag] | List[SSARegisterOrFlag] | None, 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.
- property src: LowLevelILInstruction¶
- class LowLevelILFadd(function: 'LowLevelILFunction', expr_index: binaryninja.lowlevelil.ExpressionIndex, instr: CoreLowLevelILInstruction, instr_index: binaryninja.lowlevelil.InstructionIndex | None)[source]¶
Bases:
LowLevelILBinaryBase
,Arithmetic
,FloatingPoint
- Parameters:
function (LowLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreLowLevelILInstruction) –
instr_index (InstructionIndex | None) –
- class LowLevelILFcmpE(function: 'LowLevelILFunction', expr_index: binaryninja.lowlevelil.ExpressionIndex, instr: CoreLowLevelILInstruction, instr_index: binaryninja.lowlevelil.InstructionIndex | None)[source]¶
Bases:
LowLevelILComparisonBase
,FloatingPoint
- Parameters:
function (LowLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreLowLevelILInstruction) –
instr_index (InstructionIndex | None) –
- class LowLevelILFcmpGe(function: 'LowLevelILFunction', expr_index: binaryninja.lowlevelil.ExpressionIndex, instr: CoreLowLevelILInstruction, instr_index: binaryninja.lowlevelil.InstructionIndex | None)[source]¶
Bases:
LowLevelILComparisonBase
,FloatingPoint
- Parameters:
function (LowLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreLowLevelILInstruction) –
instr_index (InstructionIndex | None) –
- class LowLevelILFcmpGt(function: 'LowLevelILFunction', expr_index: binaryninja.lowlevelil.ExpressionIndex, instr: CoreLowLevelILInstruction, instr_index: binaryninja.lowlevelil.InstructionIndex | None)[source]¶
Bases:
LowLevelILComparisonBase
,FloatingPoint
- Parameters:
function (LowLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreLowLevelILInstruction) –
instr_index (InstructionIndex | None) –
- class LowLevelILFcmpLe(function: 'LowLevelILFunction', expr_index: binaryninja.lowlevelil.ExpressionIndex, instr: CoreLowLevelILInstruction, instr_index: binaryninja.lowlevelil.InstructionIndex | None)[source]¶
Bases:
LowLevelILComparisonBase
,FloatingPoint
- Parameters:
function (LowLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreLowLevelILInstruction) –
instr_index (InstructionIndex | None) –
- class LowLevelILFcmpLt(function: 'LowLevelILFunction', expr_index: binaryninja.lowlevelil.ExpressionIndex, instr: CoreLowLevelILInstruction, instr_index: binaryninja.lowlevelil.InstructionIndex | None)[source]¶
Bases:
LowLevelILComparisonBase
,FloatingPoint
- Parameters:
function (LowLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreLowLevelILInstruction) –
instr_index (InstructionIndex | None) –
- class LowLevelILFcmpNe(function: 'LowLevelILFunction', expr_index: binaryninja.lowlevelil.ExpressionIndex, instr: CoreLowLevelILInstruction, instr_index: binaryninja.lowlevelil.InstructionIndex | None)[source]¶
Bases:
LowLevelILComparisonBase
,FloatingPoint
- Parameters:
function (LowLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreLowLevelILInstruction) –
instr_index (InstructionIndex | None) –
- class LowLevelILFcmpO(function: 'LowLevelILFunction', expr_index: binaryninja.lowlevelil.ExpressionIndex, instr: CoreLowLevelILInstruction, instr_index: binaryninja.lowlevelil.InstructionIndex | None)[source]¶
Bases:
LowLevelILComparisonBase
,FloatingPoint
- Parameters:
function (LowLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreLowLevelILInstruction) –
instr_index (InstructionIndex | None) –
- class LowLevelILFcmpUo(function: 'LowLevelILFunction', expr_index: binaryninja.lowlevelil.ExpressionIndex, instr: CoreLowLevelILInstruction, instr_index: binaryninja.lowlevelil.InstructionIndex | None)[source]¶
Bases:
LowLevelILComparisonBase
,FloatingPoint
- Parameters:
function (LowLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreLowLevelILInstruction) –
instr_index (InstructionIndex | None) –
- class LowLevelILFdiv(function: 'LowLevelILFunction', expr_index: binaryninja.lowlevelil.ExpressionIndex, instr: CoreLowLevelILInstruction, instr_index: binaryninja.lowlevelil.InstructionIndex | None)[source]¶
Bases:
LowLevelILBinaryBase
,Arithmetic
,FloatingPoint
- Parameters:
function (LowLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreLowLevelILInstruction) –
instr_index (InstructionIndex | None) –
- class LowLevelILFlag(function: 'LowLevelILFunction', expr_index: binaryninja.lowlevelil.ExpressionIndex, instr: CoreLowLevelILInstruction, instr_index: binaryninja.lowlevelil.InstructionIndex | None)[source]¶
Bases:
LowLevelILInstruction
- Parameters:
function (LowLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreLowLevelILInstruction) –
instr_index (InstructionIndex | None) –
- property detailed_operands: List[Tuple[str, LowLevelILOperationAndSize | ILRegister | ILFlag | ILIntrinsic | ILRegisterStack | int | Dict[int, int] | float | LowLevelILInstruction | Dict[RegisterStackName, int] | SSAFlag | SSARegister | SSARegisterStack | ILSemanticFlagClass | ILSemanticFlagGroup | LowLevelILFlagCondition | List[int] | List[LowLevelILInstruction] | List[ILFlag | ILRegister] | List[SSARegister] | List[SSARegisterStack] | List[SSAFlag] | List[SSARegisterOrFlag] | None, 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.
- class LowLevelILFlagBit(function: 'LowLevelILFunction', expr_index: binaryninja.lowlevelil.ExpressionIndex, instr: CoreLowLevelILInstruction, instr_index: binaryninja.lowlevelil.InstructionIndex | None)[source]¶
Bases:
LowLevelILInstruction
- Parameters:
function (LowLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreLowLevelILInstruction) –
instr_index (InstructionIndex | None) –
- property detailed_operands: List[Tuple[str, LowLevelILOperationAndSize | ILRegister | ILFlag | ILIntrinsic | ILRegisterStack | int | Dict[int, int] | float | LowLevelILInstruction | Dict[RegisterStackName, int] | SSAFlag | SSARegister | SSARegisterStack | ILSemanticFlagClass | ILSemanticFlagGroup | LowLevelILFlagCondition | List[int] | List[LowLevelILInstruction] | List[ILFlag | ILRegister] | List[SSARegister] | List[SSARegisterStack] | List[SSAFlag] | List[SSARegisterOrFlag] | None, 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.
- class LowLevelILFlagBitSsa(function: 'LowLevelILFunction', expr_index: binaryninja.lowlevelil.ExpressionIndex, instr: CoreLowLevelILInstruction, instr_index: binaryninja.lowlevelil.InstructionIndex | None)[source]¶
Bases:
LowLevelILInstruction
,SSA
- Parameters:
function (LowLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreLowLevelILInstruction) –
instr_index (InstructionIndex | None) –
- property detailed_operands: List[Tuple[str, LowLevelILOperationAndSize | ILRegister | ILFlag | ILIntrinsic | ILRegisterStack | int | Dict[int, int] | float | LowLevelILInstruction | Dict[RegisterStackName, int] | SSAFlag | SSARegister | SSARegisterStack | ILSemanticFlagClass | ILSemanticFlagGroup | LowLevelILFlagCondition | List[int] | List[LowLevelILInstruction] | List[ILFlag | ILRegister] | List[SSARegister] | List[SSARegisterStack] | List[SSAFlag] | List[SSARegisterOrFlag] | None, 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.
- class LowLevelILFlagCond(function: 'LowLevelILFunction', expr_index: binaryninja.lowlevelil.ExpressionIndex, instr: CoreLowLevelILInstruction, instr_index: binaryninja.lowlevelil.InstructionIndex | None)[source]¶
Bases:
LowLevelILInstruction
- Parameters:
function (LowLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreLowLevelILInstruction) –
instr_index (InstructionIndex | None) –
- property condition: LowLevelILFlagCondition¶
- property detailed_operands: List[Tuple[str, LowLevelILOperationAndSize | ILRegister | ILFlag | ILIntrinsic | ILRegisterStack | int | Dict[int, int] | float | LowLevelILInstruction | Dict[RegisterStackName, int] | SSAFlag | SSARegister | SSARegisterStack | ILSemanticFlagClass | ILSemanticFlagGroup | LowLevelILFlagCondition | List[int] | List[LowLevelILInstruction] | List[ILFlag | ILRegister] | List[SSARegister] | List[SSARegisterStack] | List[SSAFlag] | List[SSARegisterOrFlag] | None, 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.
- property semantic_class: ILSemanticFlagClass | None¶
- class LowLevelILFlagGroup(function: 'LowLevelILFunction', expr_index: binaryninja.lowlevelil.ExpressionIndex, instr: CoreLowLevelILInstruction, instr_index: binaryninja.lowlevelil.InstructionIndex | None)[source]¶
Bases:
LowLevelILInstruction
- Parameters:
function (LowLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreLowLevelILInstruction) –
instr_index (InstructionIndex | None) –
- property detailed_operands: List[Tuple[str, LowLevelILOperationAndSize | ILRegister | ILFlag | ILIntrinsic | ILRegisterStack | int | Dict[int, int] | float | LowLevelILInstruction | Dict[RegisterStackName, int] | SSAFlag | SSARegister | SSARegisterStack | ILSemanticFlagClass | ILSemanticFlagGroup | LowLevelILFlagCondition | List[int] | List[LowLevelILInstruction] | List[ILFlag | ILRegister] | List[SSARegister] | List[SSARegisterStack] | List[SSAFlag] | List[SSARegisterOrFlag] | None, 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.
- property semantic_group: ILSemanticFlagGroup¶
- class LowLevelILFlagPhi(function: 'LowLevelILFunction', expr_index: binaryninja.lowlevelil.ExpressionIndex, instr: CoreLowLevelILInstruction, instr_index: binaryninja.lowlevelil.InstructionIndex | None)[source]¶
Bases:
LowLevelILInstruction
,Phi
- Parameters:
function (LowLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreLowLevelILInstruction) –
instr_index (InstructionIndex | None) –
- property detailed_operands: List[Tuple[str, LowLevelILOperationAndSize | ILRegister | ILFlag | ILIntrinsic | ILRegisterStack | int | Dict[int, int] | float | LowLevelILInstruction | Dict[RegisterStackName, int] | SSAFlag | SSARegister | SSARegisterStack | ILSemanticFlagClass | ILSemanticFlagGroup | LowLevelILFlagCondition | List[int] | List[LowLevelILInstruction] | List[ILFlag | ILRegister] | List[SSARegister] | List[SSARegisterStack] | List[SSAFlag] | List[SSARegisterOrFlag] | None, 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.
- class LowLevelILFlagSsa(function: 'LowLevelILFunction', expr_index: binaryninja.lowlevelil.ExpressionIndex, instr: CoreLowLevelILInstruction, instr_index: binaryninja.lowlevelil.InstructionIndex | None)[source]¶
Bases:
LowLevelILInstruction
,SSA
- Parameters:
function (LowLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreLowLevelILInstruction) –
instr_index (InstructionIndex | None) –
- property detailed_operands: List[Tuple[str, LowLevelILOperationAndSize | ILRegister | ILFlag | ILIntrinsic | ILRegisterStack | int | Dict[int, int] | float | LowLevelILInstruction | Dict[RegisterStackName, int] | SSAFlag | SSARegister | SSARegisterStack | ILSemanticFlagClass | ILSemanticFlagGroup | LowLevelILFlagCondition | List[int] | List[LowLevelILInstruction] | List[ILFlag | ILRegister] | List[SSARegister] | List[SSARegisterStack] | List[SSAFlag] | List[SSARegisterOrFlag] | None, 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.
- class LowLevelILFloatConst(function: 'LowLevelILFunction', expr_index: binaryninja.lowlevelil.ExpressionIndex, instr: CoreLowLevelILInstruction, instr_index: binaryninja.lowlevelil.InstructionIndex | None)[source]¶
Bases:
LowLevelILConstantBase
,FloatingPoint
- Parameters:
function (LowLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreLowLevelILInstruction) –
instr_index (InstructionIndex | None) –
- property detailed_operands: List[Tuple[str, LowLevelILOperationAndSize | ILRegister | ILFlag | ILIntrinsic | ILRegisterStack | int | Dict[int, int] | float | LowLevelILInstruction | Dict[RegisterStackName, int] | SSAFlag | SSARegister | SSARegisterStack | ILSemanticFlagClass | ILSemanticFlagGroup | LowLevelILFlagCondition | List[int] | List[LowLevelILInstruction] | List[ILFlag | ILRegister] | List[SSARegister] | List[SSARegisterStack] | List[SSAFlag] | List[SSARegisterOrFlag] | None, 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.
- class LowLevelILFloatConv(function: 'LowLevelILFunction', expr_index: binaryninja.lowlevelil.ExpressionIndex, instr: CoreLowLevelILInstruction, instr_index: binaryninja.lowlevelil.InstructionIndex | None)[source]¶
Bases:
LowLevelILInstruction
,FloatingPoint
,Arithmetic
- Parameters:
function (LowLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreLowLevelILInstruction) –
instr_index (InstructionIndex | None) –
- property detailed_operands: List[Tuple[str, LowLevelILOperationAndSize | ILRegister | ILFlag | ILIntrinsic | ILRegisterStack | int | Dict[int, int] | float | LowLevelILInstruction | Dict[RegisterStackName, int] | SSAFlag | SSARegister | SSARegisterStack | ILSemanticFlagClass | ILSemanticFlagGroup | LowLevelILFlagCondition | List[int] | List[LowLevelILInstruction] | List[ILFlag | ILRegister] | List[SSARegister] | List[SSARegisterStack] | List[SSAFlag] | List[SSARegisterOrFlag] | None, 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.
- property src: LowLevelILInstruction¶
- class LowLevelILFloatToInt(function: 'LowLevelILFunction', expr_index: binaryninja.lowlevelil.ExpressionIndex, instr: CoreLowLevelILInstruction, instr_index: binaryninja.lowlevelil.InstructionIndex | None)[source]¶
Bases:
LowLevelILInstruction
,FloatingPoint
,Arithmetic
- Parameters:
function (LowLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreLowLevelILInstruction) –
instr_index (InstructionIndex | None) –
- property detailed_operands: List[Tuple[str, LowLevelILOperationAndSize | ILRegister | ILFlag | ILIntrinsic | ILRegisterStack | int | Dict[int, int] | float | LowLevelILInstruction | Dict[RegisterStackName, int] | SSAFlag | SSARegister | SSARegisterStack | ILSemanticFlagClass | ILSemanticFlagGroup | LowLevelILFlagCondition | List[int] | List[LowLevelILInstruction] | List[ILFlag | ILRegister] | List[SSARegister] | List[SSARegisterStack] | List[SSAFlag] | List[SSARegisterOrFlag] | None, 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.
- property src: LowLevelILInstruction¶
- class LowLevelILFloor(function: 'LowLevelILFunction', expr_index: binaryninja.lowlevelil.ExpressionIndex, instr: CoreLowLevelILInstruction, instr_index: binaryninja.lowlevelil.InstructionIndex | None)[source]¶
Bases:
LowLevelILInstruction
,FloatingPoint
,Arithmetic
- Parameters:
function (LowLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreLowLevelILInstruction) –
instr_index (InstructionIndex | None) –
- property detailed_operands: List[Tuple[str, LowLevelILOperationAndSize | ILRegister | ILFlag | ILIntrinsic | ILRegisterStack | int | Dict[int, int] | float | LowLevelILInstruction | Dict[RegisterStackName, int] | SSAFlag | SSARegister | SSARegisterStack | ILSemanticFlagClass | ILSemanticFlagGroup | LowLevelILFlagCondition | List[int] | List[LowLevelILInstruction] | List[ILFlag | ILRegister] | List[SSARegister] | List[SSARegisterStack] | List[SSAFlag] | List[SSARegisterOrFlag] | None, 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.
- property src: LowLevelILInstruction¶
- class LowLevelILFmul(function: 'LowLevelILFunction', expr_index: binaryninja.lowlevelil.ExpressionIndex, instr: CoreLowLevelILInstruction, instr_index: binaryninja.lowlevelil.InstructionIndex | None)[source]¶
Bases:
LowLevelILBinaryBase
,Arithmetic
,FloatingPoint
- Parameters:
function (LowLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreLowLevelILInstruction) –
instr_index (InstructionIndex | None) –
- class LowLevelILFneg(function: 'LowLevelILFunction', expr_index: binaryninja.lowlevelil.ExpressionIndex, instr: CoreLowLevelILInstruction, instr_index: binaryninja.lowlevelil.InstructionIndex | None)[source]¶
Bases:
LowLevelILInstruction
,FloatingPoint
,Arithmetic
- Parameters:
function (LowLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreLowLevelILInstruction) –
instr_index (InstructionIndex | None) –
- property detailed_operands: List[Tuple[str, LowLevelILOperationAndSize | ILRegister | ILFlag | ILIntrinsic | ILRegisterStack | int | Dict[int, int] | float | LowLevelILInstruction | Dict[RegisterStackName, int] | SSAFlag | SSARegister | SSARegisterStack | ILSemanticFlagClass | ILSemanticFlagGroup | LowLevelILFlagCondition | List[int] | List[LowLevelILInstruction] | List[ILFlag | ILRegister] | List[SSARegister] | List[SSARegisterStack] | List[SSAFlag] | List[SSARegisterOrFlag] | None, 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.
- property src: LowLevelILInstruction¶
- class LowLevelILFsqrt(function: 'LowLevelILFunction', expr_index: binaryninja.lowlevelil.ExpressionIndex, instr: CoreLowLevelILInstruction, instr_index: binaryninja.lowlevelil.InstructionIndex | None)[source]¶
Bases:
LowLevelILInstruction
,FloatingPoint
,Arithmetic
- Parameters:
function (LowLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreLowLevelILInstruction) –
instr_index (InstructionIndex | None) –
- property detailed_operands: List[Tuple[str, LowLevelILOperationAndSize | ILRegister | ILFlag | ILIntrinsic | ILRegisterStack | int | Dict[int, int] | float | LowLevelILInstruction | Dict[RegisterStackName, int] | SSAFlag | SSARegister | SSARegisterStack | ILSemanticFlagClass | ILSemanticFlagGroup | LowLevelILFlagCondition | List[int] | List[LowLevelILInstruction] | List[ILFlag | ILRegister] | List[SSARegister] | List[SSARegisterStack] | List[SSAFlag] | List[SSARegisterOrFlag] | None, 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.
- property src: LowLevelILInstruction¶
- class LowLevelILFsub(function: 'LowLevelILFunction', expr_index: binaryninja.lowlevelil.ExpressionIndex, instr: CoreLowLevelILInstruction, instr_index: binaryninja.lowlevelil.InstructionIndex | None)[source]¶
Bases:
LowLevelILBinaryBase
,Arithmetic
,FloatingPoint
- Parameters:
function (LowLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreLowLevelILInstruction) –
instr_index (InstructionIndex | None) –
- class LowLevelILFtrunc(function: 'LowLevelILFunction', expr_index: binaryninja.lowlevelil.ExpressionIndex, instr: CoreLowLevelILInstruction, instr_index: binaryninja.lowlevelil.InstructionIndex | None)[source]¶
Bases:
LowLevelILInstruction
,FloatingPoint
,Arithmetic
- Parameters:
function (LowLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreLowLevelILInstruction) –
instr_index (InstructionIndex | None) –
- property detailed_operands: List[Tuple[str, LowLevelILOperationAndSize | ILRegister | ILFlag | ILIntrinsic | ILRegisterStack | int | Dict[int, int] | float | LowLevelILInstruction | Dict[RegisterStackName, int] | SSAFlag | SSARegister | SSARegisterStack | ILSemanticFlagClass | ILSemanticFlagGroup | LowLevelILFlagCondition | List[int] | List[LowLevelILInstruction] | List[ILFlag | ILRegister] | List[SSARegister] | List[SSARegisterStack] | List[SSAFlag] | List[SSARegisterOrFlag] | None, 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.
- property src: LowLevelILInstruction¶
- class LowLevelILFunction(arch: Architecture | None = None, handle: BNLowLevelILFunction | None = None, source_func: Function | None = None)[source]¶
Bases:
object
class LowLevelILFunction
contains the list of ExpressionIndex objects that make up a function. ExpressionIndex objects can be added to the LowLevelILFunction by callingappend
and passing the result of the various class methods which return ExpressionIndex objects.LowLevelILFlagCondition values used as parameters in the
flag_condition
method.LowLevelILFlagCondition
Operator
Description
LLFC_E
==
Equal
LLFC_NE
!=
Not equal
LLFC_SLT
s<
Signed less than
LLFC_ULT
u<
Unsigned less than
LLFC_SLE
s<=
Signed less than or equal
LLFC_ULE
u<=
Unsigned less than or equal
LLFC_SGE
s>=
Signed greater than or equal
LLFC_UGE
u>=
Unsigned greater than or equal
LLFC_SGT
s>
Signed greater than
LLFC_UGT
u>
Unsigned greater than
LLFC_NEG
Negative
LLFC_POS
Positive
LLFC_O
overflow
Overflow
LLFC_NO
!overflow
No overflow
- Parameters:
arch (Architecture | None) –
handle (BNLowLevelILFunction | None) –
source_func (Function | None) –
- add(size: int, a: ExpressionIndex, b: ExpressionIndex, flags: architecture.FlagType | None = None) ExpressionIndex [source]¶
add
adds expressiona
to expressionb
potentially setting flagsflags
and returning an expression ofsize
bytes.
- add_carry(size: int, a: ExpressionIndex, b: ExpressionIndex, carry: ExpressionIndex, flags: architecture.FlagType | None = None) ExpressionIndex [source]¶
add_carry
adds with carry expressiona
to expressionb
potentially setting flagsflags
and returning an expression ofsize
bytes.
- add_label_for_address(arch: Architecture, addr: int) None [source]¶
add_label_for_address
adds a low-level IL label for the given architecturearch
at the given virtual addressaddr
- Parameters:
arch (Architecture) – Architecture to add labels for
addr (int) – the IL address to add a label at
- Return type:
None
- add_label_map(labels: Dict[int, LowLevelILLabel]) ExpressionIndex [source]¶
add_label_map
returns a label list expression for the given list of LowLevelILLabel objects.- Parameters:
labels (dict(int, LowLevelILLabel)) – the list of LowLevelILLabel to get a label list expression from
- Returns:
the label list expression
- Return type:
ExpressionIndex
- add_operand_list(operands: List[ExpressionIndex]) ExpressionIndex [source]¶
add_operand_list
returns an operand list expression for the given list of integer operands.- Parameters:
operands (List(Union[ExpressionIndex, ExpressionIndex])) – list of operand numbers
- Returns:
an operand list expression
- Return type:
ExpressionIndex
- and_expr(size: int, a: ExpressionIndex, b: ExpressionIndex, flags: architecture.FlagType | None = None) ExpressionIndex [source]¶
and_expr
bitwise and’s expressiona
and expressionb
potentially setting flagsflags
and returning an expression ofsize
bytes.
- append(expr: ExpressionIndex) int [source]¶
append
adds the ExpressionIndexexpr
to the current LowLevelILFunction.- Parameters:
expr (ExpressionIndex) – the ExpressionIndex to add to the current LowLevelILFunction
- Returns:
number of ExpressionIndex in the current function
- Return type:
- arith_shift_right(size: int, a: ExpressionIndex, b: ExpressionIndex, flags: architecture.FlagType | None = None) ExpressionIndex [source]¶
arith_shift_right
shifts arithmetic right expressiona
by expressionb
potentially setting flagsflags
and returning an expression ofsize
bytes.
- breakpoint() ExpressionIndex [source]¶
breakpoint
returns a processor breakpoint expression.- Returns:
a breakpoint expression.
- Return type:
ExpressionIndex
- call(dest: ExpressionIndex) ExpressionIndex [source]¶
call
returns an expression which first pushes the address of the next instruction onto the stack then jumps (branches) to the expressiondest
- Parameters:
dest (ExpressionIndex) – the expression to call
- Returns:
The expression
call(dest)
- Return type:
ExpressionIndex
- call_stack_adjust(dest: ExpressionIndex, stack_adjust: int) ExpressionIndex [source]¶
call_stack_adjust
returns an expression which first pushes the address of the next instruction onto the stack then jumps (branches) to the expressiondest
. After the function exits,stack_adjust
is added to the stack pointer register.- Parameters:
dest (ExpressionIndex) – the expression to call
stack_adjust (int) –
- Returns:
The expression
call(dest), stack += stack_adjust
- Return type:
ExpressionIndex
- ceil(size: int, value: ExpressionIndex, flags: architecture.FlagType | None = None) ExpressionIndex [source]¶
ceil
rounds a floating point value to an integer towards positive infinity
- compare_equal(size: int, a: ExpressionIndex, b: ExpressionIndex) ExpressionIndex [source]¶
compare_equal
returns comparison expression of sizesize
checking if expressiona
is equal to expressionb
- Parameters:
size (int) – size in bytes
a (ExpressionIndex) – LHS of comparison
b (ExpressionIndex) – RHS of comparison
- Returns:
a comparison expression.
- Return type:
ExpressionIndex
- compare_not_equal(size: int, a: ExpressionIndex, b: ExpressionIndex) ExpressionIndex [source]¶
compare_not_equal
returns comparison expression of sizesize
checking if expressiona
is not equal to expressionb
- Parameters:
size (int) – size in bytes
a (ExpressionIndex) – LHS of comparison
b (ExpressionIndex) – RHS of comparison
- Returns:
a comparison expression.
- Return type:
ExpressionIndex
- compare_signed_greater_equal(size: int, a: ExpressionIndex, b: ExpressionIndex) ExpressionIndex [source]¶
compare_signed_greater_equal
returns comparison expression of sizesize
checking if expressiona
is signed greater than or equal to expressionb
- Parameters:
size (int) – size in bytes
a (ExpressionIndex) – LHS of comparison
b (ExpressionIndex) – RHS of comparison
- Returns:
a comparison expression.
- Return type:
ExpressionIndex
- compare_signed_greater_than(size: int, a: ExpressionIndex, b: ExpressionIndex) ExpressionIndex [source]¶
compare_signed_greater_than
returns comparison expression of sizesize
checking if expressiona
is signed greater than or equal to expressionb
- Parameters:
size (int) – size in bytes
a (ExpressionIndex) – LHS of comparison
b (ExpressionIndex) – RHS of comparison
- Returns:
a comparison expression.
- Return type:
ExpressionIndex
- compare_signed_less_equal(size: int, a: ExpressionIndex, b: ExpressionIndex) ExpressionIndex [source]¶
compare_signed_less_equal
returns comparison expression of sizesize
checking if expressiona
is signed less than or equal to expressionb
- Parameters:
size (int) – size in bytes
a (ExpressionIndex) – LHS of comparison
b (ExpressionIndex) – RHS of comparison
- Returns:
a comparison expression.
- Return type:
ExpressionIndex
- compare_signed_less_than(size: int, a: ExpressionIndex, b: ExpressionIndex) ExpressionIndex [source]¶
compare_signed_less_than
returns comparison expression of sizesize
checking if expressiona
is signed less than expressionb
- Parameters:
size (int) – size in bytes
a (ExpressionIndex) – LHS of comparison
b (ExpressionIndex) – RHS of comparison
- Returns:
a comparison expression.
- Return type:
ExpressionIndex
- compare_unsigned_greater_equal(size: int, a: ExpressionIndex, b: ExpressionIndex) ExpressionIndex [source]¶
compare_unsigned_greater_equal
returns comparison expression of sizesize
checking if expressiona
is unsigned greater than or equal to expressionb
- Parameters:
size (int) – size in bytes
a (ExpressionIndex) – LHS of comparison
b (ExpressionIndex) – RHS of comparison
- Returns:
a comparison expression.
- Return type:
ExpressionIndex
- compare_unsigned_greater_than(size: int, a: ExpressionIndex, b: ExpressionIndex) ExpressionIndex [source]¶
compare_unsigned_greater_than
returns comparison expression of sizesize
checking if expressiona
is unsigned greater than or equal to expressionb
- Parameters:
size (int) – size in bytes
a (ExpressionIndex) – LHS of comparison
b (ExpressionIndex) – RHS of comparison
- Returns:
a comparison expression.
- Return type:
ExpressionIndex
- compare_unsigned_less_equal(size: int, a: ExpressionIndex, b: ExpressionIndex) ExpressionIndex [source]¶
compare_unsigned_less_equal
returns comparison expression of sizesize
checking if expressiona
is unsigned less than or equal to expressionb
- Parameters:
size (int) – size in bytes
a (ExpressionIndex) – LHS of comparison
b (ExpressionIndex) – RHS of comparison
- Returns:
a comparison expression.
- Return type:
ExpressionIndex
- compare_unsigned_less_than(size: int, a: ExpressionIndex, b: ExpressionIndex) ExpressionIndex [source]¶
compare_unsigned_less_than
returns comparison expression of sizesize
checking if expressiona
is unsigned less than expressionb
- Parameters:
size (int) – size in bytes
a (ExpressionIndex) – LHS of comparison
b (ExpressionIndex) – RHS of comparison
- Returns:
a comparison expression.
- Return type:
ExpressionIndex
- const(size: int, value: int) ExpressionIndex [source]¶
const
returns an expression for the constant integervalue
with sizesize
- const_pointer(size: int, value: int) ExpressionIndex [source]¶
const_pointer
returns an expression for the constant pointervalue
with sizesize
- copy_expr(original: LowLevelILInstruction) ExpressionIndex [source]¶
copy_expr
adds an expression to the function which is equivalent to the given expression- Parameters:
original (LowLevelILInstruction) – the original IL Instruction you want to copy
- Returns:
The index of the newly copied expression
- Return type:
ExpressionIndex
- create_graph(settings: DisassemblySettings | None = None) CoreFlowGraph [source]¶
- Parameters:
settings (DisassemblySettings | None) –
- Return type:
- div_double_prec_signed(size: int, a: ExpressionIndex, b: ExpressionIndex, flags: architecture.FlagType | None = None) ExpressionIndex [source]¶
div_double_prec_signed
signed double precision divide using expressiona
as a single double precision register by expressionb
potentially setting flagsflags
and returning an expression ofsize
bytes.
- div_double_prec_unsigned(size: int, a: ExpressionIndex, b: ExpressionIndex, flags: architecture.FlagType | None = None) ExpressionIndex [source]¶
div_double_prec_unsigned
unsigned double precision divide using expressiona
as a single double precision register by expressionb
potentially setting flagsflags
and returning an expression ofsize
bytes.
- div_signed(size: int, a: ExpressionIndex, b: ExpressionIndex, flags: architecture.FlagType | None = None) ExpressionIndex [source]¶
div_signed
signed divide expressiona
by expressionb
potentially setting flagsflags
and returning an expression ofsize
bytes.
- div_unsigned(size: int, a: ExpressionIndex, b: ExpressionIndex, flags: architecture.FlagType | None = None) ExpressionIndex [source]¶
div_unsigned
unsigned divide expressiona
by expressionb
potentially setting flagsflags
and returning an expression ofsize
bytes.
- expr(operation, a: ExpressionIndex = 0, b: ExpressionIndex = 0, c: ExpressionIndex = 0, d: ExpressionIndex = 0, size: int = 0, flags: architecture.FlagWriteTypeName | architecture.FlagType | architecture.FlagIndex | None = None) ExpressionIndex [source]¶
- Parameters:
a (ExpressionIndex) –
b (ExpressionIndex) –
c (ExpressionIndex) –
d (ExpressionIndex) –
size (int) –
flags (architecture.FlagWriteTypeName | architecture.FlagType | architecture.FlagIndex | None) –
- Return type:
ExpressionIndex
- finalize() None [source]¶
finalize
ends the function and computes the list of basic blocks.- Return type:
None
- flag(reg: FlagName) ExpressionIndex [source]¶
flag
returns a flag expression for the given flag name.- Parameters:
reg (architecture.FlagName) – name of the flag expression to retrieve
- Returns:
A flag expression of given flag name
- Return type:
ExpressionIndex
- flag_bit(size: int, reg: FlagName, bit: int) ExpressionIndex [source]¶
flag_bit
sets the flag namedreg
and sizesize
to the constant integer valuebit
- flag_condition(cond: str | LowLevelILFlagCondition | int, sem_class: architecture.SemanticClassType | None = None) ExpressionIndex [source]¶
flag_condition
returns a flag_condition expression for the given LowLevelILFlagCondition- Parameters:
cond (LowLevelILFlagCondition) – Flag condition expression to retrieve
sem_class (str) – Optional semantic flag class
- Returns:
A flag_condition expression
- Return type:
ExpressionIndex
- flag_group(sem_group: SemanticGroupName) ExpressionIndex [source]¶
flag_group
returns a flag_group expression for the given semantic flag group- Parameters:
sem_group (SemanticGroupName) – Semantic flag group to access
- Returns:
A flag_group expression
- Return type:
ExpressionIndex
- float_abs(size: int, value: ExpressionIndex, flags: architecture.FlagType | None = None) ExpressionIndex [source]¶
float_abs
returns absolute value of floating point expressionvalue
of sizesize
potentially setting flags
- float_add(size: int, a: ExpressionIndex, b: ExpressionIndex, flags: architecture.FlagType | None = None) ExpressionIndex [source]¶
float_add
adds floating point expressiona
to expressionb
potentially setting flagsflags
and returning an expression ofsize
bytes.
- float_compare_equal(size: int, a: ExpressionIndex, b: ExpressionIndex) ExpressionIndex [source]¶
float_compare_equal
returns floating point comparison expression of sizesize
checking if expressiona
is equal to expressionb
- float_compare_greater_equal(size: int, a: ExpressionIndex, b: ExpressionIndex) ExpressionIndex [source]¶
float_compare_greater_equal
returns floating point comparison expression of sizesize
checking if expressiona
is greater than or equal to expressionb
- float_compare_greater_than(size: int, a: ExpressionIndex, b: ExpressionIndex) ExpressionIndex [source]¶
float_compare_greater_than
returns floating point comparison expression of sizesize
checking if expressiona
is greater than expressionb
- float_compare_less_equal(size: int, a: ExpressionIndex, b: ExpressionIndex) ExpressionIndex [source]¶
float_compare_less_equal
returns floating point comparison expression of sizesize
checking if expressiona
is less than or equal to expressionb
- float_compare_less_than(size: int, a: ExpressionIndex, b: ExpressionIndex) ExpressionIndex [source]¶
float_compare_less_than
returns floating point comparison expression of sizesize
checking if expressiona
is less than expressionb
- float_compare_not_equal(size: int, a: ExpressionIndex, b: ExpressionIndex) ExpressionIndex [source]¶
float_compare_not_equal
returns floating point comparison expression of sizesize
checking if expressiona
is not equal to expressionb
- float_compare_ordered(size: int, a: ExpressionIndex, b: ExpressionIndex) ExpressionIndex [source]¶
float_compare_ordered
returns floating point comparison expression of sizesize
checking if expressiona
is ordered relative to expressionb
- float_compare_unordered(size: int, a: ExpressionIndex, b: ExpressionIndex) ExpressionIndex [source]¶
float_compare_unordered
returns floating point comparison expression of sizesize
checking if expressiona
is unordered relative to expressionb
- float_const_double(value: float) ExpressionIndex [source]¶
float_const_double
returns an expression for the double precision floating point valuevalue
- Parameters:
value (float) – float value for the constant
- Returns:
A constant expression of given value and size
- Return type:
ExpressionIndex
- float_const_raw(size: int, value: int) ExpressionIndex [source]¶
float_const_raw
returns an expression for the constant raw binary floating point valuevalue
with sizesize
- float_const_single(value: float) ExpressionIndex [source]¶
float_const_single
returns an expression for the single precision floating point valuevalue
- Parameters:
value (float) – float value for the constant
- Returns:
A constant expression of given value and size
- Return type:
ExpressionIndex
- float_convert(size: int, value: ExpressionIndex, flags: architecture.FlagType | None = None) ExpressionIndex [source]¶
int_to_float
converts floating point value of expressionvalue
to sizesize
potentially setting flags
- float_div(size: int, a: ExpressionIndex, b: ExpressionIndex, flags: architecture.FlagType | None = None) ExpressionIndex [source]¶
float_div
divides floating point expressiona
by expressionb
potentially setting flagsflags
and returning an expression ofsize
bytes.
- float_mult(size: int, a: ExpressionIndex, b: ExpressionIndex, flags: architecture.FlagType | None = None) ExpressionIndex [source]¶
float_mult
multiplies floating point expressiona
by expressionb
potentially setting flagsflags
and returning an expression ofsize
bytes.
- float_neg(size: int, value: ExpressionIndex, flags: architecture.FlagType | None = None) ExpressionIndex [source]¶
float_neg
returns sign negation of floating point expressionvalue
of sizesize
potentially setting flags
- float_sqrt(size: int, value: ExpressionIndex, flags: architecture.FlagType | None = None) ExpressionIndex [source]¶
float_sqrt
returns square root of floating point expressionvalue
of sizesize
potentially setting flags
- float_sub(size: int, a: ExpressionIndex, b: ExpressionIndex, flags: architecture.FlagType | None = None) ExpressionIndex [source]¶
float_sub
subtracts floating point expressionb
from expressiona
potentially setting flagsflags
and returning an expression ofsize
bytes.
- float_to_int(size: int, value: ExpressionIndex, flags: architecture.FlagType | None = None) ExpressionIndex [source]¶
float_to_int
returns integer value of floating point expressionvalue
of sizesize
potentially setting flags
- float_trunc(size: int, value: ExpressionIndex, flags: architecture.FlagType | None = None) ExpressionIndex [source]¶
float_trunc
rounds a floating point value to an integer towards zero
- floor(size: int, value: ExpressionIndex, flags: architecture.FlagType | None = None) ExpressionIndex [source]¶
floor
rounds a floating point value to an integer towards negative infinity
- generate_ssa_form() None [source]¶
generate_ssa_form
generate SSA form given the current LLIL- Return type:
None
- get_basic_block_at(index: int) BasicBlock | None [source]¶
get_basic_block_at
returns the BasicBlock at the given LLIL instructionindex
.- Parameters:
index (int) – Index of the LLIL instruction of the BasicBlock to retrieve.
- Example:
>>> current_il_function.get_basic_block_at(current_il_index) <llil block: x86@19-26>
- Return type:
BasicBlock | None
- get_expr(index: ExpressionIndex) LowLevelILInstruction | None [source]¶
get_expr
retrieves 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 LowLevelILInstruction object for the expression, if it exists. Otherwise, None
- Return type:
LowLevelILInstruction | None
- get_expr_count() int [source]¶
get_expr_count
gives a the total number of expressions in this IL functionYou can use this to enumerate all expressions in conjunction with
get_expr
Warning
Not all IL expressions are valid, even if their index is within the returned value from this, 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_high_level_il_expr_index(expr: ExpressionIndex) ExpressionIndex | None [source]¶
- Parameters:
expr (ExpressionIndex) –
- Return type:
ExpressionIndex | None
- get_high_level_il_instruction_index(instr: InstructionIndex) InstructionIndex | None [source]¶
- Parameters:
instr (InstructionIndex) –
- Return type:
InstructionIndex | None
- get_instruction_start(addr: int, arch: Architecture | None = None) int | None [source]¶
- Parameters:
addr (int) –
arch (Architecture | None) –
- Return type:
int | None
- get_label_for_address(arch: Architecture, addr: int) LowLevelILLabel | None [source]¶
get_label_for_address
returns the LowLevelILLabel for the given Architecturearch
and IL addressaddr
.- Parameters:
arch (Architecture) –
addr (int) – IL Address label to retrieve
- Returns:
the LowLevelILLabel for the given IL address
- Return type:
- get_mapped_medium_level_il_expr_index(expr: ExpressionIndex) ExpressionIndex | None [source]¶
- Parameters:
expr (ExpressionIndex) –
- Return type:
ExpressionIndex | None
- get_mapped_medium_level_il_instruction_index(instr: InstructionIndex) InstructionIndex | None [source]¶
- Parameters:
instr (InstructionIndex) –
- Return type:
InstructionIndex | None
- get_medium_level_il_expr_index(expr: ExpressionIndex) ExpressionIndex | None [source]¶
- Parameters:
expr (ExpressionIndex) –
- Return type:
ExpressionIndex | None
- get_medium_level_il_expr_indexes(expr: ExpressionIndex) List[ExpressionIndex] [source]¶
- Parameters:
expr (ExpressionIndex) –
- Return type:
List[ExpressionIndex]
- get_medium_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_flag_definition(flag_ssa: SSAFlag) LowLevelILInstruction | None [source]¶
- Parameters:
flag_ssa (SSAFlag) –
- Return type:
LowLevelILInstruction | None
- get_ssa_flag_uses(flag_ssa: SSAFlag) List[LowLevelILInstruction] [source]¶
- Parameters:
flag_ssa (SSAFlag) –
- Return type:
- get_ssa_flag_value(flag_ssa: SSAFlag) RegisterValue [source]¶
- Parameters:
flag_ssa (SSAFlag) –
- Return type:
- get_ssa_instruction_index(instr: InstructionIndex) InstructionIndex [source]¶
- Parameters:
instr (InstructionIndex) –
- Return type:
InstructionIndex
- get_ssa_memory_definition(index: int) LowLevelILInstruction | None [source]¶
- Parameters:
index (int) –
- Return type:
LowLevelILInstruction | None
- get_ssa_memory_uses(index: int) List[LowLevelILInstruction] [source]¶
- Parameters:
index (int) –
- Return type:
- get_ssa_reg_definition(reg_ssa: SSARegister) LowLevelILInstruction | None [source]¶
- Parameters:
reg_ssa (SSARegister) –
- Return type:
LowLevelILInstruction | None
- get_ssa_reg_uses(reg_ssa: SSARegister) List[LowLevelILInstruction] [source]¶
- Parameters:
reg_ssa (SSARegister) –
- Return type:
- get_ssa_reg_value(reg_ssa: SSARegister) RegisterValue [source]¶
- Parameters:
reg_ssa (SSARegister) –
- Return type:
- goto(label: LowLevelILLabel) ExpressionIndex [source]¶
goto
returns a goto expression which jumps to the provided LowLevelILLabel.- Parameters:
label (LowLevelILLabel) – Label to jump to
- Returns:
the ExpressionIndex that jumps to the provided label
- Return type:
ExpressionIndex
- if_expr(operand: ExpressionIndex, t: LowLevelILLabel, f: LowLevelILLabel) ExpressionIndex [source]¶
if_expr
returns theif
expression which depending on conditionoperand
jumps to the LowLevelILLabelt
when the condition expressionoperand
is non-zero andf
when it’s zero.- Parameters:
operand (ExpressionIndex) – comparison expression to evaluate.
t (LowLevelILLabel) – Label for the true branch
f (LowLevelILLabel) – Label for the false branch
- Returns:
the ExpressionIndex for the if expression
- Return type:
ExpressionIndex
- int_to_float(size: int, value: ExpressionIndex, flags: architecture.FlagType | None = None) ExpressionIndex [source]¶
int_to_float
returns floating point value of integer expressionvalue
of sizesize
potentially setting flags
- intrinsic(outputs: List[str | ILRegister | int | ILFlag | RegisterInfo], intrinsic: architecture.IntrinsicType, params: List[ExpressionIndex], flags: architecture.FlagType | None = None)[source]¶
intrinsic
return an intrinsic expression.- Returns:
an intrinsic expression.
- Return type:
ExpressionIndex
- Parameters:
outputs (List[str | ILRegister | int | ILFlag | RegisterInfo]) –
intrinsic (architecture.IntrinsicType) –
params (List[ExpressionIndex]) –
flags (architecture.FlagType | None) –
- jump(dest: ExpressionIndex) ExpressionIndex [source]¶
jump
returns an expression which jumps (branches) to the expressiondest
- Parameters:
dest (ExpressionIndex) – the expression to jump to
- Returns:
The expression
jump(dest)
- Return type:
ExpressionIndex
- load(size: int, addr: ExpressionIndex) ExpressionIndex [source]¶
load
Readssize
bytes from the expressionaddr
- Parameters:
size (int) – number of bytes to read
addr (ExpressionIndex) – the expression to read memory from
- Returns:
The expression
[addr].size
- Return type:
ExpressionIndex
- logical_shift_right(size: int, a: ExpressionIndex, b: ExpressionIndex, flags: architecture.FlagType | None = None) ExpressionIndex [source]¶
logical_shift_right
shifts logically right expressiona
by expressionb
potentially setting flagsflags
and returning an expression ofsize
bytes.
- low_part(size: int, value: ExpressionIndex, flags: architecture.FlagType | None = None) ExpressionIndex [source]¶
low_part
truncatesvalue
tosize
bytes- Parameters:
size (int) – the size of the result in bytes
value (ExpressionIndex) – the expression to truncate
flags (architecture.FlagType | None) –
- Returns:
The expression
(value).<size>
- Return type:
ExpressionIndex
- mark_label(label: LowLevelILLabel) None [source]¶
mark_label
assigns a LowLevelILLabel to the current IL address.- Parameters:
label (LowLevelILLabel) –
- Return type:
None
- mod_double_prec_signed(size: int, a: ExpressionIndex, b: ExpressionIndex, flags: architecture.FlagType | None = None) ExpressionIndex [source]¶
mod_double_prec_signed
signed double precision modulus using expressiona
as a single double precision register by expressionb
potentially setting flagsflags
and returning an expression ofsize
bytes.
- mod_double_prec_unsigned(size: int, a: ExpressionIndex, b: ExpressionIndex, flags: architecture.FlagType | None = None) ExpressionIndex [source]¶
mod_double_prec_unsigned
unsigned double precision modulus using expressiona
as a single double precision register by expressionb
potentially setting flagsflags
and returning an expression ofsize
bytes.
- mod_signed(size: int, a: ExpressionIndex, b: ExpressionIndex, flags: architecture.FlagType | None = None) ExpressionIndex [source]¶
mod_signed
signed modulus expressiona
by expressionb
potentially setting flagsflags
and returning an expression ofsize
bytes.
- mod_unsigned(size: int, a: ExpressionIndex, b: ExpressionIndex, flags: architecture.FlagType | None = None) ExpressionIndex [source]¶
mod_unsigned
unsigned modulus expressiona
by expressionb
potentially setting flagsflags
and returning an expression ofsize
bytes.
- mult(size: int, a: ExpressionIndex, b: ExpressionIndex, flags: architecture.FlagType | None = None) ExpressionIndex [source]¶
mult
multiplies expressiona
by expressionb
potentially setting flagsflags
and returning an expression. Both the operands and return value aresize
bytes as the product’s upper half is discarded.
- mult_double_prec_signed(size: int, a: ExpressionIndex, b: ExpressionIndex, flags: architecture.FlagType | None = None) ExpressionIndex [source]¶
mult_double_prec_signed
multiplies signed with double precision expressiona
by expressionb
, eachsize
bytes and potentially setting flagsflags
and returning an expression of2*size
bytes.
- mult_double_prec_unsigned(size: int, a: ExpressionIndex, b: ExpressionIndex, flags: architecture.FlagType | None = None) ExpressionIndex [source]¶
mult_double_prec_unsigned
multiplies unsigned with double precision expressiona
by expressionb
, eachsize
bytes and potentially setting flagsflags
and returning an expression of2*size
bytes.
- neg_expr(size: int, value: ExpressionIndex, flags: architecture.FlagType | None = None) ExpressionIndex [source]¶
neg_expr
two’s complement sign negation of expressionvalue
of sizesize
potentially setting flags
- no_ret() ExpressionIndex [source]¶
no_ret
returns an expression that halts disassembly- Returns:
The expression
noreturn
- Return type:
ExpressionIndex
- nop() ExpressionIndex [source]¶
nop
no operation, this instruction does nothing- Returns:
The no operation expression
- Return type:
ExpressionIndex
- not_expr(size: int, value: ExpressionIndex, flags: architecture.FlagType | None = None) ExpressionIndex [source]¶
not_expr
bitwise inverse of expressionvalue
of sizesize
potentially setting flags
- operand(n: int, expr: ExpressionIndex) ExpressionIndex [source]¶
operand
sets the operand number of the expressionexpr
and passes backexpr
without modification.- Parameters:
n (int) –
expr (ExpressionIndex) –
- Returns:
returns the expression
expr
unmodified- Return type:
ExpressionIndex
- or_expr(size: int, a: ExpressionIndex, b: ExpressionIndex, flags: architecture.FlagType | None = None) ExpressionIndex [source]¶
or_expr
bitwise or’s expressiona
and expressionb
potentially setting flagsflags
and returning an expression ofsize
bytes.
- pop(size: int) ExpressionIndex [source]¶
pop
readssize
bytes from the stack, adjusting the stack bysize
.- Parameters:
size (int) – number of bytes to read from the stack
- Returns:
The expression
pop
- Return type:
ExpressionIndex
- push(size: int, value: ExpressionIndex) ExpressionIndex [source]¶
push
writessize
bytes from expressionvalue
to the stack, adjusting the stack bysize
.- Parameters:
size (int) – number of bytes to write and adjust the stack by
value (ExpressionIndex) – the expression to write
- Returns:
The expression push(value)
- Return type:
ExpressionIndex
- reg(size: int, reg: architecture.RegisterType) ExpressionIndex [source]¶
reg
returns a register of sizesize
with namereg
- reg_split(size: int, hi: architecture.RegisterType, lo: architecture.RegisterType) ExpressionIndex [source]¶
reg_split
combines registers of sizesize
with nameshi
andlo
- reg_stack_pop(size: int, reg_stack: architecture.RegisterStackType) ExpressionIndex [source]¶
reg_stack_pop
returns the top entry of sizesize
in register stack with namereg_stack
, and removes the entry from the stack
- reg_stack_push(size: int, reg_stack: architecture.RegisterStackType, value: ExpressionIndex, flags: architecture.FlagType | None = None) ExpressionIndex [source]¶
reg_stack_push
pushes the expressionvalue
of sizesize
onto the top of the register stackreg_stack
- reg_stack_top_relative(size: int, reg_stack: architecture.RegisterStackType, entry: ExpressionIndex) ExpressionIndex [source]¶
reg_stack_top_relative
returns a register stack entry of sizesize
at top-relative locationentry
in register stack with namereg_stack
- reloc_pointer(size: int, value: int) ExpressionIndex [source]¶
reloc_pointer
returns an expression for the constant relocated pointervalue
with sizesize
- replace_expr(original: LowLevelILInstruction | ExpressionIndex | InstructionIndex, new: LowLevelILInstruction | ExpressionIndex | InstructionIndex) None [source]¶
replace_expr
allows modification of expressions 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:
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(dest: ExpressionIndex) ExpressionIndex [source]¶
ret
returns an expression which jumps (branches) to the expressiondest
.ret
is a special alias for jump that makes the disassembler stop disassembling.- Parameters:
dest (ExpressionIndex) – the expression to jump to
- Returns:
The expression
jump(dest)
- Return type:
ExpressionIndex
- rotate_left(size: int, a: ExpressionIndex, b: ExpressionIndex, flags: architecture.FlagType | None = None) ExpressionIndex [source]¶
rotate_left
bitwise rotates left expressiona
by expressionb
potentially setting flagsflags
and returning an expression ofsize
bytes.
- rotate_left_carry(size: int, a: ExpressionIndex, b: ExpressionIndex, carry: ExpressionIndex, flags: architecture.FlagType | None = None) ExpressionIndex [source]¶
rotate_left_carry
bitwise rotates left with carry expressiona
by expressionb
potentially setting flagsflags
and returning an expression ofsize
bytes.- Parameters:
- Returns:
The expression
rlc.<size>{<flags>}(a, b, carry)
- Return type:
ExpressionIndex
- rotate_right(size: int, a: ExpressionIndex, b: ExpressionIndex, flags: architecture.FlagType | None = None) ExpressionIndex [source]¶
rotate_right
bitwise rotates right expressiona
by expressionb
potentially setting flagsflags
and returning an expression ofsize
bytes.
- rotate_right_carry(size: int, a: ExpressionIndex, b: ExpressionIndex, carry: ExpressionIndex, flags: architecture.FlagType | None = None) ExpressionIndex [source]¶
rotate_right_carry
bitwise rotates right with carry expressiona
by expressionb
potentially setting flagsflags
and returning an expression ofsize
bytes.- Parameters:
- Returns:
The expression
rrc.<size>{<flags>}(a, b, carry)
- Return type:
ExpressionIndex
- round_to_int(size: int, value: ExpressionIndex, flags: architecture.FlagType | None = None) ExpressionIndex [source]¶
round_to_int
rounds a floating point value to the nearest integer
- set_current_address(value: int, arch: Architecture | None = None) None [source]¶
- Parameters:
value (int) –
arch (Architecture | None) –
- Return type:
None
- set_expr_attributes(expr: LowLevelILInstruction | ExpressionIndex | InstructionIndex, value: Set[ILInstructionAttribute] | List[ILInstructionAttribute])[source]¶
set_expr_attributes
allows 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_flag(flag: FlagName, value: ExpressionIndex) ExpressionIndex [source]¶
set_flag
sets the flagflag
to the ExpressionIndexvalue
- Parameters:
flag (str) – the low register name
value (ExpressionIndex) – an expression to set the flag to
- Returns:
The expression FLAG.flag = value
- Return type:
ExpressionIndex
- set_indirect_branches(branches: List[Tuple[Architecture, int]]) None [source]¶
- Parameters:
branches (List[Tuple[Architecture, int]]) –
- Return type:
None
- set_reg(size: int, reg: architecture.RegisterType, value: ExpressionIndex, flags: architecture.FlagType | None = None) ExpressionIndex [source]¶
set_reg
sets the registerreg
of sizesize
to the expressionvalue
- set_reg_split(size: int, hi: architecture.RegisterType, lo: architecture.RegisterType, value: ExpressionIndex, flags: architecture.FlagType | None = None) ExpressionIndex [source]¶
set_reg_split
useshi
andlo
as a single extended register settinghi:lo
to the expressionvalue
.- Parameters:
- Returns:
The expression
hi:lo = value
- Return type:
ExpressionIndex
- set_reg_stack_top_relative(size: int, reg_stack: architecture.RegisterStackType, entry: ExpressionIndex, value: ExpressionIndex, flags: architecture.FlagType | None = None) ExpressionIndex [source]¶
set_reg_stack_top_relative
sets the top-relative entryentry
of sizesize
in register stackreg_stack
to the expressionvalue
- Parameters:
- Returns:
The expression
reg_stack[entry] = value
- Return type:
ExpressionIndex
- shift_left(size: int, a: ExpressionIndex, b: ExpressionIndex, flags: architecture.FlagType | None = None) ExpressionIndex [source]¶
shift_left
shifts left expressiona
by expressionb
from expressiona
potentially setting flagsflags
and returning an expression ofsize
bytes.
- sign_extend(size: int, value: ExpressionIndex, flags: architecture.FlagType | None = None) ExpressionIndex [source]¶
sign_extend
two’s complement sign-extends the expression invalue
tosize
bytes
- store(size: int, addr: ExpressionIndex, value: ExpressionIndex, flags: FlagName | None = None) ExpressionIndex [source]¶
store
Writessize
bytes to expressionaddr
read from expressionvalue
- Parameters:
size (int) – number of bytes to write
addr (ExpressionIndex) – the expression to write to
value (ExpressionIndex) – the expression to be written
flags (FlagName) – which flags are set by this operation
- Returns:
The expression
[addr].size = value
- Return type:
ExpressionIndex
- sub(size: int, a: ExpressionIndex, b: ExpressionIndex, flags: architecture.FlagType | None = None) ExpressionIndex [source]¶
sub
subtracts expressionb
from expressiona
potentially setting flagsflags
and returning an expression ofsize
bytes.
- sub_borrow(size: int, a: ExpressionIndex, b: ExpressionIndex, carry: ExpressionIndex, flags: architecture.FlagType | None = None) ExpressionIndex [source]¶
sub_borrow
subtracts with borrow expressionb
from expressiona
potentially setting flagsflags
and returning an expression ofsize
bytes.
- system_call() ExpressionIndex [source]¶
system_call
return a system call expression.- Returns:
a system call expression.
- Return type:
ExpressionIndex
- tailcall(dest: ExpressionIndex) ExpressionIndex [source]¶
tailcall
returns an expression which jumps (branches) to the expressiondest
- Parameters:
dest (ExpressionIndex) – the expression to jump to
- Returns:
The expression
tailcall(dest)
- Return type:
ExpressionIndex
- test_bit(size: int, a: ExpressionIndex, b: ExpressionIndex) ExpressionIndex [source]¶
- Parameters:
size (int) –
a (ExpressionIndex) –
b (ExpressionIndex) –
- Return type:
ExpressionIndex
- trap(value: int) ExpressionIndex [source]¶
trap
returns a processor trap (interrupt) expression of the given integervalue
.- Parameters:
value (int) – trap (interrupt) number
- Returns:
a trap expression.
- Return type:
ExpressionIndex
- traverse(cb: Callable[[LowLevelILInstruction, Any], Any], *args: Any, **kwargs: Any) Iterator[Any] [source]¶
traverse
iterates through all the instructions in the LowLevelILFunction and calls the callback function for each instruction and sub-instruction. See the Developer Docs for more examples.- Parameters:
cb (Callable[[LowLevelILInstruction, Any], Any]) – The callback function to call for each node in the LowLevelILInstruction
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() ExpressionIndex [source]¶
undefined
returns the undefined expression. This should be used for instructions which perform functions but aren’t important for dataflow or partial emulation purposes.- Returns:
the undefined expression.
- Return type:
ExpressionIndex
- unimplemented() ExpressionIndex [source]¶
unimplemented
returns the unimplemented expression. This should be used for all instructions which aren’t implemented.- Returns:
the unimplemented expression.
- Return type:
ExpressionIndex
- unimplemented_memory_ref(size: int, addr: ExpressionIndex) ExpressionIndex [source]¶
unimplemented_memory_ref
a memory reference to expressionaddr
of sizesize
with unimplemented operation.- Parameters:
size (int) – size in bytes of the memory reference
addr (ExpressionIndex) – expression to reference memory
- Returns:
the unimplemented memory reference expression.
- Return type:
ExpressionIndex
- visit(cb: Callable[[str, LowLevelILOperationAndSize | ILRegister | ILFlag | ILIntrinsic | ILRegisterStack | int | Dict[int, int] | float | LowLevelILInstruction | Dict[RegisterStackName, int] | SSAFlag | SSARegister | SSARegisterStack | ILSemanticFlagClass | ILSemanticFlagGroup | LowLevelILFlagCondition | List[int] | List[LowLevelILInstruction] | List[ILFlag | ILRegister] | List[SSARegister] | List[SSARegisterStack] | List[SSAFlag] | List[SSARegisterOrFlag] | None, str, LowLevelILInstruction | 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 (LowLevelILVisitorCallback) – 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
LowLevelILFunction.traverse
instead.
- visit_all(cb: Callable[[str, LowLevelILOperationAndSize | ILRegister | ILFlag | ILIntrinsic | ILRegisterStack | int | Dict[int, int] | float | LowLevelILInstruction | Dict[RegisterStackName, int] | SSAFlag | SSARegister | SSARegisterStack | ILSemanticFlagClass | ILSemanticFlagGroup | LowLevelILFlagCondition | List[int] | List[LowLevelILInstruction] | List[ILFlag | ILRegister] | List[SSARegister] | List[SSARegisterStack] | List[SSAFlag] | List[SSARegisterOrFlag] | None, str, LowLevelILInstruction | 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 (LowLevelILVisitorCallback) – 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
LowLevelILFunction.traverse
instead.
- visit_operands(cb: Callable[[str, LowLevelILOperationAndSize | ILRegister | ILFlag | ILIntrinsic | ILRegisterStack | int | Dict[int, int] | float | LowLevelILInstruction | Dict[RegisterStackName, int] | SSAFlag | SSARegister | SSARegisterStack | ILSemanticFlagClass | ILSemanticFlagGroup | LowLevelILFlagCondition | List[int] | List[LowLevelILInstruction] | List[ILFlag | ILRegister] | List[SSARegister] | List[SSARegisterStack] | List[SSAFlag] | List[SSARegisterOrFlag] | None, str, LowLevelILInstruction | 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 (LowLevelILVisitorCallback) – 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
LowLevelILFunction.traverse
instead.
- xor_expr(size: int, a: ExpressionIndex, b: ExpressionIndex, flags: architecture.FlagType | None = None) ExpressionIndex [source]¶
xor_expr
xor’s expressiona
with expressionb
potentially setting flagsflags
and returning an expression ofsize
bytes.
- zero_extend(size: int, value: ExpressionIndex, flags: architecture.FlagType | None = None) ExpressionIndex [source]¶
zero_extend
zero-extends the expression invalue
tosize
bytes- Parameters:
size (int) – the size of the result in bytes
value (ExpressionIndex) – the expression to zero extend
flags (architecture.FlagType | None) –
- Returns:
The expression
zx.<size>(value)
- Return type:
ExpressionIndex
- property arch: Architecture¶
- property basic_blocks: LowLevelILBasicBlockList¶
- property il_form: FunctionGraphType¶
- property instructions: Generator[LowLevelILInstruction, None, None]¶
A generator of llil instructions of the current llil function
- property mapped_medium_level_il: MediumLevelILFunction¶
Medium level IL with mappings between low level IL and medium level IL. Unused stores are not removed. Typically, this should only be used to answer queries on assembly or low level IL where the query is easier to perform on medium level IL.
- property medium_level_il: MediumLevelILFunction¶
Medium level IL for this low level IL.
- property mlil: MediumLevelILFunction¶
- property mmlil: MediumLevelILFunction¶
- property non_ssa_form: LowLevelILFunction¶
Low level IL in non-SSA (default) form (read-only)
- property reg_stacks: List[SSARegisterStack]¶
List of register stacks used in this IL
- property register_stacks: List[SSARegisterStack]¶
Deprecated, use reg_stacks instead. List of register stacks used in this IL
- property registers: List[SSARegister]¶
Deprecated, use regs instead. List of registers used in this IL
- property regs: List[SSARegister]¶
List of registers used in this IL
- property ssa_form: LowLevelILFunction¶
Low level IL in SSA form (read-only)
- property ssa_reg_stacks: List[SSARegisterStack]¶
List of all SSA register stacks and versions used in this IL
- property ssa_reg_stacks_without_versions: List[SSARegisterStack]¶
List of SSA register stacks used in this IL
- property ssa_register_stacks: List[SSARegisterStack]¶
- property ssa_registers: List[SSARegister]¶
- property ssa_regs: List[SSARegister]¶
List of all SSA registers and versions used in this IL
- property ssa_regs_without_versions: List[SSARegister]¶
List of SSA registers used in this IL
- property ssa_vars: List[SSARegister | SSARegisterStack | SSAFlag]¶
This is the union LowLevelILFunction.ssa_regs, LowLevelILFunction.ssa_reg_stacks, and LowLevelILFunction.ssa_flags
- property ssa_vars_without_versions: List[SSARegister | SSARegisterStack | SSAFlag]¶
This is the union LowLevelILFunction.ssa_regs_without_versions, LowLevelILFunction.ssa_reg_stacks_without_versions, and LowLevelILFunction.ssa_flags_without_versions
- property vars: List[ILRegister | ILRegisterStack | ILFlag]¶
This is the union LowLevelILFunction.regs, LowLevelILFunction.reg_stacks, and LowLevelILFunction.flags
- property view: BinaryView | None¶
- class LowLevelILGoto(function: 'LowLevelILFunction', expr_index: binaryninja.lowlevelil.ExpressionIndex, instr: CoreLowLevelILInstruction, instr_index: binaryninja.lowlevelil.InstructionIndex | None)[source]¶
Bases:
LowLevelILInstruction
,Terminal
- Parameters:
function (LowLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreLowLevelILInstruction) –
instr_index (InstructionIndex | None) –
- property detailed_operands: List[Tuple[str, LowLevelILOperationAndSize | ILRegister | ILFlag | ILIntrinsic | ILRegisterStack | int | Dict[int, int] | float | LowLevelILInstruction | Dict[RegisterStackName, int] | SSAFlag | SSARegister | SSARegisterStack | ILSemanticFlagClass | ILSemanticFlagGroup | LowLevelILFlagCondition | List[int] | List[LowLevelILInstruction] | List[ILFlag | ILRegister] | List[SSARegister] | List[SSARegisterStack] | List[SSAFlag] | List[SSARegisterOrFlag] | None, 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.
- class LowLevelILIf(function: 'LowLevelILFunction', expr_index: binaryninja.lowlevelil.ExpressionIndex, instr: CoreLowLevelILInstruction, instr_index: binaryninja.lowlevelil.InstructionIndex | None)[source]¶
Bases:
LowLevelILInstruction
,ControlFlow
- Parameters:
function (LowLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreLowLevelILInstruction) –
instr_index (InstructionIndex | None) –
- property condition: LowLevelILInstruction¶
- property detailed_operands: List[Tuple[str, LowLevelILOperationAndSize | ILRegister | ILFlag | ILIntrinsic | ILRegisterStack | int | Dict[int, int] | float | LowLevelILInstruction | Dict[RegisterStackName, int] | SSAFlag | SSARegister | SSARegisterStack | ILSemanticFlagClass | ILSemanticFlagGroup | LowLevelILFlagCondition | List[int] | List[LowLevelILInstruction] | List[ILFlag | ILRegister] | List[SSARegister] | List[SSARegisterStack] | List[SSAFlag] | List[SSARegisterOrFlag] | None, 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.
- class LowLevelILInstruction(function: LowLevelILFunction, expr_index: ExpressionIndex, instr: CoreLowLevelILInstruction, instr_index: InstructionIndex | None)[source]¶
Bases:
BaseILInstruction
class LowLevelILInstruction
Low 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, 0
vs. LLILeax = 0
).- Parameters:
function (LowLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreLowLevelILInstruction) –
instr_index (InstructionIndex | None) –
- classmethod create(func: LowLevelILFunction, expr_index: ExpressionIndex, instr_index: InstructionIndex | None = None) LowLevelILInstruction [source]¶
- Parameters:
func (LowLevelILFunction) –
expr_index (ExpressionIndex) –
instr_index (InstructionIndex | None) –
- Return type:
- get_flag_value(flag: architecture.FlagType) RegisterValue [source]¶
- Parameters:
flag (architecture.FlagType) –
- Return type:
- get_flag_value_after(flag: architecture.FlagType) RegisterValue [source]¶
- Parameters:
flag (architecture.FlagType) –
- Return type:
- get_possible_flag_values(flag: architecture.FlagType, options: List[DataFlowQueryOption] | None = None) PossibleValueSet [source]¶
- Parameters:
flag (architecture.FlagType) –
options (List[DataFlowQueryOption] | None) –
- Return type:
- get_possible_flag_values_after(flag: architecture.FlagType, options: List[DataFlowQueryOption] | None = None) PossibleValueSet [source]¶
- Parameters:
flag (architecture.FlagType) –
options (List[DataFlowQueryOption] | None) –
- Return type:
- get_possible_reg_values(reg: architecture.RegisterType, options: List[DataFlowQueryOption] | None = None) PossibleValueSet [source]¶
- Parameters:
reg (architecture.RegisterType) –
options (List[DataFlowQueryOption] | None) –
- Return type:
- get_possible_reg_values_after(reg: architecture.RegisterType, options: List[DataFlowQueryOption] | None = None) PossibleValueSet [source]¶
- Parameters:
reg (architecture.RegisterType) –
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: architecture.RegisterType) RegisterValue [source]¶
- Parameters:
reg (architecture.RegisterType) –
- Return type:
- get_reg_value_after(reg: architecture.RegisterType) RegisterValue [source]¶
- Parameters:
reg (architecture.RegisterType) –
- Return type:
- 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:
- static show_llil_hierarchy()[source]¶
Opens a new tab showing the LLIL hierarchy which includes classes which can easily be used with isinstance to match multiple types of IL instructions.
- traverse(cb: Callable[[LowLevelILInstruction, Any], Any], *args: Any, **kwargs: Any) Iterator[Any] [source]¶
traverse
is a generator that allows you to traverse the LowLevelILInstruction 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 usingargs
andkwargs
. See the Developer Docs for more examples.- Parameters:
cb (Callable[[LowLevelILInstruction, Any], Any]) – The callback function to call for each node in the LowLevelILInstruction
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: LowLevelILInstruction, 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, LowLevelILOperationAndSize | ILRegister | ILFlag | ILIntrinsic | ILRegisterStack | int | Dict[int, int] | float | LowLevelILInstruction | Dict[RegisterStackName, int] | SSAFlag | SSARegister | SSARegisterStack | ILSemanticFlagClass | ILSemanticFlagGroup | LowLevelILFlagCondition | List[int] | List[LowLevelILInstruction] | List[ILFlag | ILRegister] | List[SSARegister] | List[SSARegisterStack] | List[SSAFlag] | List[SSARegisterOrFlag] | None, str, LowLevelILInstruction | None], bool], name: str = 'root', parent: LowLevelILInstruction | None = None) bool [source]¶
Visits all LowLevelILInstructions in the operands of this instruction and any sub-instructions.
- Parameters:
cb (LowLevelILVisitorCallback) – Callback function that takes the name of the operand, the operand, operand type, and parent instruction
name (str) –
parent (LowLevelILInstruction | None) –
- Returns:
True if all instructions were visited, False if the callback returned False
- Return type:
Deprecated since version 4.0.4907: Use
LowLevelILInstruction.traverse
instead.
- visit_all(cb: Callable[[str, LowLevelILOperationAndSize | ILRegister | ILFlag | ILIntrinsic | ILRegisterStack | int | Dict[int, int] | float | LowLevelILInstruction | Dict[RegisterStackName, int] | SSAFlag | SSARegister | SSARegisterStack | ILSemanticFlagClass | ILSemanticFlagGroup | LowLevelILFlagCondition | List[int] | List[LowLevelILInstruction] | List[ILFlag | ILRegister] | List[SSARegister] | List[SSARegisterStack] | List[SSAFlag] | List[SSARegisterOrFlag] | None, str, LowLevelILInstruction | None], bool], name: str = 'root', parent: LowLevelILInstruction | None = None) bool [source]¶
Visits all operands of this instruction and all operands of any sub-instructions. Using pre-order traversal.
- Parameters:
cb (LowLevelILVisitorCallback) – Callback function that takes the name of the operand, the operand, operand type, and parent instruction
name (str) –
parent (LowLevelILInstruction | None) –
- Returns:
True if all instructions were visited, False if the callback returned False
- Return type:
Deprecated since version 4.0.4907: Use
LowLevelILInstruction.traverse
instead.
- visit_operands(cb: Callable[[str, LowLevelILOperationAndSize | ILRegister | ILFlag | ILIntrinsic | ILRegisterStack | int | Dict[int, int] | float | LowLevelILInstruction | Dict[RegisterStackName, int] | SSAFlag | SSARegister | SSARegisterStack | ILSemanticFlagClass | ILSemanticFlagGroup | LowLevelILFlagCondition | List[int] | List[LowLevelILInstruction] | List[ILFlag | ILRegister] | List[SSARegister] | List[SSARegisterStack] | List[SSAFlag] | List[SSARegisterOrFlag] | None, str, LowLevelILInstruction | None], bool], name: str = 'root', parent: LowLevelILInstruction | None = None) bool [source]¶
Visits all leaf operands of this instruction and any sub-instructions.
- Parameters:
cb (LowLevelILVisitorCallback) – Callback function that takes the name of the operand, the operand, operand type, and parent instruction
name (str) –
parent (LowLevelILInstruction | None) –
- Returns:
True if all instructions were visited, False if the callback returned False
- Return type:
Deprecated since version 4.0.4907: Use
LowLevelILInstruction.traverse
instead.
- ILOperations: ClassVar[Dict[LowLevelILOperation, List[Tuple[str, str]]]] = {LowLevelILOperation.LLIL_NOP: [], LowLevelILOperation.LLIL_SET_REG: [('dest', 'reg'), ('src', 'expr')], LowLevelILOperation.LLIL_SET_REG_SPLIT: [('hi', 'reg'), ('lo', 'reg'), ('src', 'expr')], LowLevelILOperation.LLIL_SET_FLAG: [('dest', 'flag'), ('src', 'expr')], LowLevelILOperation.LLIL_SET_REG_STACK_REL: [('stack', 'reg_stack'), ('dest', 'expr'), ('src', 'expr')], LowLevelILOperation.LLIL_REG_STACK_PUSH: [('stack', 'reg_stack'), ('src', 'expr')], LowLevelILOperation.LLIL_LOAD: [('src', 'expr')], LowLevelILOperation.LLIL_STORE: [('dest', 'expr'), ('src', 'expr')], LowLevelILOperation.LLIL_PUSH: [('src', 'expr')], LowLevelILOperation.LLIL_POP: [], LowLevelILOperation.LLIL_REG: [('src', 'reg')], LowLevelILOperation.LLIL_REG_SPLIT: [('hi', 'reg'), ('lo', 'reg')], LowLevelILOperation.LLIL_REG_STACK_REL: [('stack', 'reg_stack'), ('src', 'expr')], LowLevelILOperation.LLIL_REG_STACK_POP: [('stack', 'reg_stack')], LowLevelILOperation.LLIL_REG_STACK_FREE_REG: [('dest', 'reg')], LowLevelILOperation.LLIL_REG_STACK_FREE_REL: [('stack', 'reg_stack'), ('dest', 'expr')], LowLevelILOperation.LLIL_CONST: [('constant', 'int')], LowLevelILOperation.LLIL_CONST_PTR: [('constant', 'int')], LowLevelILOperation.LLIL_EXTERN_PTR: [('constant', 'int'), ('offset', 'int')], LowLevelILOperation.LLIL_FLOAT_CONST: [('constant', 'float')], LowLevelILOperation.LLIL_FLAG: [('src', 'flag')], LowLevelILOperation.LLIL_FLAG_BIT: [('src', 'flag'), ('bit', 'int')], LowLevelILOperation.LLIL_ADD: [('left', 'expr'), ('right', 'expr')], LowLevelILOperation.LLIL_ADC: [('left', 'expr'), ('right', 'expr'), ('carry', 'expr')], LowLevelILOperation.LLIL_SUB: [('left', 'expr'), ('right', 'expr')], LowLevelILOperation.LLIL_SBB: [('left', 'expr'), ('right', 'expr'), ('carry', 'expr')], LowLevelILOperation.LLIL_AND: [('left', 'expr'), ('right', 'expr')], LowLevelILOperation.LLIL_OR: [('left', 'expr'), ('right', 'expr')], LowLevelILOperation.LLIL_XOR: [('left', 'expr'), ('right', 'expr')], LowLevelILOperation.LLIL_LSL: [('left', 'expr'), ('right', 'expr')], LowLevelILOperation.LLIL_LSR: [('left', 'expr'), ('right', 'expr')], LowLevelILOperation.LLIL_ASR: [('left', 'expr'), ('right', 'expr')], LowLevelILOperation.LLIL_ROL: [('left', 'expr'), ('right', 'expr')], LowLevelILOperation.LLIL_RLC: [('left', 'expr'), ('right', 'expr'), ('carry', 'expr')], LowLevelILOperation.LLIL_ROR: [('left', 'expr'), ('right', 'expr')], LowLevelILOperation.LLIL_RRC: [('left', 'expr'), ('right', 'expr'), ('carry', 'expr')], LowLevelILOperation.LLIL_MUL: [('left', 'expr'), ('right', 'expr')], LowLevelILOperation.LLIL_MULU_DP: [('left', 'expr'), ('right', 'expr')], LowLevelILOperation.LLIL_MULS_DP: [('left', 'expr'), ('right', 'expr')], LowLevelILOperation.LLIL_DIVU: [('left', 'expr'), ('right', 'expr')], LowLevelILOperation.LLIL_DIVU_DP: [('left', 'expr'), ('right', 'expr')], LowLevelILOperation.LLIL_DIVS: [('left', 'expr'), ('right', 'expr')], LowLevelILOperation.LLIL_DIVS_DP: [('left', 'expr'), ('right', 'expr')], LowLevelILOperation.LLIL_MODU: [('left', 'expr'), ('right', 'expr')], LowLevelILOperation.LLIL_MODU_DP: [('left', 'expr'), ('right', 'expr')], LowLevelILOperation.LLIL_MODS: [('left', 'expr'), ('right', 'expr')], LowLevelILOperation.LLIL_MODS_DP: [('left', 'expr'), ('right', 'expr')], LowLevelILOperation.LLIL_NEG: [('src', 'expr')], LowLevelILOperation.LLIL_NOT: [('src', 'expr')], LowLevelILOperation.LLIL_SX: [('src', 'expr')], LowLevelILOperation.LLIL_ZX: [('src', 'expr')], LowLevelILOperation.LLIL_LOW_PART: [('src', 'expr')], LowLevelILOperation.LLIL_JUMP: [('dest', 'expr')], LowLevelILOperation.LLIL_JUMP_TO: [('dest', 'expr'), ('targets', 'target_map')], LowLevelILOperation.LLIL_CALL: [('dest', 'expr')], LowLevelILOperation.LLIL_CALL_STACK_ADJUST: [('dest', 'expr'), ('stack_adjustment', 'int'), ('reg_stack_adjustments', 'reg_stack_adjust')], LowLevelILOperation.LLIL_TAILCALL: [('dest', 'expr')], LowLevelILOperation.LLIL_RET: [('dest', 'expr')], LowLevelILOperation.LLIL_NORET: [], LowLevelILOperation.LLIL_IF: [('condition', 'expr'), ('true', 'int'), ('false', 'int')], LowLevelILOperation.LLIL_GOTO: [('dest', 'int')], LowLevelILOperation.LLIL_FLAG_COND: [('condition', 'cond'), ('semantic_class', 'sem_class')], LowLevelILOperation.LLIL_FLAG_GROUP: [('semantic_group', 'sem_group')], LowLevelILOperation.LLIL_CMP_E: [('left', 'expr'), ('right', 'expr')], LowLevelILOperation.LLIL_CMP_NE: [('left', 'expr'), ('right', 'expr')], LowLevelILOperation.LLIL_CMP_SLT: [('left', 'expr'), ('right', 'expr')], LowLevelILOperation.LLIL_CMP_ULT: [('left', 'expr'), ('right', 'expr')], LowLevelILOperation.LLIL_CMP_SLE: [('left', 'expr'), ('right', 'expr')], LowLevelILOperation.LLIL_CMP_ULE: [('left', 'expr'), ('right', 'expr')], LowLevelILOperation.LLIL_CMP_SGE: [('left', 'expr'), ('right', 'expr')], LowLevelILOperation.LLIL_CMP_UGE: [('left', 'expr'), ('right', 'expr')], LowLevelILOperation.LLIL_CMP_SGT: [('left', 'expr'), ('right', 'expr')], LowLevelILOperation.LLIL_CMP_UGT: [('left', 'expr'), ('right', 'expr')], LowLevelILOperation.LLIL_TEST_BIT: [('left', 'expr'), ('right', 'expr')], LowLevelILOperation.LLIL_BOOL_TO_INT: [('src', 'expr')], LowLevelILOperation.LLIL_ADD_OVERFLOW: [('left', 'expr'), ('right', 'expr')], LowLevelILOperation.LLIL_SYSCALL: [], LowLevelILOperation.LLIL_BP: [], LowLevelILOperation.LLIL_TRAP: [('vector', 'int')], LowLevelILOperation.LLIL_INTRINSIC: [('output', 'reg_or_flag_list'), ('intrinsic', 'intrinsic'), ('param', 'expr')], LowLevelILOperation.LLIL_UNDEF: [], LowLevelILOperation.LLIL_UNIMPL: [], LowLevelILOperation.LLIL_UNIMPL_MEM: [('src', 'expr')], LowLevelILOperation.LLIL_FADD: [('left', 'expr'), ('right', 'expr')], LowLevelILOperation.LLIL_FSUB: [('left', 'expr'), ('right', 'expr')], LowLevelILOperation.LLIL_FMUL: [('left', 'expr'), ('right', 'expr')], LowLevelILOperation.LLIL_FDIV: [('left', 'expr'), ('right', 'expr')], LowLevelILOperation.LLIL_FSQRT: [('src', 'expr')], LowLevelILOperation.LLIL_FNEG: [('src', 'expr')], LowLevelILOperation.LLIL_FABS: [('src', 'expr')], LowLevelILOperation.LLIL_FLOAT_TO_INT: [('src', 'expr')], LowLevelILOperation.LLIL_INT_TO_FLOAT: [('src', 'expr')], LowLevelILOperation.LLIL_FLOAT_CONV: [('src', 'expr')], LowLevelILOperation.LLIL_ROUND_TO_INT: [('src', 'expr')], LowLevelILOperation.LLIL_FLOOR: [('src', 'expr')], LowLevelILOperation.LLIL_CEIL: [('src', 'expr')], LowLevelILOperation.LLIL_FTRUNC: [('src', 'expr')], LowLevelILOperation.LLIL_FCMP_E: [('left', 'expr'), ('right', 'expr')], LowLevelILOperation.LLIL_FCMP_NE: [('left', 'expr'), ('right', 'expr')], LowLevelILOperation.LLIL_FCMP_LT: [('left', 'expr'), ('right', 'expr')], LowLevelILOperation.LLIL_FCMP_LE: [('left', 'expr'), ('right', 'expr')], LowLevelILOperation.LLIL_FCMP_GE: [('left', 'expr'), ('right', 'expr')], LowLevelILOperation.LLIL_FCMP_GT: [('left', 'expr'), ('right', 'expr')], LowLevelILOperation.LLIL_FCMP_O: [('left', 'expr'), ('right', 'expr')], LowLevelILOperation.LLIL_FCMP_UO: [('left', 'expr'), ('right', 'expr')], LowLevelILOperation.LLIL_SET_REG_SSA: [('dest', 'reg_ssa'), ('src', 'expr')], LowLevelILOperation.LLIL_SET_REG_SSA_PARTIAL: [('full_reg', 'reg_ssa'), ('dest', 'reg'), ('src', 'expr')], LowLevelILOperation.LLIL_SET_REG_SPLIT_SSA: [('hi', 'expr'), ('lo', 'expr'), ('src', 'expr')], LowLevelILOperation.LLIL_SET_REG_STACK_REL_SSA: [('stack', 'expr'), ('dest', 'expr'), ('top', 'expr'), ('src', 'expr')], LowLevelILOperation.LLIL_SET_REG_STACK_ABS_SSA: [('stack', 'expr'), ('dest', 'reg'), ('src', 'expr')], LowLevelILOperation.LLIL_REG_SPLIT_DEST_SSA: [('dest', 'reg_ssa')], LowLevelILOperation.LLIL_REG_STACK_DEST_SSA: [('src', 'reg_stack_ssa_dest_and_src')], LowLevelILOperation.LLIL_REG_SSA: [('src', 'reg_ssa')], LowLevelILOperation.LLIL_REG_SSA_PARTIAL: [('full_reg', 'reg_ssa'), ('src', 'reg')], LowLevelILOperation.LLIL_REG_SPLIT_SSA: [('hi', 'reg_ssa'), ('lo', 'reg_ssa')], LowLevelILOperation.LLIL_REG_STACK_REL_SSA: [('stack', 'reg_stack_ssa'), ('src', 'expr'), ('top', 'expr')], LowLevelILOperation.LLIL_REG_STACK_ABS_SSA: [('stack', 'reg_stack_ssa'), ('src', 'reg')], LowLevelILOperation.LLIL_REG_STACK_FREE_REL_SSA: [('stack', 'expr'), ('dest', 'expr'), ('top', 'expr')], LowLevelILOperation.LLIL_REG_STACK_FREE_ABS_SSA: [('stack', 'expr'), ('dest', 'reg')], LowLevelILOperation.LLIL_SET_FLAG_SSA: [('dest', 'flag_ssa'), ('src', 'expr')], LowLevelILOperation.LLIL_FLAG_SSA: [('src', 'flag_ssa')], LowLevelILOperation.LLIL_FLAG_BIT_SSA: [('src', 'flag_ssa'), ('bit', 'int')], LowLevelILOperation.LLIL_CALL_SSA: [('output', 'expr'), ('dest', 'expr'), ('stack', 'expr'), ('param', 'expr')], LowLevelILOperation.LLIL_SYSCALL_SSA: [('output', 'expr'), ('stack', 'expr'), ('param', 'expr')], LowLevelILOperation.LLIL_TAILCALL_SSA: [('output', 'expr'), ('dest', 'expr'), ('stack', 'expr'), ('param', 'expr')], LowLevelILOperation.LLIL_CALL_PARAM: [('src', 'expr_list')], LowLevelILOperation.LLIL_CALL_STACK_SSA: [('src', 'reg_ssa'), ('src_memory', 'int')], LowLevelILOperation.LLIL_CALL_OUTPUT_SSA: [('dest_memory', 'int'), ('dest', 'reg_ssa_list')], LowLevelILOperation.LLIL_SEPARATE_PARAM_LIST_SSA: [('src', 'expr_list')], LowLevelILOperation.LLIL_SHARED_PARAM_SLOT_SSA: [('src', 'expr_list')], LowLevelILOperation.LLIL_MEMORY_INTRINSIC_OUTPUT_SSA: [('dest_memory', 'int'), ('output', 'reg_ssa_list')], LowLevelILOperation.LLIL_LOAD_SSA: [('src', 'expr'), ('src_memory', 'int')], LowLevelILOperation.LLIL_STORE_SSA: [('dest', 'expr'), ('dest_memory', 'int'), ('src_memory', 'int'), ('src', 'expr')], LowLevelILOperation.LLIL_INTRINSIC_SSA: [('output', 'reg_or_flag_ssa_list'), ('intrinsic', 'intrinsic'), ('param', 'expr')], LowLevelILOperation.LLIL_MEMORY_INTRINSIC_SSA: [('output', 'expr'), ('intrinsic', 'intrinsic'), ('params', 'expr_list'), ('src_memory', 'int')], LowLevelILOperation.LLIL_REG_PHI: [('dest', 'reg_ssa'), ('src', 'reg_ssa_list')], LowLevelILOperation.LLIL_REG_STACK_PHI: [('dest', 'reg_stack_ssa'), ('src', 'reg_stack_ssa_list')], LowLevelILOperation.LLIL_FLAG_PHI: [('dest', 'flag_ssa'), ('src', 'flag_ssa_list')], LowLevelILOperation.LLIL_MEM_PHI: [('dest_memory', 'int'), ('src_memory', 'int_list')]}¶
- property attributes: Set[ILInstructionAttribute]¶
The set of optional attributes placed on the instruction
- property detailed_operands: List[Tuple[str, LowLevelILOperationAndSize | ILRegister | ILFlag | ILIntrinsic | ILRegisterStack | int | Dict[int, int] | float | LowLevelILInstruction | Dict[RegisterStackName, int] | SSAFlag | SSARegister | SSARegisterStack | ILSemanticFlagClass | ILSemanticFlagGroup | LowLevelILFlagCondition | List[int] | List[LowLevelILInstruction] | List[ILFlag | ILRegister] | List[SSARegister] | List[SSARegisterStack] | List[SSAFlag] | List[SSARegisterOrFlag] | None, 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: LowLevelILFunction¶
- property high_level_il: HighLevelILInstruction | None¶
Gets the high level IL expression corresponding to this expression (may be None for eliminated instructions)
- property hlil: HighLevelILInstruction | None¶
- property hlils: List[HighLevelILInstruction]¶
- property il_basic_block: LowLevelILBasicBlock¶
IL basic block object containing this expression (read-only) (only available on finalized functions)
- instr: CoreLowLevelILInstruction¶
- property mapped_medium_level_il: MediumLevelILInstruction | None¶
Gets the mapped medium level IL expression corresponding to this expression
- property medium_level_il: MediumLevelILInstruction | None¶
Gets the medium level IL expression corresponding to this expression (may be None for eliminated instructions)
- property mlil: MediumLevelILInstruction | None¶
- property mlils: List[MediumLevelILInstruction]¶
- property mmlil: MediumLevelILInstruction | None¶
- property non_ssa_form: LowLevelILInstruction¶
Non-SSA form of expression (read-only)
- property operands: List[LowLevelILOperationAndSize | ILRegister | ILFlag | ILIntrinsic | ILRegisterStack | int | Dict[int, int] | float | LowLevelILInstruction | Dict[RegisterStackName, int] | SSAFlag | SSARegister | SSARegisterStack | ILSemanticFlagClass | ILSemanticFlagGroup | LowLevelILFlagCondition | List[int] | List[LowLevelILInstruction] | List[ILFlag | ILRegister] | List[SSARegister] | List[SSARegisterStack] | List[SSAFlag] | List[SSARegisterOrFlag] | None]¶
Operands for the instruction
Consider using more specific APIs for
src
,dest
,params
, etc where appropriate.
- property operation: LowLevelILOperation¶
- property possible_values: PossibleValueSet¶
Possible values of expression using path-sensitive static data flow analysis (read-only)
- property postfix_operands: List[LowLevelILOperationAndSize | ILRegister | ILFlag | ILIntrinsic | ILRegisterStack | int | Dict[int, int] | float | LowLevelILInstruction | Dict[RegisterStackName, int] | SSAFlag | SSARegister | SSARegisterStack | ILSemanticFlagClass | ILSemanticFlagGroup | LowLevelILFlagCondition | List[int] | List[LowLevelILInstruction] | List[ILFlag | ILRegister] | List[SSARegister] | List[SSARegisterStack] | List[SSAFlag] | List[SSARegisterOrFlag] | None]¶
All operands in the expression tree in postfix order
- property prefix_operands: List[LowLevelILOperationAndSize | ILRegister | ILFlag | ILIntrinsic | ILRegisterStack | int | Dict[int, int] | float | LowLevelILInstruction | Dict[RegisterStackName, int] | SSAFlag | SSARegister | SSARegisterStack | ILSemanticFlagClass | ILSemanticFlagGroup | LowLevelILFlagCondition | List[int] | List[LowLevelILInstruction] | List[ILFlag | ILRegister] | List[SSARegister] | List[SSARegisterStack] | List[SSAFlag] | List[SSARegisterOrFlag] | None]¶
All operands in the expression tree in prefix order
- property raw_operands: Tuple[ExpressionIndex, ExpressionIndex, ExpressionIndex, ExpressionIndex]¶
Raw operand expression indices as specified by the core structure (read-only)
- property ssa_form: LowLevelILInstruction¶
SSA form of expression (read-only)
- property tokens: List[InstructionTextToken]¶
LLIL tokens (read-only)
- property value: RegisterValue¶
Value of expression if constant or a known value (read-only)
- class LowLevelILIntToFloat(function: 'LowLevelILFunction', expr_index: binaryninja.lowlevelil.ExpressionIndex, instr: CoreLowLevelILInstruction, instr_index: binaryninja.lowlevelil.InstructionIndex | None)[source]¶
Bases:
LowLevelILInstruction
,FloatingPoint
,Arithmetic
- Parameters:
function (LowLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreLowLevelILInstruction) –
instr_index (InstructionIndex | None) –
- property detailed_operands: List[Tuple[str, LowLevelILOperationAndSize | ILRegister | ILFlag | ILIntrinsic | ILRegisterStack | int | Dict[int, int] | float | LowLevelILInstruction | Dict[RegisterStackName, int] | SSAFlag | SSARegister | SSARegisterStack | ILSemanticFlagClass | ILSemanticFlagGroup | LowLevelILFlagCondition | List[int] | List[LowLevelILInstruction] | List[ILFlag | ILRegister] | List[SSARegister] | List[SSARegisterStack] | List[SSAFlag] | List[SSARegisterOrFlag] | None, 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.
- property src: LowLevelILInstruction¶
- class LowLevelILIntrinsic(function: 'LowLevelILFunction', expr_index: binaryninja.lowlevelil.ExpressionIndex, instr: CoreLowLevelILInstruction, instr_index: binaryninja.lowlevelil.InstructionIndex | None)[source]¶
Bases:
LowLevelILInstruction
,Intrinsic
- Parameters:
function (LowLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreLowLevelILInstruction) –
instr_index (InstructionIndex | None) –
- property detailed_operands: List[Tuple[str, LowLevelILOperationAndSize | ILRegister | ILFlag | ILIntrinsic | ILRegisterStack | int | Dict[int, int] | float | LowLevelILInstruction | Dict[RegisterStackName, int] | SSAFlag | SSARegister | SSARegisterStack | ILSemanticFlagClass | ILSemanticFlagGroup | LowLevelILFlagCondition | List[int] | List[LowLevelILInstruction] | List[ILFlag | ILRegister] | List[SSARegister] | List[SSARegisterStack] | List[SSAFlag] | List[SSARegisterOrFlag] | None, 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.
- property intrinsic: ILIntrinsic¶
- property output: List[ILFlag | ILRegister]¶
- property param: LowLevelILCallParam¶
- property params: List[LowLevelILInstruction]¶
- class LowLevelILIntrinsicSsa(function: 'LowLevelILFunction', expr_index: binaryninja.lowlevelil.ExpressionIndex, instr: CoreLowLevelILInstruction, instr_index: binaryninja.lowlevelil.InstructionIndex | None)[source]¶
Bases:
LowLevelILInstruction
,SSA
- Parameters:
function (LowLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreLowLevelILInstruction) –
instr_index (InstructionIndex | None) –
- property detailed_operands: List[Tuple[str, LowLevelILOperationAndSize | ILRegister | ILFlag | ILIntrinsic | ILRegisterStack | int | Dict[int, int] | float | LowLevelILInstruction | Dict[RegisterStackName, int] | SSAFlag | SSARegister | SSARegisterStack | ILSemanticFlagClass | ILSemanticFlagGroup | LowLevelILFlagCondition | List[int] | List[LowLevelILInstruction] | List[ILFlag | ILRegister] | List[SSARegister] | List[SSARegisterStack] | List[SSAFlag] | List[SSARegisterOrFlag] | None, 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.
- property intrinsic: ILIntrinsic¶
- property output: List[SSARegisterOrFlag]¶
- property param: LowLevelILCallParam¶
- property params: List[LowLevelILInstruction]¶
- class LowLevelILJump(function: 'LowLevelILFunction', expr_index: binaryninja.lowlevelil.ExpressionIndex, instr: CoreLowLevelILInstruction, instr_index: binaryninja.lowlevelil.InstructionIndex | None)[source]¶
Bases:
LowLevelILInstruction
,Terminal
- Parameters:
function (LowLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreLowLevelILInstruction) –
instr_index (InstructionIndex | None) –
- property dest: LowLevelILInstruction¶
- property detailed_operands: List[Tuple[str, LowLevelILOperationAndSize | ILRegister | ILFlag | ILIntrinsic | ILRegisterStack | int | Dict[int, int] | float | LowLevelILInstruction | Dict[RegisterStackName, int] | SSAFlag | SSARegister | SSARegisterStack | ILSemanticFlagClass | ILSemanticFlagGroup | LowLevelILFlagCondition | List[int] | List[LowLevelILInstruction] | List[ILFlag | ILRegister] | List[SSARegister] | List[SSARegisterStack] | List[SSAFlag] | List[SSARegisterOrFlag] | None, 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.
- class LowLevelILJumpTo(function: 'LowLevelILFunction', expr_index: binaryninja.lowlevelil.ExpressionIndex, instr: CoreLowLevelILInstruction, instr_index: binaryninja.lowlevelil.InstructionIndex | None)[source]¶
Bases:
LowLevelILInstruction
- Parameters:
function (LowLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreLowLevelILInstruction) –
instr_index (InstructionIndex | None) –
- property dest: LowLevelILInstruction¶
- property detailed_operands: List[Tuple[str, LowLevelILOperationAndSize | ILRegister | ILFlag | ILIntrinsic | ILRegisterStack | int | Dict[int, int] | float | LowLevelILInstruction | Dict[RegisterStackName, int] | SSAFlag | SSARegister | SSARegisterStack | ILSemanticFlagClass | ILSemanticFlagGroup | LowLevelILFlagCondition | List[int] | List[LowLevelILInstruction] | List[ILFlag | ILRegister] | List[SSARegister] | List[SSARegisterStack] | List[SSAFlag] | List[SSARegisterOrFlag] | None, 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.
- class LowLevelILLabel(handle: BNLowLevelILLabel | None = None)[source]¶
Bases:
object
- Parameters:
handle (BNLowLevelILLabel | None) –
- property operand: InstructionIndex¶
- class LowLevelILLoad(function: 'LowLevelILFunction', expr_index: binaryninja.lowlevelil.ExpressionIndex, instr: CoreLowLevelILInstruction, instr_index: binaryninja.lowlevelil.InstructionIndex | None)[source]¶
Bases:
LowLevelILInstruction
,Load
- Parameters:
function (LowLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreLowLevelILInstruction) –
instr_index (InstructionIndex | None) –
- property detailed_operands: List[Tuple[str, LowLevelILOperationAndSize | ILRegister | ILFlag | ILIntrinsic | ILRegisterStack | int | Dict[int, int] | float | LowLevelILInstruction | Dict[RegisterStackName, int] | SSAFlag | SSARegister | SSARegisterStack | ILSemanticFlagClass | ILSemanticFlagGroup | LowLevelILFlagCondition | List[int] | List[LowLevelILInstruction] | List[ILFlag | ILRegister] | List[SSARegister] | List[SSARegisterStack] | List[SSAFlag] | List[SSARegisterOrFlag] | None, 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.
- property src: LowLevelILInstruction¶
- class LowLevelILLoadSsa(function: 'LowLevelILFunction', expr_index: binaryninja.lowlevelil.ExpressionIndex, instr: CoreLowLevelILInstruction, instr_index: binaryninja.lowlevelil.InstructionIndex | None)[source]¶
Bases:
LowLevelILInstruction
,Load
,SSA
- Parameters:
function (LowLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreLowLevelILInstruction) –
instr_index (InstructionIndex | None) –
- property detailed_operands: List[Tuple[str, LowLevelILOperationAndSize | ILRegister | ILFlag | ILIntrinsic | ILRegisterStack | int | Dict[int, int] | float | LowLevelILInstruction | Dict[RegisterStackName, int] | SSAFlag | SSARegister | SSARegisterStack | ILSemanticFlagClass | ILSemanticFlagGroup | LowLevelILFlagCondition | List[int] | List[LowLevelILInstruction] | List[ILFlag | ILRegister] | List[SSARegister] | List[SSARegisterStack] | List[SSAFlag] | List[SSARegisterOrFlag] | None, 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.
- property src: LowLevelILInstruction¶
- class LowLevelILLowPart(function: 'LowLevelILFunction', expr_index: binaryninja.lowlevelil.ExpressionIndex, instr: CoreLowLevelILInstruction, instr_index: binaryninja.lowlevelil.InstructionIndex | None)[source]¶
Bases:
LowLevelILUnaryBase
,Arithmetic
- Parameters:
function (LowLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreLowLevelILInstruction) –
instr_index (InstructionIndex | None) –
- class LowLevelILLsl(function: 'LowLevelILFunction', expr_index: binaryninja.lowlevelil.ExpressionIndex, instr: CoreLowLevelILInstruction, instr_index: binaryninja.lowlevelil.InstructionIndex | None)[source]¶
Bases:
LowLevelILBinaryBase
,Arithmetic
- Parameters:
function (LowLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreLowLevelILInstruction) –
instr_index (InstructionIndex | None) –
- class LowLevelILLsr(function: 'LowLevelILFunction', expr_index: binaryninja.lowlevelil.ExpressionIndex, instr: CoreLowLevelILInstruction, instr_index: binaryninja.lowlevelil.InstructionIndex | None)[source]¶
Bases:
LowLevelILBinaryBase
,Arithmetic
- Parameters:
function (LowLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreLowLevelILInstruction) –
instr_index (InstructionIndex | None) –
- class LowLevelILMemPhi(function: 'LowLevelILFunction', expr_index: binaryninja.lowlevelil.ExpressionIndex, instr: CoreLowLevelILInstruction, instr_index: binaryninja.lowlevelil.InstructionIndex | None)[source]¶
Bases:
LowLevelILInstruction
,Memory
,Phi
- Parameters:
function (LowLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreLowLevelILInstruction) –
instr_index (InstructionIndex | None) –
- property detailed_operands: List[Tuple[str, LowLevelILOperationAndSize | ILRegister | ILFlag | ILIntrinsic | ILRegisterStack | int | Dict[int, int] | float | LowLevelILInstruction | Dict[RegisterStackName, int] | SSAFlag | SSARegister | SSARegisterStack | ILSemanticFlagClass | ILSemanticFlagGroup | LowLevelILFlagCondition | List[int] | List[LowLevelILInstruction] | List[ILFlag | ILRegister] | List[SSARegister] | List[SSARegisterStack] | List[SSAFlag] | List[SSARegisterOrFlag] | None, 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.
- class LowLevelILMemoryIntrinsicOutputSsa(function: 'LowLevelILFunction', expr_index: binaryninja.lowlevelil.ExpressionIndex, instr: CoreLowLevelILInstruction, instr_index: binaryninja.lowlevelil.InstructionIndex | None)[source]¶
Bases:
LowLevelILInstruction
,SSA
- Parameters:
function (LowLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreLowLevelILInstruction) –
instr_index (InstructionIndex | None) –
- property detailed_operands: List[Tuple[str, LowLevelILOperationAndSize | ILRegister | ILFlag | ILIntrinsic | ILRegisterStack | int | Dict[int, int] | float | LowLevelILInstruction | Dict[RegisterStackName, int] | SSAFlag | SSARegister | SSARegisterStack | ILSemanticFlagClass | ILSemanticFlagGroup | LowLevelILFlagCondition | List[int] | List[LowLevelILInstruction] | List[ILFlag | ILRegister] | List[SSARegister] | List[SSARegisterStack] | List[SSAFlag] | List[SSARegisterOrFlag] | None, 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.
- property output: List[SSARegisterOrFlag]¶
- class LowLevelILMemoryIntrinsicSsa(function: 'LowLevelILFunction', expr_index: binaryninja.lowlevelil.ExpressionIndex, instr: CoreLowLevelILInstruction, instr_index: binaryninja.lowlevelil.InstructionIndex | None)[source]¶
Bases:
LowLevelILInstruction
,SSA
- Parameters:
function (LowLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreLowLevelILInstruction) –
instr_index (InstructionIndex | None) –
- property detailed_operands: List[Tuple[str, LowLevelILOperationAndSize | ILRegister | ILFlag | ILIntrinsic | ILRegisterStack | int | Dict[int, int] | float | LowLevelILInstruction | Dict[RegisterStackName, int] | SSAFlag | SSARegister | SSARegisterStack | ILSemanticFlagClass | ILSemanticFlagGroup | LowLevelILFlagCondition | List[int] | List[LowLevelILInstruction] | List[ILFlag | ILRegister] | List[SSARegister] | List[SSARegisterStack] | List[SSAFlag] | List[SSARegisterOrFlag] | None, 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.
- property intrinsic: ILIntrinsic¶
- property output: List[SSARegisterOrFlag]¶
- property param: LowLevelILCallParam¶
- property params: List[LowLevelILInstruction]¶
- class LowLevelILMods(function: 'LowLevelILFunction', expr_index: binaryninja.lowlevelil.ExpressionIndex, instr: CoreLowLevelILInstruction, instr_index: binaryninja.lowlevelil.InstructionIndex | None)[source]¶
Bases:
LowLevelILBinaryBase
,Arithmetic
,Signed
- Parameters:
function (LowLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreLowLevelILInstruction) –
instr_index (InstructionIndex | None) –
- class LowLevelILModsDp(function: 'LowLevelILFunction', expr_index: binaryninja.lowlevelil.ExpressionIndex, instr: CoreLowLevelILInstruction, instr_index: binaryninja.lowlevelil.InstructionIndex | None)[source]¶
Bases:
LowLevelILBinaryBase
,DoublePrecision
,Signed
- Parameters:
function (LowLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreLowLevelILInstruction) –
instr_index (InstructionIndex | None) –
- class LowLevelILModu(function: 'LowLevelILFunction', expr_index: binaryninja.lowlevelil.ExpressionIndex, instr: CoreLowLevelILInstruction, instr_index: binaryninja.lowlevelil.InstructionIndex | None)[source]¶
Bases:
LowLevelILBinaryBase
,Arithmetic
- Parameters:
function (LowLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreLowLevelILInstruction) –
instr_index (InstructionIndex | None) –
- class LowLevelILModuDp(function: 'LowLevelILFunction', expr_index: binaryninja.lowlevelil.ExpressionIndex, instr: CoreLowLevelILInstruction, instr_index: binaryninja.lowlevelil.InstructionIndex | None)[source]¶
Bases:
LowLevelILBinaryBase
,DoublePrecision
- Parameters:
function (LowLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreLowLevelILInstruction) –
instr_index (InstructionIndex | None) –
- class LowLevelILMul(function: 'LowLevelILFunction', expr_index: binaryninja.lowlevelil.ExpressionIndex, instr: CoreLowLevelILInstruction, instr_index: binaryninja.lowlevelil.InstructionIndex | None)[source]¶
Bases:
LowLevelILBinaryBase
,Arithmetic
- Parameters:
function (LowLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreLowLevelILInstruction) –
instr_index (InstructionIndex | None) –
- class LowLevelILMulsDp(function: 'LowLevelILFunction', expr_index: binaryninja.lowlevelil.ExpressionIndex, instr: CoreLowLevelILInstruction, instr_index: binaryninja.lowlevelil.InstructionIndex | None)[source]¶
Bases:
LowLevelILBinaryBase
,DoublePrecision
- Parameters:
function (LowLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreLowLevelILInstruction) –
instr_index (InstructionIndex | None) –
- class LowLevelILMuluDp(function: 'LowLevelILFunction', expr_index: binaryninja.lowlevelil.ExpressionIndex, instr: CoreLowLevelILInstruction, instr_index: binaryninja.lowlevelil.InstructionIndex | None)[source]¶
Bases:
LowLevelILBinaryBase
,DoublePrecision
- Parameters:
function (LowLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreLowLevelILInstruction) –
instr_index (InstructionIndex | None) –
- class LowLevelILNeg(function: 'LowLevelILFunction', expr_index: binaryninja.lowlevelil.ExpressionIndex, instr: CoreLowLevelILInstruction, instr_index: binaryninja.lowlevelil.InstructionIndex | None)[source]¶
Bases:
LowLevelILUnaryBase
,Arithmetic
- Parameters:
function (LowLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreLowLevelILInstruction) –
instr_index (InstructionIndex | None) –
- class LowLevelILNop(function: 'LowLevelILFunction', expr_index: binaryninja.lowlevelil.ExpressionIndex, instr: CoreLowLevelILInstruction, instr_index: binaryninja.lowlevelil.InstructionIndex | None)[source]¶
Bases:
LowLevelILInstruction
- Parameters:
function (LowLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreLowLevelILInstruction) –
instr_index (InstructionIndex | None) –
- class LowLevelILNoret(function: 'LowLevelILFunction', expr_index: binaryninja.lowlevelil.ExpressionIndex, instr: CoreLowLevelILInstruction, instr_index: binaryninja.lowlevelil.InstructionIndex | None)[source]¶
Bases:
LowLevelILInstruction
,Terminal
- Parameters:
function (LowLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreLowLevelILInstruction) –
instr_index (InstructionIndex | None) –
- class LowLevelILNot(function: 'LowLevelILFunction', expr_index: binaryninja.lowlevelil.ExpressionIndex, instr: CoreLowLevelILInstruction, instr_index: binaryninja.lowlevelil.InstructionIndex | None)[source]¶
Bases:
LowLevelILUnaryBase
,Arithmetic
- Parameters:
function (LowLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreLowLevelILInstruction) –
instr_index (InstructionIndex | None) –
- class LowLevelILOperationAndSize(operation: 'LowLevelILOperation', size: int)[source]¶
Bases:
object
- Parameters:
operation (LowLevelILOperation) –
size (int) –
- operation: LowLevelILOperation¶
- class LowLevelILOr(function: 'LowLevelILFunction', expr_index: binaryninja.lowlevelil.ExpressionIndex, instr: CoreLowLevelILInstruction, instr_index: binaryninja.lowlevelil.InstructionIndex | None)[source]¶
Bases:
LowLevelILBinaryBase
,Arithmetic
- Parameters:
function (LowLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreLowLevelILInstruction) –
instr_index (InstructionIndex | None) –
- class LowLevelILPop(function: 'LowLevelILFunction', expr_index: binaryninja.lowlevelil.ExpressionIndex, instr: CoreLowLevelILInstruction, instr_index: binaryninja.lowlevelil.InstructionIndex | None)[source]¶
Bases:
LowLevelILInstruction
,StackOperation
- Parameters:
function (LowLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreLowLevelILInstruction) –
instr_index (InstructionIndex | None) –
- class LowLevelILPush(function: 'LowLevelILFunction', expr_index: binaryninja.lowlevelil.ExpressionIndex, instr: CoreLowLevelILInstruction, instr_index: binaryninja.lowlevelil.InstructionIndex | None)[source]¶
Bases:
LowLevelILInstruction
,StackOperation
- Parameters:
function (LowLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreLowLevelILInstruction) –
instr_index (InstructionIndex | None) –
- property detailed_operands: List[Tuple[str, LowLevelILOperationAndSize | ILRegister | ILFlag | ILIntrinsic | ILRegisterStack | int | Dict[int, int] | float | LowLevelILInstruction | Dict[RegisterStackName, int] | SSAFlag | SSARegister | SSARegisterStack | ILSemanticFlagClass | ILSemanticFlagGroup | LowLevelILFlagCondition | List[int] | List[LowLevelILInstruction] | List[ILFlag | ILRegister] | List[SSARegister] | List[SSARegisterStack] | List[SSAFlag] | List[SSARegisterOrFlag] | None, 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.
- property src: LowLevelILInstruction¶
- class LowLevelILReg(function: 'LowLevelILFunction', expr_index: binaryninja.lowlevelil.ExpressionIndex, instr: CoreLowLevelILInstruction, instr_index: binaryninja.lowlevelil.InstructionIndex | None)[source]¶
Bases:
LowLevelILInstruction
- Parameters:
function (LowLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreLowLevelILInstruction) –
instr_index (InstructionIndex | None) –
- property detailed_operands: List[Tuple[str, LowLevelILOperationAndSize | ILRegister | ILFlag | ILIntrinsic | ILRegisterStack | int | Dict[int, int] | float | LowLevelILInstruction | Dict[RegisterStackName, int] | SSAFlag | SSARegister | SSARegisterStack | ILSemanticFlagClass | ILSemanticFlagGroup | LowLevelILFlagCondition | List[int] | List[LowLevelILInstruction] | List[ILFlag | ILRegister] | List[SSARegister] | List[SSARegisterStack] | List[SSAFlag] | List[SSARegisterOrFlag] | None, 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.
- property src: ILRegister¶
- class LowLevelILRegPhi(function: 'LowLevelILFunction', expr_index: binaryninja.lowlevelil.ExpressionIndex, instr: CoreLowLevelILInstruction, instr_index: binaryninja.lowlevelil.InstructionIndex | None)[source]¶
Bases:
LowLevelILInstruction
,Phi
- Parameters:
function (LowLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreLowLevelILInstruction) –
instr_index (InstructionIndex | None) –
- property dest: SSARegister¶
- property detailed_operands: List[Tuple[str, LowLevelILOperationAndSize | ILRegister | ILFlag | ILIntrinsic | ILRegisterStack | int | Dict[int, int] | float | LowLevelILInstruction | Dict[RegisterStackName, int] | SSAFlag | SSARegister | SSARegisterStack | ILSemanticFlagClass | ILSemanticFlagGroup | LowLevelILFlagCondition | List[int] | List[LowLevelILInstruction] | List[ILFlag | ILRegister] | List[SSARegister] | List[SSARegisterStack] | List[SSAFlag] | List[SSARegisterOrFlag] | None, 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.
- property src: List[SSARegister]¶
- class LowLevelILRegSplit(function: 'LowLevelILFunction', expr_index: binaryninja.lowlevelil.ExpressionIndex, instr: CoreLowLevelILInstruction, instr_index: binaryninja.lowlevelil.InstructionIndex | None)[source]¶
Bases:
LowLevelILInstruction
- Parameters:
function (LowLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreLowLevelILInstruction) –
instr_index (InstructionIndex | None) –
- property detailed_operands: List[Tuple[str, LowLevelILOperationAndSize | ILRegister | ILFlag | ILIntrinsic | ILRegisterStack | int | Dict[int, int] | float | LowLevelILInstruction | Dict[RegisterStackName, int] | SSAFlag | SSARegister | SSARegisterStack | ILSemanticFlagClass | ILSemanticFlagGroup | LowLevelILFlagCondition | List[int] | List[LowLevelILInstruction] | List[ILFlag | ILRegister] | List[SSARegister] | List[SSARegisterStack] | List[SSAFlag] | List[SSARegisterOrFlag] | None, 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.
- property hi: ILRegister¶
- property lo: ILRegister¶
- class LowLevelILRegSplitDestSsa(function: 'LowLevelILFunction', expr_index: binaryninja.lowlevelil.ExpressionIndex, instr: CoreLowLevelILInstruction, instr_index: binaryninja.lowlevelil.InstructionIndex | None)[source]¶
Bases:
LowLevelILInstruction
,SSA
- Parameters:
function (LowLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreLowLevelILInstruction) –
instr_index (InstructionIndex | None) –
- property dest: SSARegister¶
- property detailed_operands: List[Tuple[str, LowLevelILOperationAndSize | ILRegister | ILFlag | ILIntrinsic | ILRegisterStack | int | Dict[int, int] | float | LowLevelILInstruction | Dict[RegisterStackName, int] | SSAFlag | SSARegister | SSARegisterStack | ILSemanticFlagClass | ILSemanticFlagGroup | LowLevelILFlagCondition | List[int] | List[LowLevelILInstruction] | List[ILFlag | ILRegister] | List[SSARegister] | List[SSARegisterStack] | List[SSAFlag] | List[SSARegisterOrFlag] | None, 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.
- class LowLevelILRegSplitSsa(function: 'LowLevelILFunction', expr_index: binaryninja.lowlevelil.ExpressionIndex, instr: CoreLowLevelILInstruction, instr_index: binaryninja.lowlevelil.InstructionIndex | None)[source]¶
Bases:
LowLevelILInstruction
,SetReg
,SSA
- Parameters:
function (LowLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreLowLevelILInstruction) –
instr_index (InstructionIndex | None) –
- property detailed_operands: List[Tuple[str, LowLevelILOperationAndSize | ILRegister | ILFlag | ILIntrinsic | ILRegisterStack | int | Dict[int, int] | float | LowLevelILInstruction | Dict[RegisterStackName, int] | SSAFlag | SSARegister | SSARegisterStack | ILSemanticFlagClass | ILSemanticFlagGroup | LowLevelILFlagCondition | List[int] | List[LowLevelILInstruction] | List[ILFlag | ILRegister] | List[SSARegister] | List[SSARegisterStack] | List[SSAFlag] | List[SSARegisterOrFlag] | None, 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.
- property hi: SSARegister¶
- property lo: SSARegister¶
- class LowLevelILRegSsa(function: 'LowLevelILFunction', expr_index: binaryninja.lowlevelil.ExpressionIndex, instr: CoreLowLevelILInstruction, instr_index: binaryninja.lowlevelil.InstructionIndex | None)[source]¶
Bases:
LowLevelILInstruction
,SSA
- Parameters:
function (LowLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreLowLevelILInstruction) –
instr_index (InstructionIndex | None) –
- property detailed_operands: List[Tuple[str, LowLevelILOperationAndSize | ILRegister | ILFlag | ILIntrinsic | ILRegisterStack | int | Dict[int, int] | float | LowLevelILInstruction | Dict[RegisterStackName, int] | SSAFlag | SSARegister | SSARegisterStack | ILSemanticFlagClass | ILSemanticFlagGroup | LowLevelILFlagCondition | List[int] | List[LowLevelILInstruction] | List[ILFlag | ILRegister] | List[SSARegister] | List[SSARegisterStack] | List[SSAFlag] | List[SSARegisterOrFlag] | None, 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.
- property src: SSARegister¶
- class LowLevelILRegSsaPartial(function: 'LowLevelILFunction', expr_index: binaryninja.lowlevelil.ExpressionIndex, instr: CoreLowLevelILInstruction, instr_index: binaryninja.lowlevelil.InstructionIndex | None)[source]¶
Bases:
LowLevelILInstruction
,SetReg
,SSA
- Parameters:
function (LowLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreLowLevelILInstruction) –
instr_index (InstructionIndex | None) –
- property detailed_operands: List[Tuple[str, LowLevelILOperationAndSize | ILRegister | ILFlag | ILIntrinsic | ILRegisterStack | int | Dict[int, int] | float | LowLevelILInstruction | Dict[RegisterStackName, int] | SSAFlag | SSARegister | SSARegisterStack | ILSemanticFlagClass | ILSemanticFlagGroup | LowLevelILFlagCondition | List[int] | List[LowLevelILInstruction] | List[ILFlag | ILRegister] | List[SSARegister] | List[SSARegisterStack] | List[SSAFlag] | List[SSARegisterOrFlag] | None, 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.
- property full_reg: SSARegister¶
- property src: ILRegister¶
- class LowLevelILRegStackAbsSsa(function: 'LowLevelILFunction', expr_index: binaryninja.lowlevelil.ExpressionIndex, instr: CoreLowLevelILInstruction, instr_index: binaryninja.lowlevelil.InstructionIndex | None)[source]¶
Bases:
LowLevelILInstruction
,RegisterStack
,SSA
- Parameters:
function (LowLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreLowLevelILInstruction) –
instr_index (InstructionIndex | None) –
- property detailed_operands: List[Tuple[str, LowLevelILOperationAndSize | ILRegister | ILFlag | ILIntrinsic | ILRegisterStack | int | Dict[int, int] | float | LowLevelILInstruction | Dict[RegisterStackName, int] | SSAFlag | SSARegister | SSARegisterStack | ILSemanticFlagClass | ILSemanticFlagGroup | LowLevelILFlagCondition | List[int] | List[LowLevelILInstruction] | List[ILFlag | ILRegister] | List[SSARegister] | List[SSARegisterStack] | List[SSAFlag] | List[SSARegisterOrFlag] | None, 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.
- property src: ILRegister¶
- property stack: SSARegisterStack¶
- class LowLevelILRegStackDestSsa(function: 'LowLevelILFunction', expr_index: binaryninja.lowlevelil.ExpressionIndex, instr: CoreLowLevelILInstruction, instr_index: binaryninja.lowlevelil.InstructionIndex | None)[source]¶
Bases:
LowLevelILInstruction
,RegisterStack
,SSA
- Parameters:
function (LowLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreLowLevelILInstruction) –
instr_index (InstructionIndex | None) –
- property dest: SSARegisterStack¶
- property detailed_operands: List[Tuple[str, LowLevelILOperationAndSize | ILRegister | ILFlag | ILIntrinsic | ILRegisterStack | int | Dict[int, int] | float | LowLevelILInstruction | Dict[RegisterStackName, int] | SSAFlag | SSARegister | SSARegisterStack | ILSemanticFlagClass | ILSemanticFlagGroup | LowLevelILFlagCondition | List[int] | List[LowLevelILInstruction] | List[ILFlag | ILRegister] | List[SSARegister] | List[SSARegisterStack] | List[SSAFlag] | List[SSARegisterOrFlag] | None, 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.
- property src: SSARegisterStack¶
- class LowLevelILRegStackFreeAbsSsa(function: 'LowLevelILFunction', expr_index: binaryninja.lowlevelil.ExpressionIndex, instr: CoreLowLevelILInstruction, instr_index: binaryninja.lowlevelil.InstructionIndex | None)[source]¶
Bases:
LowLevelILInstruction
,RegisterStack
- Parameters:
function (LowLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreLowLevelILInstruction) –
instr_index (InstructionIndex | None) –
- property dest: ILRegister¶
- property detailed_operands: List[Tuple[str, LowLevelILOperationAndSize | ILRegister | ILFlag | ILIntrinsic | ILRegisterStack | int | Dict[int, int] | float | LowLevelILInstruction | Dict[RegisterStackName, int] | SSAFlag | SSARegister | SSARegisterStack | ILSemanticFlagClass | ILSemanticFlagGroup | LowLevelILFlagCondition | List[int] | List[LowLevelILInstruction] | List[ILFlag | ILRegister] | List[SSARegister] | List[SSARegisterStack] | List[SSAFlag] | List[SSARegisterOrFlag] | None, 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.
- property stack: LowLevelILInstruction¶
- class LowLevelILRegStackFreeReg(function: 'LowLevelILFunction', expr_index: binaryninja.lowlevelil.ExpressionIndex, instr: CoreLowLevelILInstruction, instr_index: binaryninja.lowlevelil.InstructionIndex | None)[source]¶
Bases:
LowLevelILInstruction
,RegisterStack
- Parameters:
function (LowLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreLowLevelILInstruction) –
instr_index (InstructionIndex | None) –
- property dest: ILRegister¶
- property detailed_operands: List[Tuple[str, LowLevelILOperationAndSize | ILRegister | ILFlag | ILIntrinsic | ILRegisterStack | int | Dict[int, int] | float | LowLevelILInstruction | Dict[RegisterStackName, int] | SSAFlag | SSARegister | SSARegisterStack | ILSemanticFlagClass | ILSemanticFlagGroup | LowLevelILFlagCondition | List[int] | List[LowLevelILInstruction] | List[ILFlag | ILRegister] | List[SSARegister] | List[SSARegisterStack] | List[SSAFlag] | List[SSARegisterOrFlag] | None, 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.
- class LowLevelILRegStackFreeRel(function: 'LowLevelILFunction', expr_index: binaryninja.lowlevelil.ExpressionIndex, instr: CoreLowLevelILInstruction, instr_index: binaryninja.lowlevelil.InstructionIndex | None)[source]¶
Bases:
LowLevelILInstruction
,RegisterStack
- Parameters:
function (LowLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreLowLevelILInstruction) –
instr_index (InstructionIndex | None) –
- property dest: LowLevelILInstruction¶
- property detailed_operands: List[Tuple[str, LowLevelILOperationAndSize | ILRegister | ILFlag | ILIntrinsic | ILRegisterStack | int | Dict[int, int] | float | LowLevelILInstruction | Dict[RegisterStackName, int] | SSAFlag | SSARegister | SSARegisterStack | ILSemanticFlagClass | ILSemanticFlagGroup | LowLevelILFlagCondition | List[int] | List[LowLevelILInstruction] | List[ILFlag | ILRegister] | List[SSARegister] | List[SSARegisterStack] | List[SSAFlag] | List[SSARegisterOrFlag] | None, 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.
- property stack: ILRegisterStack¶
- class LowLevelILRegStackFreeRelSsa(function: 'LowLevelILFunction', expr_index: binaryninja.lowlevelil.ExpressionIndex, instr: CoreLowLevelILInstruction, instr_index: binaryninja.lowlevelil.InstructionIndex | None)[source]¶
Bases:
LowLevelILInstruction
,RegisterStack
,SSA
- Parameters:
function (LowLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreLowLevelILInstruction) –
instr_index (InstructionIndex | None) –
- property dest: LowLevelILInstruction¶
- property detailed_operands: List[Tuple[str, LowLevelILOperationAndSize | ILRegister | ILFlag | ILIntrinsic | ILRegisterStack | int | Dict[int, int] | float | LowLevelILInstruction | Dict[RegisterStackName, int] | SSAFlag | SSARegister | SSARegisterStack | ILSemanticFlagClass | ILSemanticFlagGroup | LowLevelILFlagCondition | List[int] | List[LowLevelILInstruction] | List[ILFlag | ILRegister] | List[SSARegister] | List[SSARegisterStack] | List[SSAFlag] | List[SSARegisterOrFlag] | None, 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.
- property stack: LowLevelILInstruction¶
- property top: LowLevelILInstruction¶
- class LowLevelILRegStackPhi(function: 'LowLevelILFunction', expr_index: binaryninja.lowlevelil.ExpressionIndex, instr: CoreLowLevelILInstruction, instr_index: binaryninja.lowlevelil.InstructionIndex | None)[source]¶
Bases:
LowLevelILInstruction
,RegisterStack
,Phi
- Parameters:
function (LowLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreLowLevelILInstruction) –
instr_index (InstructionIndex | None) –
- property dest: SSARegisterStack¶
- property detailed_operands: List[Tuple[str, LowLevelILOperationAndSize | ILRegister | ILFlag | ILIntrinsic | ILRegisterStack | int | Dict[int, int] | float | LowLevelILInstruction | Dict[RegisterStackName, int] | SSAFlag | SSARegister | SSARegisterStack | ILSemanticFlagClass | ILSemanticFlagGroup | LowLevelILFlagCondition | List[int] | List[LowLevelILInstruction] | List[ILFlag | ILRegister] | List[SSARegister] | List[SSARegisterStack] | List[SSAFlag] | List[SSARegisterOrFlag] | None, 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.
- property src: List[SSARegisterStack]¶
- class LowLevelILRegStackPop(function: 'LowLevelILFunction', expr_index: binaryninja.lowlevelil.ExpressionIndex, instr: CoreLowLevelILInstruction, instr_index: binaryninja.lowlevelil.InstructionIndex | None)[source]¶
Bases:
LowLevelILInstruction
,RegisterStack
- Parameters:
function (LowLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreLowLevelILInstruction) –
instr_index (InstructionIndex | None) –
- property detailed_operands: List[Tuple[str, LowLevelILOperationAndSize | ILRegister | ILFlag | ILIntrinsic | ILRegisterStack | int | Dict[int, int] | float | LowLevelILInstruction | Dict[RegisterStackName, int] | SSAFlag | SSARegister | SSARegisterStack | ILSemanticFlagClass | ILSemanticFlagGroup | LowLevelILFlagCondition | List[int] | List[LowLevelILInstruction] | List[ILFlag | ILRegister] | List[SSARegister] | List[SSARegisterStack] | List[SSAFlag] | List[SSARegisterOrFlag] | None, 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.
- property stack: ILRegisterStack¶
- class LowLevelILRegStackPush(function: 'LowLevelILFunction', expr_index: binaryninja.lowlevelil.ExpressionIndex, instr: CoreLowLevelILInstruction, instr_index: binaryninja.lowlevelil.InstructionIndex | None)[source]¶
Bases:
LowLevelILInstruction
,RegisterStack
- Parameters:
function (LowLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreLowLevelILInstruction) –
instr_index (InstructionIndex | None) –
- property detailed_operands: List[Tuple[str, LowLevelILOperationAndSize | ILRegister | ILFlag | ILIntrinsic | ILRegisterStack | int | Dict[int, int] | float | LowLevelILInstruction | Dict[RegisterStackName, int] | SSAFlag | SSARegister | SSARegisterStack | ILSemanticFlagClass | ILSemanticFlagGroup | LowLevelILFlagCondition | List[int] | List[LowLevelILInstruction] | List[ILFlag | ILRegister] | List[SSARegister] | List[SSARegisterStack] | List[SSAFlag] | List[SSARegisterOrFlag] | None, 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.
- property src: LowLevelILInstruction¶
- property stack: ILRegisterStack¶
- class LowLevelILRegStackRel(function: 'LowLevelILFunction', expr_index: binaryninja.lowlevelil.ExpressionIndex, instr: CoreLowLevelILInstruction, instr_index: binaryninja.lowlevelil.InstructionIndex | None)[source]¶
Bases:
LowLevelILInstruction
,RegisterStack
- Parameters:
function (LowLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreLowLevelILInstruction) –
instr_index (InstructionIndex | None) –
- property detailed_operands: List[Tuple[str, LowLevelILOperationAndSize | ILRegister | ILFlag | ILIntrinsic | ILRegisterStack | int | Dict[int, int] | float | LowLevelILInstruction | Dict[RegisterStackName, int] | SSAFlag | SSARegister | SSARegisterStack | ILSemanticFlagClass | ILSemanticFlagGroup | LowLevelILFlagCondition | List[int] | List[LowLevelILInstruction] | List[ILFlag | ILRegister] | List[SSARegister] | List[SSARegisterStack] | List[SSAFlag] | List[SSARegisterOrFlag] | None, 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.
- property src: LowLevelILInstruction¶
- property stack: ILRegisterStack¶
- class LowLevelILRegStackRelSsa(function: 'LowLevelILFunction', expr_index: binaryninja.lowlevelil.ExpressionIndex, instr: CoreLowLevelILInstruction, instr_index: binaryninja.lowlevelil.InstructionIndex | None)[source]¶
Bases:
LowLevelILInstruction
,RegisterStack
,SSA
- Parameters:
function (LowLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreLowLevelILInstruction) –
instr_index (InstructionIndex | None) –
- property detailed_operands: List[Tuple[str, LowLevelILOperationAndSize | ILRegister | ILFlag | ILIntrinsic | ILRegisterStack | int | Dict[int, int] | float | LowLevelILInstruction | Dict[RegisterStackName, int] | SSAFlag | SSARegister | SSARegisterStack | ILSemanticFlagClass | ILSemanticFlagGroup | LowLevelILFlagCondition | List[int] | List[LowLevelILInstruction] | List[ILFlag | ILRegister] | List[SSARegister] | List[SSARegisterStack] | List[SSAFlag] | List[SSARegisterOrFlag] | None, 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.
- property src: LowLevelILInstruction¶
- property stack: SSARegisterStack¶
- property top: LowLevelILInstruction¶
- class LowLevelILRet(function: 'LowLevelILFunction', expr_index: binaryninja.lowlevelil.ExpressionIndex, instr: CoreLowLevelILInstruction, instr_index: binaryninja.lowlevelil.InstructionIndex | None)[source]¶
Bases:
LowLevelILInstruction
,Return
- Parameters:
function (LowLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreLowLevelILInstruction) –
instr_index (InstructionIndex | None) –
- property dest: LowLevelILInstruction¶
- property detailed_operands: List[Tuple[str, LowLevelILOperationAndSize | ILRegister | ILFlag | ILIntrinsic | ILRegisterStack | int | Dict[int, int] | float | LowLevelILInstruction | Dict[RegisterStackName, int] | SSAFlag | SSARegister | SSARegisterStack | ILSemanticFlagClass | ILSemanticFlagGroup | LowLevelILFlagCondition | List[int] | List[LowLevelILInstruction] | List[ILFlag | ILRegister] | List[SSARegister] | List[SSARegisterStack] | List[SSAFlag] | List[SSARegisterOrFlag] | None, 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.
- class LowLevelILRlc(function: 'LowLevelILFunction', expr_index: binaryninja.lowlevelil.ExpressionIndex, instr: CoreLowLevelILInstruction, instr_index: binaryninja.lowlevelil.InstructionIndex | None)[source]¶
Bases:
LowLevelILCarryBase
- Parameters:
function (LowLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreLowLevelILInstruction) –
instr_index (InstructionIndex | None) –
- class LowLevelILRol(function: 'LowLevelILFunction', expr_index: binaryninja.lowlevelil.ExpressionIndex, instr: CoreLowLevelILInstruction, instr_index: binaryninja.lowlevelil.InstructionIndex | None)[source]¶
Bases:
LowLevelILBinaryBase
,Arithmetic
- Parameters:
function (LowLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreLowLevelILInstruction) –
instr_index (InstructionIndex | None) –
- class LowLevelILRor(function: 'LowLevelILFunction', expr_index: binaryninja.lowlevelil.ExpressionIndex, instr: CoreLowLevelILInstruction, instr_index: binaryninja.lowlevelil.InstructionIndex | None)[source]¶
Bases:
LowLevelILBinaryBase
,Arithmetic
- Parameters:
function (LowLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreLowLevelILInstruction) –
instr_index (InstructionIndex | None) –
- class LowLevelILRoundToInt(function: 'LowLevelILFunction', expr_index: binaryninja.lowlevelil.ExpressionIndex, instr: CoreLowLevelILInstruction, instr_index: binaryninja.lowlevelil.InstructionIndex | None)[source]¶
Bases:
LowLevelILInstruction
,FloatingPoint
,Arithmetic
- Parameters:
function (LowLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreLowLevelILInstruction) –
instr_index (InstructionIndex | None) –
- property detailed_operands: List[Tuple[str, LowLevelILOperationAndSize | ILRegister | ILFlag | ILIntrinsic | ILRegisterStack | int | Dict[int, int] | float | LowLevelILInstruction | Dict[RegisterStackName, int] | SSAFlag | SSARegister | SSARegisterStack | ILSemanticFlagClass | ILSemanticFlagGroup | LowLevelILFlagCondition | List[int] | List[LowLevelILInstruction] | List[ILFlag | ILRegister] | List[SSARegister] | List[SSARegisterStack] | List[SSAFlag] | List[SSARegisterOrFlag] | None, 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.
- property src: LowLevelILInstruction¶
- class LowLevelILRrc(function: 'LowLevelILFunction', expr_index: binaryninja.lowlevelil.ExpressionIndex, instr: CoreLowLevelILInstruction, instr_index: binaryninja.lowlevelil.InstructionIndex | None)[source]¶
Bases:
LowLevelILCarryBase
- Parameters:
function (LowLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreLowLevelILInstruction) –
instr_index (InstructionIndex | None) –
- class LowLevelILSbb(function: 'LowLevelILFunction', expr_index: binaryninja.lowlevelil.ExpressionIndex, instr: CoreLowLevelILInstruction, instr_index: binaryninja.lowlevelil.InstructionIndex | None)[source]¶
Bases:
LowLevelILCarryBase
- Parameters:
function (LowLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreLowLevelILInstruction) –
instr_index (InstructionIndex | None) –
- class LowLevelILSeparateParamListSsa(function: 'LowLevelILFunction', expr_index: binaryninja.lowlevelil.ExpressionIndex, instr: CoreLowLevelILInstruction, instr_index: binaryninja.lowlevelil.InstructionIndex | None)[source]¶
Bases:
LowLevelILInstruction
,SSA
- Parameters:
function (LowLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreLowLevelILInstruction) –
instr_index (InstructionIndex | None) –
- property detailed_operands: List[Tuple[str, LowLevelILOperationAndSize | ILRegister | ILFlag | ILIntrinsic | ILRegisterStack | int | Dict[int, int] | float | LowLevelILInstruction | Dict[RegisterStackName, int] | SSAFlag | SSARegister | SSARegisterStack | ILSemanticFlagClass | ILSemanticFlagGroup | LowLevelILFlagCondition | List[int] | List[LowLevelILInstruction] | List[ILFlag | ILRegister] | List[SSARegister] | List[SSARegisterStack] | List[SSAFlag] | List[SSARegisterOrFlag] | None, 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.
- property src: List[LowLevelILInstruction]¶
- class LowLevelILSetFlag(function: 'LowLevelILFunction', expr_index: binaryninja.lowlevelil.ExpressionIndex, instr: CoreLowLevelILInstruction, instr_index: binaryninja.lowlevelil.InstructionIndex | None)[source]¶
Bases:
LowLevelILInstruction
- Parameters:
function (LowLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreLowLevelILInstruction) –
instr_index (InstructionIndex | None) –
- property detailed_operands: List[Tuple[str, LowLevelILOperationAndSize | ILRegister | ILFlag | ILIntrinsic | ILRegisterStack | int | Dict[int, int] | float | LowLevelILInstruction | Dict[RegisterStackName, int] | SSAFlag | SSARegister | SSARegisterStack | ILSemanticFlagClass | ILSemanticFlagGroup | LowLevelILFlagCondition | List[int] | List[LowLevelILInstruction] | List[ILFlag | ILRegister] | List[SSARegister] | List[SSARegisterStack] | List[SSAFlag] | List[SSARegisterOrFlag] | None, 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.
- property src: LowLevelILInstruction¶
- class LowLevelILSetFlagSsa(function: 'LowLevelILFunction', expr_index: binaryninja.lowlevelil.ExpressionIndex, instr: CoreLowLevelILInstruction, instr_index: binaryninja.lowlevelil.InstructionIndex | None)[source]¶
Bases:
LowLevelILInstruction
,SSA
- Parameters:
function (LowLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreLowLevelILInstruction) –
instr_index (InstructionIndex | None) –
- property detailed_operands: List[Tuple[str, LowLevelILOperationAndSize | ILRegister | ILFlag | ILIntrinsic | ILRegisterStack | int | Dict[int, int] | float | LowLevelILInstruction | Dict[RegisterStackName, int] | SSAFlag | SSARegister | SSARegisterStack | ILSemanticFlagClass | ILSemanticFlagGroup | LowLevelILFlagCondition | List[int] | List[LowLevelILInstruction] | List[ILFlag | ILRegister] | List[SSARegister] | List[SSARegisterStack] | List[SSAFlag] | List[SSARegisterOrFlag] | None, 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.
- property src: LowLevelILInstruction¶
- class LowLevelILSetReg(function: 'LowLevelILFunction', expr_index: binaryninja.lowlevelil.ExpressionIndex, instr: CoreLowLevelILInstruction, instr_index: binaryninja.lowlevelil.InstructionIndex | None)[source]¶
Bases:
LowLevelILInstruction
,SetReg
- Parameters:
function (LowLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreLowLevelILInstruction) –
instr_index (InstructionIndex | None) –
- property dest: ILRegister¶
- property detailed_operands: List[Tuple[str, LowLevelILOperationAndSize | ILRegister | ILFlag | ILIntrinsic | ILRegisterStack | int | Dict[int, int] | float | LowLevelILInstruction | Dict[RegisterStackName, int] | SSAFlag | SSARegister | SSARegisterStack | ILSemanticFlagClass | ILSemanticFlagGroup | LowLevelILFlagCondition | List[int] | List[LowLevelILInstruction] | List[ILFlag | ILRegister] | List[SSARegister] | List[SSARegisterStack] | List[SSAFlag] | List[SSARegisterOrFlag] | None, 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.
- property src: LowLevelILInstruction¶
- class LowLevelILSetRegSplit(function: 'LowLevelILFunction', expr_index: binaryninja.lowlevelil.ExpressionIndex, instr: CoreLowLevelILInstruction, instr_index: binaryninja.lowlevelil.InstructionIndex | None)[source]¶
Bases:
LowLevelILInstruction
,SetReg
- Parameters:
function (LowLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreLowLevelILInstruction) –
instr_index (InstructionIndex | None) –
- property detailed_operands: List[Tuple[str, LowLevelILOperationAndSize | ILRegister | ILFlag | ILIntrinsic | ILRegisterStack | int | Dict[int, int] | float | LowLevelILInstruction | Dict[RegisterStackName, int] | SSAFlag | SSARegister | SSARegisterStack | ILSemanticFlagClass | ILSemanticFlagGroup | LowLevelILFlagCondition | List[int] | List[LowLevelILInstruction] | List[ILFlag | ILRegister] | List[SSARegister] | List[SSARegisterStack] | List[SSAFlag] | List[SSARegisterOrFlag] | None, 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.
- property hi: ILRegister¶
- property lo: ILRegister¶
- property src: LowLevelILInstruction¶
- class LowLevelILSetRegSplitSsa(function: 'LowLevelILFunction', expr_index: binaryninja.lowlevelil.ExpressionIndex, instr: CoreLowLevelILInstruction, instr_index: binaryninja.lowlevelil.InstructionIndex | None)[source]¶
Bases:
LowLevelILInstruction
,SetReg
,SSA
- Parameters:
function (LowLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreLowLevelILInstruction) –
instr_index (InstructionIndex | None) –
- property detailed_operands: List[Tuple[str, LowLevelILOperationAndSize | ILRegister | ILFlag | ILIntrinsic | ILRegisterStack | int | Dict[int, int] | float | LowLevelILInstruction | Dict[RegisterStackName, int] | SSAFlag | SSARegister | SSARegisterStack | ILSemanticFlagClass | ILSemanticFlagGroup | LowLevelILFlagCondition | List[int] | List[LowLevelILInstruction] | List[ILFlag | ILRegister] | List[SSARegister] | List[SSARegisterStack] | List[SSAFlag] | List[SSARegisterOrFlag] | None, 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.
- property hi: LowLevelILInstruction¶
- property lo: LowLevelILInstruction¶
- property src: LowLevelILInstruction¶
- class LowLevelILSetRegSsa(function: 'LowLevelILFunction', expr_index: binaryninja.lowlevelil.ExpressionIndex, instr: CoreLowLevelILInstruction, instr_index: binaryninja.lowlevelil.InstructionIndex | None)[source]¶
Bases:
LowLevelILInstruction
,SetReg
,SSA
- Parameters:
function (LowLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreLowLevelILInstruction) –
instr_index (InstructionIndex | None) –
- property dest: SSARegister¶
- property detailed_operands: List[Tuple[str, LowLevelILOperationAndSize | ILRegister | ILFlag | ILIntrinsic | ILRegisterStack | int | Dict[int, int] | float | LowLevelILInstruction | Dict[RegisterStackName, int] | SSAFlag | SSARegister | SSARegisterStack | ILSemanticFlagClass | ILSemanticFlagGroup | LowLevelILFlagCondition | List[int] | List[LowLevelILInstruction] | List[ILFlag | ILRegister] | List[SSARegister] | List[SSARegisterStack] | List[SSAFlag] | List[SSARegisterOrFlag] | None, 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.
- property src: LowLevelILInstruction¶
- class LowLevelILSetRegSsaPartial(function: 'LowLevelILFunction', expr_index: binaryninja.lowlevelil.ExpressionIndex, instr: CoreLowLevelILInstruction, instr_index: binaryninja.lowlevelil.InstructionIndex | None)[source]¶
Bases:
LowLevelILInstruction
,SetReg
,SSA
- Parameters:
function (LowLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreLowLevelILInstruction) –
instr_index (InstructionIndex | None) –
- property dest: ILRegister¶
- property detailed_operands: List[Tuple[str, LowLevelILOperationAndSize | ILRegister | ILFlag | ILIntrinsic | ILRegisterStack | int | Dict[int, int] | float | LowLevelILInstruction | Dict[RegisterStackName, int] | SSAFlag | SSARegister | SSARegisterStack | ILSemanticFlagClass | ILSemanticFlagGroup | LowLevelILFlagCondition | List[int] | List[LowLevelILInstruction] | List[ILFlag | ILRegister] | List[SSARegister] | List[SSARegisterStack] | List[SSAFlag] | List[SSARegisterOrFlag] | None, 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.
- property full_reg: SSARegister¶
- property src: LowLevelILInstruction¶
- class LowLevelILSetRegStackAbsSsa(function: 'LowLevelILFunction', expr_index: binaryninja.lowlevelil.ExpressionIndex, instr: CoreLowLevelILInstruction, instr_index: binaryninja.lowlevelil.InstructionIndex | None)[source]¶
Bases:
LowLevelILInstruction
,RegisterStack
,SSA
- Parameters:
function (LowLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreLowLevelILInstruction) –
instr_index (InstructionIndex | None) –
- property dest: ILRegister¶
- property detailed_operands: List[Tuple[str, LowLevelILOperationAndSize | ILRegister | ILFlag | ILIntrinsic | ILRegisterStack | int | Dict[int, int] | float | LowLevelILInstruction | Dict[RegisterStackName, int] | SSAFlag | SSARegister | SSARegisterStack | ILSemanticFlagClass | ILSemanticFlagGroup | LowLevelILFlagCondition | List[int] | List[LowLevelILInstruction] | List[ILFlag | ILRegister] | List[SSARegister] | List[SSARegisterStack] | List[SSAFlag] | List[SSARegisterOrFlag] | None, 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.
- property src: LowLevelILInstruction¶
- property stack: LowLevelILInstruction¶
- class LowLevelILSetRegStackRel(function: 'LowLevelILFunction', expr_index: binaryninja.lowlevelil.ExpressionIndex, instr: CoreLowLevelILInstruction, instr_index: binaryninja.lowlevelil.InstructionIndex | None)[source]¶
Bases:
LowLevelILInstruction
,RegisterStack
- Parameters:
function (LowLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreLowLevelILInstruction) –
instr_index (InstructionIndex | None) –
- property dest: LowLevelILInstruction¶
- property detailed_operands: List[Tuple[str, LowLevelILOperationAndSize | ILRegister | ILFlag | ILIntrinsic | ILRegisterStack | int | Dict[int, int] | float | LowLevelILInstruction | Dict[RegisterStackName, int] | SSAFlag | SSARegister | SSARegisterStack | ILSemanticFlagClass | ILSemanticFlagGroup | LowLevelILFlagCondition | List[int] | List[LowLevelILInstruction] | List[ILFlag | ILRegister] | List[SSARegister] | List[SSARegisterStack] | List[SSAFlag] | List[SSARegisterOrFlag] | None, 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.
- property src: LowLevelILInstruction¶
- property stack: ILRegisterStack¶
- class LowLevelILSetRegStackRelSsa(function: 'LowLevelILFunction', expr_index: binaryninja.lowlevelil.ExpressionIndex, instr: CoreLowLevelILInstruction, instr_index: binaryninja.lowlevelil.InstructionIndex | None)[source]¶
Bases:
LowLevelILInstruction
,RegisterStack
,SSA
- Parameters:
function (LowLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreLowLevelILInstruction) –
instr_index (InstructionIndex | None) –
- property dest: LowLevelILInstruction¶
- property detailed_operands: List[Tuple[str, LowLevelILOperationAndSize | ILRegister | ILFlag | ILIntrinsic | ILRegisterStack | int | Dict[int, int] | float | LowLevelILInstruction | Dict[RegisterStackName, int] | SSAFlag | SSARegister | SSARegisterStack | ILSemanticFlagClass | ILSemanticFlagGroup | LowLevelILFlagCondition | List[int] | List[LowLevelILInstruction] | List[ILFlag | ILRegister] | List[SSARegister] | List[SSARegisterStack] | List[SSAFlag] | List[SSARegisterOrFlag] | None, 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.
- property src: LowLevelILInstruction¶
- property stack: LowLevelILInstruction¶
- property top: LowLevelILInstruction¶
Bases:
LowLevelILInstruction
,SSA
- Parameters:
function (LowLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreLowLevelILInstruction) –
instr_index (InstructionIndex | None) –
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.
- class LowLevelILStore(function: 'LowLevelILFunction', expr_index: binaryninja.lowlevelil.ExpressionIndex, instr: CoreLowLevelILInstruction, instr_index: binaryninja.lowlevelil.InstructionIndex | None)[source]¶
Bases:
LowLevelILInstruction
,Store
- Parameters:
function (LowLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreLowLevelILInstruction) –
instr_index (InstructionIndex | None) –
- property dest: LowLevelILInstruction¶
- property detailed_operands: List[Tuple[str, LowLevelILOperationAndSize | ILRegister | ILFlag | ILIntrinsic | ILRegisterStack | int | Dict[int, int] | float | LowLevelILInstruction | Dict[RegisterStackName, int] | SSAFlag | SSARegister | SSARegisterStack | ILSemanticFlagClass | ILSemanticFlagGroup | LowLevelILFlagCondition | List[int] | List[LowLevelILInstruction] | List[ILFlag | ILRegister] | List[SSARegister] | List[SSARegisterStack] | List[SSAFlag] | List[SSARegisterOrFlag] | None, 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.
- property src: LowLevelILInstruction¶
- class LowLevelILStoreSsa(function: 'LowLevelILFunction', expr_index: binaryninja.lowlevelil.ExpressionIndex, instr: CoreLowLevelILInstruction, instr_index: binaryninja.lowlevelil.InstructionIndex | None)[source]¶
Bases:
LowLevelILInstruction
,Store
,SSA
- Parameters:
function (LowLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreLowLevelILInstruction) –
instr_index (InstructionIndex | None) –
- property dest: LowLevelILInstruction¶
- property detailed_operands: List[Tuple[str, LowLevelILOperationAndSize | ILRegister | ILFlag | ILIntrinsic | ILRegisterStack | int | Dict[int, int] | float | LowLevelILInstruction | Dict[RegisterStackName, int] | SSAFlag | SSARegister | SSARegisterStack | ILSemanticFlagClass | ILSemanticFlagGroup | LowLevelILFlagCondition | List[int] | List[LowLevelILInstruction] | List[ILFlag | ILRegister] | List[SSARegister] | List[SSARegisterStack] | List[SSAFlag] | List[SSARegisterOrFlag] | None, 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.
- property src: LowLevelILInstruction¶
- class LowLevelILSub(function: 'LowLevelILFunction', expr_index: binaryninja.lowlevelil.ExpressionIndex, instr: CoreLowLevelILInstruction, instr_index: binaryninja.lowlevelil.InstructionIndex | None)[source]¶
Bases:
LowLevelILBinaryBase
,Arithmetic
- Parameters:
function (LowLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreLowLevelILInstruction) –
instr_index (InstructionIndex | None) –
- class LowLevelILSx(function: 'LowLevelILFunction', expr_index: binaryninja.lowlevelil.ExpressionIndex, instr: CoreLowLevelILInstruction, instr_index: binaryninja.lowlevelil.InstructionIndex | None)[source]¶
Bases:
LowLevelILUnaryBase
,Arithmetic
- Parameters:
function (LowLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreLowLevelILInstruction) –
instr_index (InstructionIndex | None) –
- class LowLevelILSyscall(function: 'LowLevelILFunction', expr_index: binaryninja.lowlevelil.ExpressionIndex, instr: CoreLowLevelILInstruction, instr_index: binaryninja.lowlevelil.InstructionIndex | None)[source]¶
Bases:
LowLevelILInstruction
,Syscall
- Parameters:
function (LowLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreLowLevelILInstruction) –
instr_index (InstructionIndex | None) –
- class LowLevelILSyscallSsa(function: 'LowLevelILFunction', expr_index: binaryninja.lowlevelil.ExpressionIndex, instr: CoreLowLevelILInstruction, instr_index: binaryninja.lowlevelil.InstructionIndex | None)[source]¶
Bases:
LowLevelILInstruction
,Syscall
,SSA
- Parameters:
function (LowLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreLowLevelILInstruction) –
instr_index (InstructionIndex | None) –
- property detailed_operands: List[Tuple[str, LowLevelILOperationAndSize | ILRegister | ILFlag | ILIntrinsic | ILRegisterStack | int | Dict[int, int] | float | LowLevelILInstruction | Dict[RegisterStackName, int] | SSAFlag | SSARegister | SSARegisterStack | ILSemanticFlagClass | ILSemanticFlagGroup | LowLevelILFlagCondition | List[int] | List[LowLevelILInstruction] | List[ILFlag | ILRegister] | List[SSARegister] | List[SSARegisterStack] | List[SSAFlag] | List[SSARegisterOrFlag] | None, 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.
- property output: List[SSARegister]¶
- property param: LowLevelILCallParam¶
- property params: List[LowLevelILInstruction]¶
- property stack: LowLevelILCallStackSsa¶
- property stack_reg: SSARegister¶
- class LowLevelILTailcall(function: 'LowLevelILFunction', expr_index: binaryninja.lowlevelil.ExpressionIndex, instr: CoreLowLevelILInstruction, instr_index: binaryninja.lowlevelil.InstructionIndex | None)[source]¶
Bases:
LowLevelILInstruction
,Tailcall
- Parameters:
function (LowLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreLowLevelILInstruction) –
instr_index (InstructionIndex | None) –
- property dest: LowLevelILInstruction¶
- property detailed_operands: List[Tuple[str, LowLevelILOperationAndSize | ILRegister | ILFlag | ILIntrinsic | ILRegisterStack | int | Dict[int, int] | float | LowLevelILInstruction | Dict[RegisterStackName, int] | SSAFlag | SSARegister | SSARegisterStack | ILSemanticFlagClass | ILSemanticFlagGroup | LowLevelILFlagCondition | List[int] | List[LowLevelILInstruction] | List[ILFlag | ILRegister] | List[SSARegister] | List[SSARegisterStack] | List[SSAFlag] | List[SSARegisterOrFlag] | None, 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.
- class LowLevelILTailcallSsa(function: 'LowLevelILFunction', expr_index: binaryninja.lowlevelil.ExpressionIndex, instr: CoreLowLevelILInstruction, instr_index: binaryninja.lowlevelil.InstructionIndex | None)[source]¶
Bases:
LowLevelILInstruction
,Tailcall
,SSA
,Terminal
- Parameters:
function (LowLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreLowLevelILInstruction) –
instr_index (InstructionIndex | None) –
- property dest: LowLevelILInstruction¶
- property detailed_operands: List[Tuple[str, LowLevelILOperationAndSize | ILRegister | ILFlag | ILIntrinsic | ILRegisterStack | int | Dict[int, int] | float | LowLevelILInstruction | Dict[RegisterStackName, int] | SSAFlag | SSARegister | SSARegisterStack | ILSemanticFlagClass | ILSemanticFlagGroup | LowLevelILFlagCondition | List[int] | List[LowLevelILInstruction] | List[ILFlag | ILRegister] | List[SSARegister] | List[SSARegisterStack] | List[SSAFlag] | List[SSARegisterOrFlag] | None, 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.
- property output: List[SSARegister]¶
- property param: LowLevelILCallParam¶
- property params: List[LowLevelILInstruction]¶
- property stack: LowLevelILInstruction¶
- class LowLevelILTestBit(function: 'LowLevelILFunction', expr_index: binaryninja.lowlevelil.ExpressionIndex, instr: CoreLowLevelILInstruction, instr_index: binaryninja.lowlevelil.InstructionIndex | None)[source]¶
Bases:
LowLevelILBinaryBase
,Arithmetic
,FloatingPoint
- Parameters:
function (LowLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreLowLevelILInstruction) –
instr_index (InstructionIndex | None) –
- class LowLevelILTrap(function: 'LowLevelILFunction', expr_index: binaryninja.lowlevelil.ExpressionIndex, instr: CoreLowLevelILInstruction, instr_index: binaryninja.lowlevelil.InstructionIndex | None)[source]¶
Bases:
LowLevelILInstruction
,Terminal
- Parameters:
function (LowLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreLowLevelILInstruction) –
instr_index (InstructionIndex | None) –
- property detailed_operands: List[Tuple[str, LowLevelILOperationAndSize | ILRegister | ILFlag | ILIntrinsic | ILRegisterStack | int | Dict[int, int] | float | LowLevelILInstruction | Dict[RegisterStackName, int] | SSAFlag | SSARegister | SSARegisterStack | ILSemanticFlagClass | ILSemanticFlagGroup | LowLevelILFlagCondition | List[int] | List[LowLevelILInstruction] | List[ILFlag | ILRegister] | List[SSARegister] | List[SSARegisterStack] | List[SSAFlag] | List[SSARegisterOrFlag] | None, 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.
- class LowLevelILUnaryBase(function: 'LowLevelILFunction', expr_index: binaryninja.lowlevelil.ExpressionIndex, instr: CoreLowLevelILInstruction, instr_index: binaryninja.lowlevelil.InstructionIndex | None)[source]¶
Bases:
LowLevelILInstruction
,UnaryOperation
- Parameters:
function (LowLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreLowLevelILInstruction) –
instr_index (InstructionIndex | None) –
- property detailed_operands: List[Tuple[str, LowLevelILOperationAndSize | ILRegister | ILFlag | ILIntrinsic | ILRegisterStack | int | Dict[int, int] | float | LowLevelILInstruction | Dict[RegisterStackName, int] | SSAFlag | SSARegister | SSARegisterStack | ILSemanticFlagClass | ILSemanticFlagGroup | LowLevelILFlagCondition | List[int] | List[LowLevelILInstruction] | List[ILFlag | ILRegister] | List[SSARegister] | List[SSARegisterStack] | List[SSAFlag] | List[SSARegisterOrFlag] | None, 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.
- property src: LowLevelILInstruction¶
- class LowLevelILUndef(function: 'LowLevelILFunction', expr_index: binaryninja.lowlevelil.ExpressionIndex, instr: CoreLowLevelILInstruction, instr_index: binaryninja.lowlevelil.InstructionIndex | None)[source]¶
Bases:
LowLevelILInstruction
,Terminal
- Parameters:
function (LowLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreLowLevelILInstruction) –
instr_index (InstructionIndex | None) –
- class LowLevelILUnimpl(function: 'LowLevelILFunction', expr_index: binaryninja.lowlevelil.ExpressionIndex, instr: CoreLowLevelILInstruction, instr_index: binaryninja.lowlevelil.InstructionIndex | None)[source]¶
Bases:
LowLevelILInstruction
- Parameters:
function (LowLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreLowLevelILInstruction) –
instr_index (InstructionIndex | None) –
- class LowLevelILUnimplMem(function: 'LowLevelILFunction', expr_index: binaryninja.lowlevelil.ExpressionIndex, instr: CoreLowLevelILInstruction, instr_index: binaryninja.lowlevelil.InstructionIndex | None)[source]¶
Bases:
LowLevelILInstruction
,Memory
- Parameters:
function (LowLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreLowLevelILInstruction) –
instr_index (InstructionIndex | None) –
- property detailed_operands: List[Tuple[str, LowLevelILOperationAndSize | ILRegister | ILFlag | ILIntrinsic | ILRegisterStack | int | Dict[int, int] | float | LowLevelILInstruction | Dict[RegisterStackName, int] | SSAFlag | SSARegister | SSARegisterStack | ILSemanticFlagClass | ILSemanticFlagGroup | LowLevelILFlagCondition | List[int] | List[LowLevelILInstruction] | List[ILFlag | ILRegister] | List[SSARegister] | List[SSARegisterStack] | List[SSAFlag] | List[SSARegisterOrFlag] | None, 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.
- property src: LowLevelILInstruction¶
- class LowLevelILXor(function: 'LowLevelILFunction', expr_index: binaryninja.lowlevelil.ExpressionIndex, instr: CoreLowLevelILInstruction, instr_index: binaryninja.lowlevelil.InstructionIndex | None)[source]¶
Bases:
LowLevelILBinaryBase
,Arithmetic
- Parameters:
function (LowLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreLowLevelILInstruction) –
instr_index (InstructionIndex | None) –
- class LowLevelILZx(function: 'LowLevelILFunction', expr_index: binaryninja.lowlevelil.ExpressionIndex, instr: CoreLowLevelILInstruction, instr_index: binaryninja.lowlevelil.InstructionIndex | None)[source]¶
Bases:
LowLevelILUnaryBase
,Arithmetic
- Parameters:
function (LowLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreLowLevelILInstruction) –
instr_index (InstructionIndex | None) –
- class SSARegister(reg: ILRegister, version: int)[source]¶
Bases:
object
- Parameters:
reg (ILRegister) –
version (int) –
- reg: ILRegister¶
- class SSARegisterOrFlag(reg_or_flag: ILRegister | ILFlag, version: int)[source]¶
Bases:
object
- Parameters:
reg_or_flag (ILRegister | ILFlag) –
version (int) –
- reg_or_flag: ILRegister | ILFlag¶
- class SSARegisterStack(reg_stack: ILRegisterStack, version: int)[source]¶
Bases:
object
- Parameters:
reg_stack (ILRegisterStack) –
version (int) –
- reg_stack: ILRegisterStack¶
- LLIL_GET_TEMP_REG_INDEX(n: ILRegister | int) int [source]¶
- Parameters:
n (ILRegister | int) –
- Return type:
- LLIL_REG_IS_TEMP(n: ILRegister | int) bool [source]¶
- Parameters:
n (ILRegister | int) –
- Return type:
- LLIL_TEMP(n: ILRegister | int) RegisterIndex [source]¶
- Parameters:
n (ILRegister | int) –
- Return type:
RegisterIndex