lowlevelil module¶
|
|
|
|
|
|
|
|
The |
|
|
|
|
|
|
|
|
|
|
|
|
|
- class CoreLowLevelILInstruction(operation: binaryninja.enums.LowLevelILOperation, attributes: int, size: int, flags: int, source_operand: <function NewType.<locals>.new_type at 0x1027ead30>, operands: Tuple[ExpressionIndex, ExpressionIndex, ExpressionIndex, 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: <function NewType.<locals>.new_type at 0x1027ead30>, instr: binaryninja.lowlevelil.CoreLowLevelILInstruction, instr_index: Optional[InstructionIndex])[source]¶
Bases:
LowLevelILCarryBase
- Parameters:
function (LowLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreLowLevelILInstruction) –
instr_index (Optional[InstructionIndex]) –
- expr_index: ExpressionIndex¶
- function: LowLevelILFunction¶
- instr: CoreLowLevelILInstruction¶
- class LowLevelILAdd(function: 'LowLevelILFunction', expr_index: <function NewType.<locals>.new_type at 0x1027ead30>, instr: binaryninja.lowlevelil.CoreLowLevelILInstruction, instr_index: Optional[InstructionIndex])[source]¶
Bases:
LowLevelILBinaryBase
,Arithmetic
- Parameters:
function (LowLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreLowLevelILInstruction) –
instr_index (Optional[InstructionIndex]) –
- expr_index: ExpressionIndex¶
- function: LowLevelILFunction¶
- instr: CoreLowLevelILInstruction¶
- class LowLevelILAddOverflow(function: 'LowLevelILFunction', expr_index: <function NewType.<locals>.new_type at 0x1027ead30>, instr: binaryninja.lowlevelil.CoreLowLevelILInstruction, instr_index: Optional[InstructionIndex])[source]¶
Bases:
LowLevelILBinaryBase
,Arithmetic
- Parameters:
function (LowLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreLowLevelILInstruction) –
instr_index (Optional[InstructionIndex]) –
- expr_index: ExpressionIndex¶
- function: LowLevelILFunction¶
- instr: CoreLowLevelILInstruction¶
- class LowLevelILAnd(function: 'LowLevelILFunction', expr_index: <function NewType.<locals>.new_type at 0x1027ead30>, instr: binaryninja.lowlevelil.CoreLowLevelILInstruction, instr_index: Optional[InstructionIndex])[source]¶
Bases:
LowLevelILBinaryBase
,Arithmetic
- Parameters:
function (LowLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreLowLevelILInstruction) –
instr_index (Optional[InstructionIndex]) –
- expr_index: ExpressionIndex¶
- function: LowLevelILFunction¶
- instr: CoreLowLevelILInstruction¶
- class LowLevelILAsr(function: 'LowLevelILFunction', expr_index: <function NewType.<locals>.new_type at 0x1027ead30>, instr: binaryninja.lowlevelil.CoreLowLevelILInstruction, instr_index: Optional[InstructionIndex])[source]¶
Bases:
LowLevelILBinaryBase
,Arithmetic
- Parameters:
function (LowLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreLowLevelILInstruction) –
instr_index (Optional[InstructionIndex]) –
- expr_index: ExpressionIndex¶
- function: LowLevelILFunction¶
- instr: CoreLowLevelILInstruction¶
- class LowLevelILBasicBlock(handle: LP_BNBasicBlock, owner: LowLevelILFunction, view: Optional[BinaryView])[source]¶
Bases:
BasicBlock
The
LogLevelILBasicBlock
object is returned during analysis and should not be directly instantiated.- Parameters:
handle (LP_BNBasicBlock) –
owner (LowLevelILFunction) –
view (Optional[BinaryView]) –
- property il_function: LowLevelILFunction¶
- class LowLevelILBinaryBase(function: 'LowLevelILFunction', expr_index: <function NewType.<locals>.new_type at 0x1027ead30>, instr: binaryninja.lowlevelil.CoreLowLevelILInstruction, instr_index: Optional[InstructionIndex])[source]¶
Bases:
LowLevelILInstruction
,BinaryOperation
- Parameters:
function (LowLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreLowLevelILInstruction) –
instr_index (Optional[InstructionIndex]) –
- property detailed_operands: List[Tuple[str, Optional[Union[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[Union[ILFlag, ILRegister]], List[SSARegister], List[SSARegisterStack], List[SSAFlag], List[SSARegisterOrFlag]]], 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¶
- instr: CoreLowLevelILInstruction¶
- property left: LowLevelILInstruction¶
- property right: LowLevelILInstruction¶
- class LowLevelILBoolToInt(function: 'LowLevelILFunction', expr_index: <function NewType.<locals>.new_type at 0x1027ead30>, instr: binaryninja.lowlevelil.CoreLowLevelILInstruction, instr_index: Optional[InstructionIndex])[source]¶
Bases:
LowLevelILInstruction
- Parameters:
function (LowLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreLowLevelILInstruction) –
instr_index (Optional[InstructionIndex]) –
- property detailed_operands: List[Tuple[str, Optional[Union[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[Union[ILFlag, ILRegister]], List[SSARegister], List[SSARegisterStack], List[SSAFlag], List[SSARegisterOrFlag]]], 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¶
- instr: CoreLowLevelILInstruction¶
- property src: LowLevelILInstruction¶
- class LowLevelILBp(function: 'LowLevelILFunction', expr_index: <function NewType.<locals>.new_type at 0x1027ead30>, instr: binaryninja.lowlevelil.CoreLowLevelILInstruction, instr_index: Optional[InstructionIndex])[source]¶
Bases:
LowLevelILInstruction
,Terminal
- Parameters:
function (LowLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreLowLevelILInstruction) –
instr_index (Optional[InstructionIndex]) –
- expr_index: ExpressionIndex¶
- function: LowLevelILFunction¶
- instr: CoreLowLevelILInstruction¶
- class LowLevelILCall(function: 'LowLevelILFunction', expr_index: <function NewType.<locals>.new_type at 0x1027ead30>, instr: binaryninja.lowlevelil.CoreLowLevelILInstruction, instr_index: Optional[InstructionIndex])[source]¶
Bases:
LowLevelILInstruction
,Localcall
- Parameters:
function (LowLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreLowLevelILInstruction) –
instr_index (Optional[InstructionIndex]) –
- property dest: LowLevelILInstruction¶
- property detailed_operands: List[Tuple[str, Optional[Union[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[Union[ILFlag, ILRegister]], List[SSARegister], List[SSARegisterStack], List[SSAFlag], List[SSARegisterOrFlag]]], 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¶
- instr: CoreLowLevelILInstruction¶
- class LowLevelILCallOutputSsa(function: 'LowLevelILFunction', expr_index: <function NewType.<locals>.new_type at 0x1027ead30>, instr: binaryninja.lowlevelil.CoreLowLevelILInstruction, instr_index: Optional[InstructionIndex])[source]¶
Bases:
LowLevelILInstruction
,SSA
- Parameters:
function (LowLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreLowLevelILInstruction) –
instr_index (Optional[InstructionIndex]) –
- property dest: List[SSARegister]¶
- property detailed_operands: List[Tuple[str, Optional[Union[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[Union[ILFlag, ILRegister]], List[SSARegister], List[SSARegisterStack], List[SSAFlag], List[SSARegisterOrFlag]]], 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¶
- instr: CoreLowLevelILInstruction¶
- class LowLevelILCallParam(function: 'LowLevelILFunction', expr_index: <function NewType.<locals>.new_type at 0x1027ead30>, instr: binaryninja.lowlevelil.CoreLowLevelILInstruction, instr_index: Optional[InstructionIndex])[source]¶
Bases:
LowLevelILInstruction
,SSA
- Parameters:
function (LowLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreLowLevelILInstruction) –
instr_index (Optional[InstructionIndex]) –
- property detailed_operands: List[Tuple[str, Optional[Union[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[Union[ILFlag, ILRegister]], List[SSARegister], List[SSARegisterStack], List[SSAFlag], List[SSARegisterOrFlag]]], 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¶
- instr: CoreLowLevelILInstruction¶
- property src: List[LowLevelILInstruction]¶
- class LowLevelILCallSsa(function: 'LowLevelILFunction', expr_index: <function NewType.<locals>.new_type at 0x1027ead30>, instr: binaryninja.lowlevelil.CoreLowLevelILInstruction, instr_index: Optional[InstructionIndex])[source]¶
Bases:
LowLevelILInstruction
,Localcall
,SSA
- Parameters:
function (LowLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreLowLevelILInstruction) –
instr_index (Optional[InstructionIndex]) –
- property dest: LowLevelILInstruction¶
- property detailed_operands: List[Tuple[str, Optional[Union[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[Union[ILFlag, ILRegister]], List[SSARegister], List[SSARegisterStack], List[SSAFlag], List[SSARegisterOrFlag]]], 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¶
- instr: CoreLowLevelILInstruction¶
- property output: List[SSARegister]¶
- property param: LowLevelILCallParam¶
- property params: List[LowLevelILInstruction]¶
- property stack: LowLevelILInstruction¶
- class LowLevelILCallStackAdjust(function: 'LowLevelILFunction', expr_index: <function NewType.<locals>.new_type at 0x1027ead30>, instr: binaryninja.lowlevelil.CoreLowLevelILInstruction, instr_index: Optional[InstructionIndex])[source]¶
Bases:
LowLevelILInstruction
,Localcall
- Parameters:
function (LowLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreLowLevelILInstruction) –
instr_index (Optional[InstructionIndex]) –
- property dest: LowLevelILInstruction¶
- property detailed_operands: List[Tuple[str, Optional[Union[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[Union[ILFlag, ILRegister]], List[SSARegister], List[SSARegisterStack], List[SSAFlag], List[SSARegisterOrFlag]]], 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¶
- instr: CoreLowLevelILInstruction¶
- class LowLevelILCallStackSsa(function: 'LowLevelILFunction', expr_index: <function NewType.<locals>.new_type at 0x1027ead30>, instr: binaryninja.lowlevelil.CoreLowLevelILInstruction, instr_index: Optional[InstructionIndex])[source]¶
Bases:
LowLevelILInstruction
,SSA
- Parameters:
function (LowLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreLowLevelILInstruction) –
instr_index (Optional[InstructionIndex]) –
- property detailed_operands: List[Tuple[str, Optional[Union[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[Union[ILFlag, ILRegister]], List[SSARegister], List[SSARegisterStack], List[SSAFlag], List[SSARegisterOrFlag]]], 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¶
- instr: CoreLowLevelILInstruction¶
- property src: SSARegister¶
- class LowLevelILCarryBase(function: 'LowLevelILFunction', expr_index: <function NewType.<locals>.new_type at 0x1027ead30>, instr: binaryninja.lowlevelil.CoreLowLevelILInstruction, instr_index: Optional[InstructionIndex])[source]¶
Bases:
LowLevelILInstruction
,Carry
- Parameters:
function (LowLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreLowLevelILInstruction) –
instr_index (Optional[InstructionIndex]) –
- property carry: LowLevelILInstruction¶
- property detailed_operands: List[Tuple[str, Optional[Union[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[Union[ILFlag, ILRegister]], List[SSARegister], List[SSARegisterStack], List[SSAFlag], List[SSARegisterOrFlag]]], 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¶
- instr: CoreLowLevelILInstruction¶
- property left: LowLevelILInstruction¶
- property right: LowLevelILInstruction¶
- class LowLevelILCeil(function: 'LowLevelILFunction', expr_index: <function NewType.<locals>.new_type at 0x1027ead30>, instr: binaryninja.lowlevelil.CoreLowLevelILInstruction, instr_index: Optional[InstructionIndex])[source]¶
Bases:
LowLevelILInstruction
,FloatingPoint
,Arithmetic
- Parameters:
function (LowLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreLowLevelILInstruction) –
instr_index (Optional[InstructionIndex]) –
- property detailed_operands: List[Tuple[str, Optional[Union[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[Union[ILFlag, ILRegister]], List[SSARegister], List[SSARegisterStack], List[SSAFlag], List[SSARegisterOrFlag]]], 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¶
- instr: CoreLowLevelILInstruction¶
- property src: LowLevelILInstruction¶
- class LowLevelILCmpE(function: 'LowLevelILFunction', expr_index: <function NewType.<locals>.new_type at 0x1027ead30>, instr: binaryninja.lowlevelil.CoreLowLevelILInstruction, instr_index: Optional[InstructionIndex])[source]¶
Bases:
LowLevelILComparisonBase
- Parameters:
function (LowLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreLowLevelILInstruction) –
instr_index (Optional[InstructionIndex]) –
- expr_index: ExpressionIndex¶
- function: LowLevelILFunction¶
- instr: CoreLowLevelILInstruction¶
- class LowLevelILCmpNe(function: 'LowLevelILFunction', expr_index: <function NewType.<locals>.new_type at 0x1027ead30>, instr: binaryninja.lowlevelil.CoreLowLevelILInstruction, instr_index: Optional[InstructionIndex])[source]¶
Bases:
LowLevelILComparisonBase
- Parameters:
function (LowLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreLowLevelILInstruction) –
instr_index (Optional[InstructionIndex]) –
- expr_index: ExpressionIndex¶
- function: LowLevelILFunction¶
- instr: CoreLowLevelILInstruction¶
- class LowLevelILCmpSge(function: 'LowLevelILFunction', expr_index: <function NewType.<locals>.new_type at 0x1027ead30>, instr: binaryninja.lowlevelil.CoreLowLevelILInstruction, instr_index: Optional[InstructionIndex])[source]¶
Bases:
LowLevelILComparisonBase
,Signed
- Parameters:
function (LowLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreLowLevelILInstruction) –
instr_index (Optional[InstructionIndex]) –
- expr_index: ExpressionIndex¶
- function: LowLevelILFunction¶
- instr: CoreLowLevelILInstruction¶
- class LowLevelILCmpSgt(function: 'LowLevelILFunction', expr_index: <function NewType.<locals>.new_type at 0x1027ead30>, instr: binaryninja.lowlevelil.CoreLowLevelILInstruction, instr_index: Optional[InstructionIndex])[source]¶
Bases:
LowLevelILComparisonBase
,Signed
- Parameters:
function (LowLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreLowLevelILInstruction) –
instr_index (Optional[InstructionIndex]) –
- expr_index: ExpressionIndex¶
- function: LowLevelILFunction¶
- instr: CoreLowLevelILInstruction¶
- class LowLevelILCmpSle(function: 'LowLevelILFunction', expr_index: <function NewType.<locals>.new_type at 0x1027ead30>, instr: binaryninja.lowlevelil.CoreLowLevelILInstruction, instr_index: Optional[InstructionIndex])[source]¶
Bases:
LowLevelILComparisonBase
,Signed
- Parameters:
function (LowLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreLowLevelILInstruction) –
instr_index (Optional[InstructionIndex]) –
- expr_index: ExpressionIndex¶
- function: LowLevelILFunction¶
- instr: CoreLowLevelILInstruction¶
- class LowLevelILCmpSlt(function: 'LowLevelILFunction', expr_index: <function NewType.<locals>.new_type at 0x1027ead30>, instr: binaryninja.lowlevelil.CoreLowLevelILInstruction, instr_index: Optional[InstructionIndex])[source]¶
Bases:
LowLevelILComparisonBase
,Signed
- Parameters:
function (LowLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreLowLevelILInstruction) –
instr_index (Optional[InstructionIndex]) –
- expr_index: ExpressionIndex¶
- function: LowLevelILFunction¶
- instr: CoreLowLevelILInstruction¶
- class LowLevelILCmpUge(function: 'LowLevelILFunction', expr_index: <function NewType.<locals>.new_type at 0x1027ead30>, instr: binaryninja.lowlevelil.CoreLowLevelILInstruction, instr_index: Optional[InstructionIndex])[source]¶
Bases:
LowLevelILComparisonBase
- Parameters:
function (LowLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreLowLevelILInstruction) –
instr_index (Optional[InstructionIndex]) –
- expr_index: ExpressionIndex¶
- function: LowLevelILFunction¶
- instr: CoreLowLevelILInstruction¶
- class LowLevelILCmpUgt(function: 'LowLevelILFunction', expr_index: <function NewType.<locals>.new_type at 0x1027ead30>, instr: binaryninja.lowlevelil.CoreLowLevelILInstruction, instr_index: Optional[InstructionIndex])[source]¶
Bases:
LowLevelILComparisonBase
- Parameters:
function (LowLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreLowLevelILInstruction) –
instr_index (Optional[InstructionIndex]) –
- expr_index: ExpressionIndex¶
- function: LowLevelILFunction¶
- instr: CoreLowLevelILInstruction¶
- class LowLevelILCmpUle(function: 'LowLevelILFunction', expr_index: <function NewType.<locals>.new_type at 0x1027ead30>, instr: binaryninja.lowlevelil.CoreLowLevelILInstruction, instr_index: Optional[InstructionIndex])[source]¶
Bases:
LowLevelILComparisonBase
- Parameters:
function (LowLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreLowLevelILInstruction) –
instr_index (Optional[InstructionIndex]) –
- expr_index: ExpressionIndex¶
- function: LowLevelILFunction¶
- instr: CoreLowLevelILInstruction¶
- class LowLevelILCmpUlt(function: 'LowLevelILFunction', expr_index: <function NewType.<locals>.new_type at 0x1027ead30>, instr: binaryninja.lowlevelil.CoreLowLevelILInstruction, instr_index: Optional[InstructionIndex])[source]¶
Bases:
LowLevelILComparisonBase
- Parameters:
function (LowLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreLowLevelILInstruction) –
instr_index (Optional[InstructionIndex]) –
- expr_index: ExpressionIndex¶
- function: LowLevelILFunction¶
- instr: CoreLowLevelILInstruction¶
- class LowLevelILComparisonBase(function: 'LowLevelILFunction', expr_index: <function NewType.<locals>.new_type at 0x1027ead30>, instr: binaryninja.lowlevelil.CoreLowLevelILInstruction, instr_index: Optional[InstructionIndex])[source]¶
Bases:
LowLevelILBinaryBase
,Comparison
- Parameters:
function (LowLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreLowLevelILInstruction) –
instr_index (Optional[InstructionIndex]) –
- expr_index: ExpressionIndex¶
- function: LowLevelILFunction¶
- instr: CoreLowLevelILInstruction¶
- class LowLevelILConst(function: 'LowLevelILFunction', expr_index: <function NewType.<locals>.new_type at 0x1027ead30>, instr: binaryninja.lowlevelil.CoreLowLevelILInstruction, instr_index: Optional[InstructionIndex])[source]¶
Bases:
LowLevelILConstantBase
- Parameters:
function (LowLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreLowLevelILInstruction) –
instr_index (Optional[InstructionIndex]) –
- expr_index: ExpressionIndex¶
- function: LowLevelILFunction¶
- instr: CoreLowLevelILInstruction¶
- class LowLevelILConstPtr(function: 'LowLevelILFunction', expr_index: <function NewType.<locals>.new_type at 0x1027ead30>, instr: binaryninja.lowlevelil.CoreLowLevelILInstruction, instr_index: Optional[InstructionIndex])[source]¶
Bases:
LowLevelILConstantBase
- Parameters:
function (LowLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreLowLevelILInstruction) –
instr_index (Optional[InstructionIndex]) –
- expr_index: ExpressionIndex¶
- function: LowLevelILFunction¶
- instr: CoreLowLevelILInstruction¶
- class LowLevelILConstantBase(function: 'LowLevelILFunction', expr_index: <function NewType.<locals>.new_type at 0x1027ead30>, instr: binaryninja.lowlevelil.CoreLowLevelILInstruction, instr_index: Optional[InstructionIndex])[source]¶
Bases:
LowLevelILInstruction
,Constant
- Parameters:
function (LowLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreLowLevelILInstruction) –
instr_index (Optional[InstructionIndex]) –
- property detailed_operands: List[Tuple[str, Optional[Union[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[Union[ILFlag, ILRegister]], List[SSARegister], List[SSARegisterStack], List[SSAFlag], List[SSARegisterOrFlag]]], 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¶
- instr: CoreLowLevelILInstruction¶
- class LowLevelILDivs(function: 'LowLevelILFunction', expr_index: <function NewType.<locals>.new_type at 0x1027ead30>, instr: binaryninja.lowlevelil.CoreLowLevelILInstruction, instr_index: Optional[InstructionIndex])[source]¶
Bases:
LowLevelILBinaryBase
,Arithmetic
,Signed
- Parameters:
function (LowLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreLowLevelILInstruction) –
instr_index (Optional[InstructionIndex]) –
- expr_index: ExpressionIndex¶
- function: LowLevelILFunction¶
- instr: CoreLowLevelILInstruction¶
- class LowLevelILDivsDp(function: 'LowLevelILFunction', expr_index: <function NewType.<locals>.new_type at 0x1027ead30>, instr: binaryninja.lowlevelil.CoreLowLevelILInstruction, instr_index: Optional[InstructionIndex])[source]¶
Bases:
LowLevelILBinaryBase
,DoublePrecision
,Signed
- Parameters:
function (LowLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreLowLevelILInstruction) –
instr_index (Optional[InstructionIndex]) –
- expr_index: ExpressionIndex¶
- function: LowLevelILFunction¶
- instr: CoreLowLevelILInstruction¶
- class LowLevelILDivu(function: 'LowLevelILFunction', expr_index: <function NewType.<locals>.new_type at 0x1027ead30>, instr: binaryninja.lowlevelil.CoreLowLevelILInstruction, instr_index: Optional[InstructionIndex])[source]¶
Bases:
LowLevelILBinaryBase
,Arithmetic
- Parameters:
function (LowLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreLowLevelILInstruction) –
instr_index (Optional[InstructionIndex]) –
- expr_index: ExpressionIndex¶
- function: LowLevelILFunction¶
- instr: CoreLowLevelILInstruction¶
- class LowLevelILDivuDp(function: 'LowLevelILFunction', expr_index: <function NewType.<locals>.new_type at 0x1027ead30>, instr: binaryninja.lowlevelil.CoreLowLevelILInstruction, instr_index: Optional[InstructionIndex])[source]¶
Bases:
LowLevelILBinaryBase
,DoublePrecision
- Parameters:
function (LowLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreLowLevelILInstruction) –
instr_index (Optional[InstructionIndex]) –
- expr_index: ExpressionIndex¶
- function: LowLevelILFunction¶
- instr: CoreLowLevelILInstruction¶
- 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: <function NewType.<locals>.new_type at 0x1027ead30>, instr: binaryninja.lowlevelil.CoreLowLevelILInstruction, instr_index: Optional[InstructionIndex])[source]¶
Bases:
LowLevelILConstantBase
- Parameters:
function (LowLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreLowLevelILInstruction) –
instr_index (Optional[InstructionIndex]) –
- property detailed_operands: List[Tuple[str, Optional[Union[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[Union[ILFlag, ILRegister]], List[SSARegister], List[SSARegisterStack], List[SSAFlag], List[SSARegisterOrFlag]]], 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¶
- instr: CoreLowLevelILInstruction¶
- class LowLevelILFabs(function: 'LowLevelILFunction', expr_index: <function NewType.<locals>.new_type at 0x1027ead30>, instr: binaryninja.lowlevelil.CoreLowLevelILInstruction, instr_index: Optional[InstructionIndex])[source]¶
Bases:
LowLevelILInstruction
,FloatingPoint
,Arithmetic
- Parameters:
function (LowLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreLowLevelILInstruction) –
instr_index (Optional[InstructionIndex]) –
- property detailed_operands: List[Tuple[str, Optional[Union[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[Union[ILFlag, ILRegister]], List[SSARegister], List[SSARegisterStack], List[SSAFlag], List[SSARegisterOrFlag]]], 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¶
- instr: CoreLowLevelILInstruction¶
- property src: LowLevelILInstruction¶
- class LowLevelILFadd(function: 'LowLevelILFunction', expr_index: <function NewType.<locals>.new_type at 0x1027ead30>, instr: binaryninja.lowlevelil.CoreLowLevelILInstruction, instr_index: Optional[InstructionIndex])[source]¶
Bases:
LowLevelILBinaryBase
,Arithmetic
,FloatingPoint
- Parameters:
function (LowLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreLowLevelILInstruction) –
instr_index (Optional[InstructionIndex]) –
- expr_index: ExpressionIndex¶
- function: LowLevelILFunction¶
- instr: CoreLowLevelILInstruction¶
- class LowLevelILFcmpE(function: 'LowLevelILFunction', expr_index: <function NewType.<locals>.new_type at 0x1027ead30>, instr: binaryninja.lowlevelil.CoreLowLevelILInstruction, instr_index: Optional[InstructionIndex])[source]¶
Bases:
LowLevelILComparisonBase
,FloatingPoint
- Parameters:
function (LowLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreLowLevelILInstruction) –
instr_index (Optional[InstructionIndex]) –
- expr_index: ExpressionIndex¶
- function: LowLevelILFunction¶
- instr: CoreLowLevelILInstruction¶
- class LowLevelILFcmpGe(function: 'LowLevelILFunction', expr_index: <function NewType.<locals>.new_type at 0x1027ead30>, instr: binaryninja.lowlevelil.CoreLowLevelILInstruction, instr_index: Optional[InstructionIndex])[source]¶
Bases:
LowLevelILComparisonBase
,FloatingPoint
- Parameters:
function (LowLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreLowLevelILInstruction) –
instr_index (Optional[InstructionIndex]) –
- expr_index: ExpressionIndex¶
- function: LowLevelILFunction¶
- instr: CoreLowLevelILInstruction¶
- class LowLevelILFcmpGt(function: 'LowLevelILFunction', expr_index: <function NewType.<locals>.new_type at 0x1027ead30>, instr: binaryninja.lowlevelil.CoreLowLevelILInstruction, instr_index: Optional[InstructionIndex])[source]¶
Bases:
LowLevelILComparisonBase
,FloatingPoint
- Parameters:
function (LowLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreLowLevelILInstruction) –
instr_index (Optional[InstructionIndex]) –
- expr_index: ExpressionIndex¶
- function: LowLevelILFunction¶
- instr: CoreLowLevelILInstruction¶
- class LowLevelILFcmpLe(function: 'LowLevelILFunction', expr_index: <function NewType.<locals>.new_type at 0x1027ead30>, instr: binaryninja.lowlevelil.CoreLowLevelILInstruction, instr_index: Optional[InstructionIndex])[source]¶
Bases:
LowLevelILComparisonBase
,FloatingPoint
- Parameters:
function (LowLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreLowLevelILInstruction) –
instr_index (Optional[InstructionIndex]) –
- expr_index: ExpressionIndex¶
- function: LowLevelILFunction¶
- instr: CoreLowLevelILInstruction¶
- class LowLevelILFcmpLt(function: 'LowLevelILFunction', expr_index: <function NewType.<locals>.new_type at 0x1027ead30>, instr: binaryninja.lowlevelil.CoreLowLevelILInstruction, instr_index: Optional[InstructionIndex])[source]¶
Bases:
LowLevelILComparisonBase
,FloatingPoint
- Parameters:
function (LowLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreLowLevelILInstruction) –
instr_index (Optional[InstructionIndex]) –
- expr_index: ExpressionIndex¶
- function: LowLevelILFunction¶
- instr: CoreLowLevelILInstruction¶
- class LowLevelILFcmpNe(function: 'LowLevelILFunction', expr_index: <function NewType.<locals>.new_type at 0x1027ead30>, instr: binaryninja.lowlevelil.CoreLowLevelILInstruction, instr_index: Optional[InstructionIndex])[source]¶
Bases:
LowLevelILComparisonBase
,FloatingPoint
- Parameters:
function (LowLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreLowLevelILInstruction) –
instr_index (Optional[InstructionIndex]) –
- expr_index: ExpressionIndex¶
- function: LowLevelILFunction¶
- instr: CoreLowLevelILInstruction¶
- class LowLevelILFcmpO(function: 'LowLevelILFunction', expr_index: <function NewType.<locals>.new_type at 0x1027ead30>, instr: binaryninja.lowlevelil.CoreLowLevelILInstruction, instr_index: Optional[InstructionIndex])[source]¶
Bases:
LowLevelILComparisonBase
,FloatingPoint
- Parameters:
function (LowLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreLowLevelILInstruction) –
instr_index (Optional[InstructionIndex]) –
- expr_index: ExpressionIndex¶
- function: LowLevelILFunction¶
- instr: CoreLowLevelILInstruction¶
- class LowLevelILFcmpUo(function: 'LowLevelILFunction', expr_index: <function NewType.<locals>.new_type at 0x1027ead30>, instr: binaryninja.lowlevelil.CoreLowLevelILInstruction, instr_index: Optional[InstructionIndex])[source]¶
Bases:
LowLevelILComparisonBase
,FloatingPoint
- Parameters:
function (LowLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreLowLevelILInstruction) –
instr_index (Optional[InstructionIndex]) –
- expr_index: ExpressionIndex¶
- function: LowLevelILFunction¶
- instr: CoreLowLevelILInstruction¶
- class LowLevelILFdiv(function: 'LowLevelILFunction', expr_index: <function NewType.<locals>.new_type at 0x1027ead30>, instr: binaryninja.lowlevelil.CoreLowLevelILInstruction, instr_index: Optional[InstructionIndex])[source]¶
Bases:
LowLevelILBinaryBase
,Arithmetic
,FloatingPoint
- Parameters:
function (LowLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreLowLevelILInstruction) –
instr_index (Optional[InstructionIndex]) –
- expr_index: ExpressionIndex¶
- function: LowLevelILFunction¶
- instr: CoreLowLevelILInstruction¶
- class LowLevelILFlag(function: 'LowLevelILFunction', expr_index: <function NewType.<locals>.new_type at 0x1027ead30>, instr: binaryninja.lowlevelil.CoreLowLevelILInstruction, instr_index: Optional[InstructionIndex])[source]¶
Bases:
LowLevelILInstruction
- Parameters:
function (LowLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreLowLevelILInstruction) –
instr_index (Optional[InstructionIndex]) –
- property detailed_operands: List[Tuple[str, Optional[Union[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[Union[ILFlag, ILRegister]], List[SSARegister], List[SSARegisterStack], List[SSAFlag], List[SSARegisterOrFlag]]], 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¶
- instr: CoreLowLevelILInstruction¶
- class LowLevelILFlagBit(function: 'LowLevelILFunction', expr_index: <function NewType.<locals>.new_type at 0x1027ead30>, instr: binaryninja.lowlevelil.CoreLowLevelILInstruction, instr_index: Optional[InstructionIndex])[source]¶
Bases:
LowLevelILInstruction
- Parameters:
function (LowLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreLowLevelILInstruction) –
instr_index (Optional[InstructionIndex]) –
- property detailed_operands: List[Tuple[str, Optional[Union[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[Union[ILFlag, ILRegister]], List[SSARegister], List[SSARegisterStack], List[SSAFlag], List[SSARegisterOrFlag]]], 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¶
- instr: CoreLowLevelILInstruction¶
- class LowLevelILFlagBitSsa(function: 'LowLevelILFunction', expr_index: <function NewType.<locals>.new_type at 0x1027ead30>, instr: binaryninja.lowlevelil.CoreLowLevelILInstruction, instr_index: Optional[InstructionIndex])[source]¶
Bases:
LowLevelILInstruction
,SSA
- Parameters:
function (LowLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreLowLevelILInstruction) –
instr_index (Optional[InstructionIndex]) –
- property detailed_operands: List[Tuple[str, Optional[Union[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[Union[ILFlag, ILRegister]], List[SSARegister], List[SSARegisterStack], List[SSAFlag], List[SSARegisterOrFlag]]], 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¶
- instr: CoreLowLevelILInstruction¶
- class LowLevelILFlagCond(function: 'LowLevelILFunction', expr_index: <function NewType.<locals>.new_type at 0x1027ead30>, instr: binaryninja.lowlevelil.CoreLowLevelILInstruction, instr_index: Optional[InstructionIndex])[source]¶
Bases:
LowLevelILInstruction
- Parameters:
function (LowLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreLowLevelILInstruction) –
instr_index (Optional[InstructionIndex]) –
- property condition: LowLevelILFlagCondition¶
- property detailed_operands: List[Tuple[str, Optional[Union[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[Union[ILFlag, ILRegister]], List[SSARegister], List[SSARegisterStack], List[SSAFlag], List[SSARegisterOrFlag]]], 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¶
- instr: CoreLowLevelILInstruction¶
- property semantic_class: Optional[ILSemanticFlagClass]¶
- class LowLevelILFlagGroup(function: 'LowLevelILFunction', expr_index: <function NewType.<locals>.new_type at 0x1027ead30>, instr: binaryninja.lowlevelil.CoreLowLevelILInstruction, instr_index: Optional[InstructionIndex])[source]¶
Bases:
LowLevelILInstruction
- Parameters:
function (LowLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreLowLevelILInstruction) –
instr_index (Optional[InstructionIndex]) –
- property detailed_operands: List[Tuple[str, Optional[Union[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[Union[ILFlag, ILRegister]], List[SSARegister], List[SSARegisterStack], List[SSAFlag], List[SSARegisterOrFlag]]], 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¶
- instr: CoreLowLevelILInstruction¶
- property semantic_group: ILSemanticFlagGroup¶
- class LowLevelILFlagPhi(function: 'LowLevelILFunction', expr_index: <function NewType.<locals>.new_type at 0x1027ead30>, instr: binaryninja.lowlevelil.CoreLowLevelILInstruction, instr_index: Optional[InstructionIndex])[source]¶
Bases:
LowLevelILInstruction
,Phi
- Parameters:
function (LowLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreLowLevelILInstruction) –
instr_index (Optional[InstructionIndex]) –
- property detailed_operands: List[Tuple[str, Optional[Union[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[Union[ILFlag, ILRegister]], List[SSARegister], List[SSARegisterStack], List[SSAFlag], List[SSARegisterOrFlag]]], 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¶
- instr: CoreLowLevelILInstruction¶
- class LowLevelILFlagSsa(function: 'LowLevelILFunction', expr_index: <function NewType.<locals>.new_type at 0x1027ead30>, instr: binaryninja.lowlevelil.CoreLowLevelILInstruction, instr_index: Optional[InstructionIndex])[source]¶
Bases:
LowLevelILInstruction
,SSA
- Parameters:
function (LowLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreLowLevelILInstruction) –
instr_index (Optional[InstructionIndex]) –
- property detailed_operands: List[Tuple[str, Optional[Union[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[Union[ILFlag, ILRegister]], List[SSARegister], List[SSARegisterStack], List[SSAFlag], List[SSARegisterOrFlag]]], 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¶
- instr: CoreLowLevelILInstruction¶
- class LowLevelILFloatConst(function: 'LowLevelILFunction', expr_index: <function NewType.<locals>.new_type at 0x1027ead30>, instr: binaryninja.lowlevelil.CoreLowLevelILInstruction, instr_index: Optional[InstructionIndex])[source]¶
Bases:
LowLevelILConstantBase
,FloatingPoint
- Parameters:
function (LowLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreLowLevelILInstruction) –
instr_index (Optional[InstructionIndex]) –
- property detailed_operands: List[Tuple[str, Optional[Union[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[Union[ILFlag, ILRegister]], List[SSARegister], List[SSARegisterStack], List[SSAFlag], List[SSARegisterOrFlag]]], 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¶
- instr: CoreLowLevelILInstruction¶
- class LowLevelILFloatConv(function: 'LowLevelILFunction', expr_index: <function NewType.<locals>.new_type at 0x1027ead30>, instr: binaryninja.lowlevelil.CoreLowLevelILInstruction, instr_index: Optional[InstructionIndex])[source]¶
Bases:
LowLevelILInstruction
,FloatingPoint
,Arithmetic
- Parameters:
function (LowLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreLowLevelILInstruction) –
instr_index (Optional[InstructionIndex]) –
- property detailed_operands: List[Tuple[str, Optional[Union[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[Union[ILFlag, ILRegister]], List[SSARegister], List[SSARegisterStack], List[SSAFlag], List[SSARegisterOrFlag]]], 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¶
- instr: CoreLowLevelILInstruction¶
- property src: LowLevelILInstruction¶
- class LowLevelILFloatToInt(function: 'LowLevelILFunction', expr_index: <function NewType.<locals>.new_type at 0x1027ead30>, instr: binaryninja.lowlevelil.CoreLowLevelILInstruction, instr_index: Optional[InstructionIndex])[source]¶
Bases:
LowLevelILInstruction
,FloatingPoint
,Arithmetic
- Parameters:
function (LowLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreLowLevelILInstruction) –
instr_index (Optional[InstructionIndex]) –
- property detailed_operands: List[Tuple[str, Optional[Union[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[Union[ILFlag, ILRegister]], List[SSARegister], List[SSARegisterStack], List[SSAFlag], List[SSARegisterOrFlag]]], 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¶
- instr: CoreLowLevelILInstruction¶
- property src: LowLevelILInstruction¶
- class LowLevelILFloor(function: 'LowLevelILFunction', expr_index: <function NewType.<locals>.new_type at 0x1027ead30>, instr: binaryninja.lowlevelil.CoreLowLevelILInstruction, instr_index: Optional[InstructionIndex])[source]¶
Bases:
LowLevelILInstruction
,FloatingPoint
,Arithmetic
- Parameters:
function (LowLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreLowLevelILInstruction) –
instr_index (Optional[InstructionIndex]) –
- property detailed_operands: List[Tuple[str, Optional[Union[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[Union[ILFlag, ILRegister]], List[SSARegister], List[SSARegisterStack], List[SSAFlag], List[SSARegisterOrFlag]]], 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¶
- instr: CoreLowLevelILInstruction¶
- property src: LowLevelILInstruction¶
- class LowLevelILFmul(function: 'LowLevelILFunction', expr_index: <function NewType.<locals>.new_type at 0x1027ead30>, instr: binaryninja.lowlevelil.CoreLowLevelILInstruction, instr_index: Optional[InstructionIndex])[source]¶
Bases:
LowLevelILBinaryBase
,Arithmetic
,FloatingPoint
- Parameters:
function (LowLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreLowLevelILInstruction) –
instr_index (Optional[InstructionIndex]) –
- expr_index: ExpressionIndex¶
- function: LowLevelILFunction¶
- instr: CoreLowLevelILInstruction¶
- class LowLevelILFneg(function: 'LowLevelILFunction', expr_index: <function NewType.<locals>.new_type at 0x1027ead30>, instr: binaryninja.lowlevelil.CoreLowLevelILInstruction, instr_index: Optional[InstructionIndex])[source]¶
Bases:
LowLevelILInstruction
,FloatingPoint
,Arithmetic
- Parameters:
function (LowLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreLowLevelILInstruction) –
instr_index (Optional[InstructionIndex]) –
- property detailed_operands: List[Tuple[str, Optional[Union[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[Union[ILFlag, ILRegister]], List[SSARegister], List[SSARegisterStack], List[SSAFlag], List[SSARegisterOrFlag]]], 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¶
- instr: CoreLowLevelILInstruction¶
- property src: LowLevelILInstruction¶
- class LowLevelILFsqrt(function: 'LowLevelILFunction', expr_index: <function NewType.<locals>.new_type at 0x1027ead30>, instr: binaryninja.lowlevelil.CoreLowLevelILInstruction, instr_index: Optional[InstructionIndex])[source]¶
Bases:
LowLevelILInstruction
,FloatingPoint
,Arithmetic
- Parameters:
function (LowLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreLowLevelILInstruction) –
instr_index (Optional[InstructionIndex]) –
- property detailed_operands: List[Tuple[str, Optional[Union[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[Union[ILFlag, ILRegister]], List[SSARegister], List[SSARegisterStack], List[SSAFlag], List[SSARegisterOrFlag]]], 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¶
- instr: CoreLowLevelILInstruction¶
- property src: LowLevelILInstruction¶
- class LowLevelILFsub(function: 'LowLevelILFunction', expr_index: <function NewType.<locals>.new_type at 0x1027ead30>, instr: binaryninja.lowlevelil.CoreLowLevelILInstruction, instr_index: Optional[InstructionIndex])[source]¶
Bases:
LowLevelILBinaryBase
,Arithmetic
,FloatingPoint
- Parameters:
function (LowLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreLowLevelILInstruction) –
instr_index (Optional[InstructionIndex]) –
- expr_index: ExpressionIndex¶
- function: LowLevelILFunction¶
- instr: CoreLowLevelILInstruction¶
- class LowLevelILFtrunc(function: 'LowLevelILFunction', expr_index: <function NewType.<locals>.new_type at 0x1027ead30>, instr: binaryninja.lowlevelil.CoreLowLevelILInstruction, instr_index: Optional[InstructionIndex])[source]¶
Bases:
LowLevelILInstruction
,FloatingPoint
,Arithmetic
- Parameters:
function (LowLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreLowLevelILInstruction) –
instr_index (Optional[InstructionIndex]) –
- property detailed_operands: List[Tuple[str, Optional[Union[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[Union[ILFlag, ILRegister]], List[SSARegister], List[SSARegisterStack], List[SSAFlag], List[SSARegisterOrFlag]]], 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¶
- instr: CoreLowLevelILInstruction¶
- property src: LowLevelILInstruction¶
- class LowLevelILFunction(arch: Optional[Architecture] = None, handle: Optional[BNLowLevelILFunction] = None, source_func: Optional[Function] = 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 (Optional[Architecture]) –
handle (Optional[BNLowLevelILFunction]) –
- add(size: int, a: ExpressionIndex, b: ExpressionIndex, flags: Optional[architecture.FlagType] = 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: Optional[architecture.FlagType] = 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: Optional[architecture.FlagType] = 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: Optional[architecture.FlagType] = 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: Optional[architecture.FlagType] = 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
- create_graph(settings: Optional[DisassemblySettings] = None) CoreFlowGraph [source]¶
- Parameters:
settings (Optional[DisassemblySettings]) –
- Return type:
- div_double_prec_signed(size: int, a: ExpressionIndex, b: ExpressionIndex, flags: Optional[architecture.FlagType] = 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: Optional[architecture.FlagType] = 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: Optional[architecture.FlagType] = 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: Optional[architecture.FlagType] = 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: Optional[Union[architecture.FlagWriteTypeName, architecture.FlagType, architecture.FlagIndex]] = None) ExpressionIndex [source]¶
- 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: Union[str, LowLevelILFlagCondition, int], sem_class: Optional[architecture.SemanticClassType] = 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: Optional[architecture.FlagType] = 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: Optional[architecture.FlagType] = 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: Optional[architecture.FlagType] = 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: Optional[architecture.FlagType] = 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: Optional[architecture.FlagType] = 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: Optional[architecture.FlagType] = None) ExpressionIndex [source]¶
float_neg
returns sign negation of floating point expressionvalue
of sizesize
potentially setting flags
- float_sqrt(size: int, value: ExpressionIndex, flags: Optional[architecture.FlagType] = 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: Optional[architecture.FlagType] = 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: Optional[architecture.FlagType] = 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: Optional[architecture.FlagType] = None) ExpressionIndex [source]¶
float_trunc
rounds a floating point value to an integer towards zero
- floor(size: int, value: ExpressionIndex, flags: Optional[architecture.FlagType] = 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) Optional[BasicBlock] [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:
- get_high_level_il_expr_index(expr: ExpressionIndex) Optional[ExpressionIndex] [source]¶
- Parameters:
expr (ExpressionIndex) –
- Return type:
Optional[ExpressionIndex]
- get_high_level_il_instruction_index(instr: InstructionIndex) Optional[InstructionIndex] [source]¶
- Parameters:
instr (InstructionIndex) –
- Return type:
Optional[InstructionIndex]
- get_instruction_start(addr: int, arch: Optional[Architecture] = None) Optional[int] [source]¶
- Parameters:
addr (int) –
arch (Optional[Architecture]) –
- Return type:
- get_label_for_address(arch: Architecture, addr: int) Optional[LowLevelILLabel] [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) Optional[ExpressionIndex] [source]¶
- Parameters:
expr (ExpressionIndex) –
- Return type:
Optional[ExpressionIndex]
- get_mapped_medium_level_il_instruction_index(instr: InstructionIndex) Optional[InstructionIndex] [source]¶
- Parameters:
instr (InstructionIndex) –
- Return type:
Optional[InstructionIndex]
- get_medium_level_il_expr_index(expr: ExpressionIndex) Optional[ExpressionIndex] [source]¶
- Parameters:
expr (ExpressionIndex) –
- Return type:
Optional[ExpressionIndex]
- 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) Optional[InstructionIndex] [source]¶
- Parameters:
instr (InstructionIndex) –
- Return type:
Optional[InstructionIndex]
- get_non_ssa_instruction_index(instr: InstructionIndex) InstructionIndex [source]¶
- Parameters:
instr (InstructionIndex) –
- Return type:
InstructionIndex
- get_ssa_flag_definition(flag_ssa: SSAFlag) Optional[LowLevelILInstruction] [source]¶
- Parameters:
flag_ssa (SSAFlag) –
- Return type:
- 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) Optional[LowLevelILInstruction] [source]¶
- Parameters:
index (int) –
- Return type:
- get_ssa_memory_uses(index: int) List[LowLevelILInstruction] [source]¶
- Parameters:
index (int) –
- Return type:
- get_ssa_reg_definition(reg_ssa: SSARegister) Optional[LowLevelILInstruction] [source]¶
- Parameters:
reg_ssa (SSARegister) –
- Return type:
- 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: Optional[architecture.FlagType] = None) ExpressionIndex [source]¶
int_to_float
returns floating point value of integer expressionvalue
of sizesize
potentially setting flags
- intrinsic(outputs: List[Union[str, ILRegister, int, ILFlag, RegisterInfo]], intrinsic: architecture.IntrinsicType, params: List[ExpressionIndex], flags: Optional[architecture.FlagType] = None)[source]¶
intrinsic
return an intrinsic expression.- Returns:
an intrinsic expression.
- Return type:
ExpressionIndex
- Parameters:
outputs (List[Union[str, ILRegister, int, ILFlag, RegisterInfo]]) –
intrinsic (architecture.IntrinsicType) –
params (List[ExpressionIndex]) –
flags (Optional[architecture.FlagType]) –
- 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: Optional[architecture.FlagType] = 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: Optional[architecture.FlagType] = None) ExpressionIndex [source]¶
low_part
truncatesvalue
tosize
bytes
- 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: Optional[architecture.FlagType] = 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: Optional[architecture.FlagType] = 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: Optional[architecture.FlagType] = 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: Optional[architecture.FlagType] = 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: Optional[architecture.FlagType] = None) ExpressionIndex [source]¶
mult
multiplies expressiona
by expressionb
potentially setting flagsflags
and returning an expression ofsize
bytes.
- mult_double_prec_signed(size: int, a: ExpressionIndex, b: ExpressionIndex, flags: Optional[architecture.FlagType] = None) ExpressionIndex [source]¶
mult_double_prec_signed
multiplies signed with double precision expressiona
by expressionb
potentially setting flagsflags
and returning an expression ofsize
bytes.
- mult_double_prec_unsigned(size: int, a: ExpressionIndex, b: ExpressionIndex, flags: Optional[architecture.FlagType] = None) ExpressionIndex [source]¶
mult_double_prec_unsigned
multiplies unsigned with double precision expressiona
by expressionb
potentially setting flagsflags
and returning an expression ofsize
bytes.
- neg_expr(size: int, value: ExpressionIndex, flags: Optional[architecture.FlagType] = 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: Optional[architecture.FlagType] = 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: Optional[architecture.FlagType] = 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: Optional[architecture.FlagType] = 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: Union[LowLevelILInstruction, ExpressionIndex, InstructionIndex], new: Union[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