lowlevelil module¶
|
|
|
|
|
|
|
|
The |
|
|
|
|
|
|
|
|
|
|
|
|
|
- class CoreLowLevelILInstruction(operation: binaryninja.enums.LowLevelILOperation, attributes: int, size: int, flags: int, source_operand: <function NewType.<locals>.new_type at 0x7f4536e591f0>, 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 0x7f4536e591f0>, instr: binaryninja.lowlevelil.CoreLowLevelILInstruction, instr_index: Union[InstructionIndex, NoneType])[source]¶
Bases:
LowLevelILCarryBase
- Parameters:
function (LowLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreLowLevelILInstruction) –
instr_index (InstructionIndex | None) –
- expr_index: ExpressionIndex¶
- function: LowLevelILFunction¶
- instr: CoreLowLevelILInstruction¶
- class LowLevelILAdd(function: 'LowLevelILFunction', expr_index: <function NewType.<locals>.new_type at 0x7f4536e591f0>, instr: binaryninja.lowlevelil.CoreLowLevelILInstruction, instr_index: Union[InstructionIndex, NoneType])[source]¶
Bases:
LowLevelILBinaryBase
,Arithmetic
- Parameters:
function (LowLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreLowLevelILInstruction) –
instr_index (InstructionIndex | None) –
- expr_index: ExpressionIndex¶
- function: LowLevelILFunction¶
- instr: CoreLowLevelILInstruction¶
- class LowLevelILAddOverflow(function: 'LowLevelILFunction', expr_index: <function NewType.<locals>.new_type at 0x7f4536e591f0>, instr: binaryninja.lowlevelil.CoreLowLevelILInstruction, instr_index: Union[InstructionIndex, NoneType])[source]¶
Bases:
LowLevelILBinaryBase
,Arithmetic
- Parameters:
function (LowLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreLowLevelILInstruction) –
instr_index (InstructionIndex | None) –
- expr_index: ExpressionIndex¶
- function: LowLevelILFunction¶
- instr: CoreLowLevelILInstruction¶
- class LowLevelILAnd(function: 'LowLevelILFunction', expr_index: <function NewType.<locals>.new_type at 0x7f4536e591f0>, instr: binaryninja.lowlevelil.CoreLowLevelILInstruction, instr_index: Union[InstructionIndex, NoneType])[source]¶
Bases:
LowLevelILBinaryBase
,Arithmetic
- Parameters:
function (LowLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreLowLevelILInstruction) –
instr_index (InstructionIndex | None) –
- expr_index: ExpressionIndex¶
- function: LowLevelILFunction¶
- instr: CoreLowLevelILInstruction¶
- class LowLevelILAsr(function: 'LowLevelILFunction', expr_index: <function NewType.<locals>.new_type at 0x7f4536e591f0>, instr: binaryninja.lowlevelil.CoreLowLevelILInstruction, instr_index: Union[InstructionIndex, NoneType])[source]¶
Bases:
LowLevelILBinaryBase
,Arithmetic
- Parameters:
function (LowLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreLowLevelILInstruction) –
instr_index (InstructionIndex | None) –
- expr_index: ExpressionIndex¶
- function: LowLevelILFunction¶
- instr: CoreLowLevelILInstruction¶
- 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: <function NewType.<locals>.new_type at 0x7f4536e591f0>, instr: binaryninja.lowlevelil.CoreLowLevelILInstruction, instr_index: Union[InstructionIndex, NoneType])[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.
- 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 0x7f4536e591f0>, instr: binaryninja.lowlevelil.CoreLowLevelILInstruction, instr_index: Union[InstructionIndex, NoneType])[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.
- expr_index: ExpressionIndex¶
- function: LowLevelILFunction¶
- instr: CoreLowLevelILInstruction¶
- property src: LowLevelILInstruction¶
- class LowLevelILBp(function: 'LowLevelILFunction', expr_index: <function NewType.<locals>.new_type at 0x7f4536e591f0>, instr: binaryninja.lowlevelil.CoreLowLevelILInstruction, instr_index: Union[InstructionIndex, NoneType])[source]¶
Bases:
LowLevelILInstruction
,Terminal
- Parameters:
function (LowLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreLowLevelILInstruction) –
instr_index (InstructionIndex | None) –
- expr_index: ExpressionIndex¶
- function: LowLevelILFunction¶
- instr: CoreLowLevelILInstruction¶
- class LowLevelILCall(function: 'LowLevelILFunction', expr_index: <function NewType.<locals>.new_type at 0x7f4536e591f0>, instr: binaryninja.lowlevelil.CoreLowLevelILInstruction, instr_index: Union[InstructionIndex, NoneType])[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.
- expr_index: ExpressionIndex¶
- function: LowLevelILFunction¶
- instr: CoreLowLevelILInstruction¶
- class LowLevelILCallOutputSsa(function: 'LowLevelILFunction', expr_index: <function NewType.<locals>.new_type at 0x7f4536e591f0>, instr: binaryninja.lowlevelil.CoreLowLevelILInstruction, instr_index: Union[InstructionIndex, NoneType])[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.
- expr_index: ExpressionIndex¶
- function: LowLevelILFunction¶
- instr: CoreLowLevelILInstruction¶
- class LowLevelILCallParam(function: 'LowLevelILFunction', expr_index: <function NewType.<locals>.new_type at 0x7f4536e591f0>, instr: binaryninja.lowlevelil.CoreLowLevelILInstruction, instr_index: Union[InstructionIndex, NoneType])[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.
- expr_index: ExpressionIndex¶
- function: LowLevelILFunction¶
- instr: CoreLowLevelILInstruction¶
- property src: List[LowLevelILInstruction]¶
- class LowLevelILCallSsa(function: 'LowLevelILFunction', expr_index: <function NewType.<locals>.new_type at 0x7f4536e591f0>, instr: binaryninja.lowlevelil.CoreLowLevelILInstruction, instr_index: Union[InstructionIndex, NoneType])[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.
- 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 0x7f4536e591f0>, instr: binaryninja.lowlevelil.CoreLowLevelILInstruction, instr_index: Union[InstructionIndex, NoneType])[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.
- expr_index: ExpressionIndex¶
- function: LowLevelILFunction¶
- instr: CoreLowLevelILInstruction¶
- class LowLevelILCallStackSsa(function: 'LowLevelILFunction', expr_index: <function NewType.<locals>.new_type at 0x7f4536e591f0>, instr: binaryninja.lowlevelil.CoreLowLevelILInstruction, instr_index: Union[InstructionIndex, NoneType])[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.
- expr_index: ExpressionIndex¶
- function: LowLevelILFunction¶
- instr: CoreLowLevelILInstruction¶
- property src: SSARegister¶
- class LowLevelILCarryBase(function: 'LowLevelILFunction', expr_index: <function NewType.<locals>.new_type at 0x7f4536e591f0>, instr: binaryninja.lowlevelil.CoreLowLevelILInstruction, instr_index: Union[InstructionIndex, NoneType])[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.
- 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 0x7f4536e591f0>, instr: binaryninja.lowlevelil.CoreLowLevelILInstruction, instr_index: Union[InstructionIndex, NoneType])[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.
- expr_index: ExpressionIndex¶
- function: LowLevelILFunction¶
- instr: CoreLowLevelILInstruction¶
- property src: LowLevelILInstruction¶
- class LowLevelILCmpE(function: 'LowLevelILFunction', expr_index: <function NewType.<locals>.new_type at 0x7f4536e591f0>, instr: binaryninja.lowlevelil.CoreLowLevelILInstruction, instr_index: Union[InstructionIndex, NoneType])[source]¶
Bases:
LowLevelILComparisonBase
- Parameters:
function (LowLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreLowLevelILInstruction) –
instr_index (InstructionIndex | None) –
- expr_index: ExpressionIndex¶
- function: LowLevelILFunction¶
- instr: CoreLowLevelILInstruction¶
- class LowLevelILCmpNe(function: 'LowLevelILFunction', expr_index: <function NewType.<locals>.new_type at 0x7f4536e591f0>, instr: binaryninja.lowlevelil.CoreLowLevelILInstruction, instr_index: Union[InstructionIndex, NoneType])[source]¶
Bases:
LowLevelILComparisonBase
- Parameters:
function (LowLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreLowLevelILInstruction) –
instr_index (InstructionIndex | None) –
- expr_index: ExpressionIndex¶
- function: LowLevelILFunction¶
- instr: CoreLowLevelILInstruction¶
- class LowLevelILCmpSge(function: 'LowLevelILFunction', expr_index: <function NewType.<locals>.new_type at 0x7f4536e591f0>, instr: binaryninja.lowlevelil.CoreLowLevelILInstruction, instr_index: Union[InstructionIndex, NoneType])[source]¶
Bases:
LowLevelILComparisonBase
,Signed
- Parameters:
function (LowLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreLowLevelILInstruction) –
instr_index (InstructionIndex | None) –
- expr_index: ExpressionIndex¶
- function: LowLevelILFunction¶
- instr: CoreLowLevelILInstruction¶
- class LowLevelILCmpSgt(function: 'LowLevelILFunction', expr_index: <function NewType.<locals>.new_type at 0x7f4536e591f0>, instr: binaryninja.lowlevelil.CoreLowLevelILInstruction, instr_index: Union[InstructionIndex, NoneType])[source]¶
Bases:
LowLevelILComparisonBase
,Signed
- Parameters:
function (LowLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreLowLevelILInstruction) –
instr_index (InstructionIndex | None) –
- expr_index: ExpressionIndex¶
- function: LowLevelILFunction¶
- instr: CoreLowLevelILInstruction¶
- class LowLevelILCmpSle(function: 'LowLevelILFunction', expr_index: <function NewType.<locals>.new_type at 0x7f4536e591f0>, instr: binaryninja.lowlevelil.CoreLowLevelILInstruction, instr_index: Union[InstructionIndex, NoneType])[source]¶
Bases:
LowLevelILComparisonBase
,Signed
- Parameters:
function (LowLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreLowLevelILInstruction) –
instr_index (InstructionIndex | None) –
- expr_index: ExpressionIndex¶
- function: LowLevelILFunction¶
- instr: CoreLowLevelILInstruction¶
- class LowLevelILCmpSlt(function: 'LowLevelILFunction', expr_index: <function NewType.<locals>.new_type at 0x7f4536e591f0>, instr: binaryninja.lowlevelil.CoreLowLevelILInstruction, instr_index: Union[InstructionIndex, NoneType])[source]¶
Bases:
LowLevelILComparisonBase
,Signed
- Parameters:
function (LowLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreLowLevelILInstruction) –
instr_index (InstructionIndex | None) –
- expr_index: ExpressionIndex¶
- function: LowLevelILFunction¶
- instr: CoreLowLevelILInstruction¶
- class LowLevelILCmpUge(function: 'LowLevelILFunction', expr_index: <function NewType.<locals>.new_type at 0x7f4536e591f0>, instr: binaryninja.lowlevelil.CoreLowLevelILInstruction, instr_index: Union[InstructionIndex, NoneType])[source]¶
Bases:
LowLevelILComparisonBase
- Parameters:
function (LowLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreLowLevelILInstruction) –
instr_index (InstructionIndex | None) –
- expr_index: ExpressionIndex¶
- function: LowLevelILFunction¶
- instr: CoreLowLevelILInstruction¶
- class LowLevelILCmpUgt(function: 'LowLevelILFunction', expr_index: <function NewType.<locals>.new_type at 0x7f4536e591f0>, instr: binaryninja.lowlevelil.CoreLowLevelILInstruction, instr_index: Union[InstructionIndex, NoneType])[source]¶
Bases:
LowLevelILComparisonBase
- Parameters:
function (LowLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreLowLevelILInstruction) –
instr_index (InstructionIndex | None) –
- expr_index: ExpressionIndex¶
- function: LowLevelILFunction¶
- instr: CoreLowLevelILInstruction¶
- class LowLevelILCmpUle(function: 'LowLevelILFunction', expr_index: <function NewType.<locals>.new_type at 0x7f4536e591f0>, instr: binaryninja.lowlevelil.CoreLowLevelILInstruction, instr_index: Union[InstructionIndex, NoneType])[source]¶
Bases:
LowLevelILComparisonBase
- Parameters:
function (LowLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreLowLevelILInstruction) –
instr_index (InstructionIndex | None) –
- expr_index: ExpressionIndex¶
- function: LowLevelILFunction¶
- instr: CoreLowLevelILInstruction¶
- class LowLevelILCmpUlt(function: 'LowLevelILFunction', expr_index: <function NewType.<locals>.new_type at 0x7f4536e591f0>, instr: binaryninja.lowlevelil.CoreLowLevelILInstruction, instr_index: Union[InstructionIndex, NoneType])[source]¶
Bases:
LowLevelILComparisonBase
- Parameters:
function (LowLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreLowLevelILInstruction) –
instr_index (InstructionIndex | None) –
- expr_index: ExpressionIndex¶
- function: LowLevelILFunction¶
- instr: CoreLowLevelILInstruction¶
- class LowLevelILComparisonBase(function: 'LowLevelILFunction', expr_index: <function NewType.<locals>.new_type at 0x7f4536e591f0>, instr: binaryninja.lowlevelil.CoreLowLevelILInstruction, instr_index: Union[InstructionIndex, NoneType])[source]¶
Bases:
LowLevelILBinaryBase
,Comparison
- Parameters:
function (LowLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreLowLevelILInstruction) –
instr_index (InstructionIndex | None) –
- expr_index: ExpressionIndex¶
- function: LowLevelILFunction¶
- instr: CoreLowLevelILInstruction¶
- class LowLevelILConst(function: 'LowLevelILFunction', expr_index: <function NewType.<locals>.new_type at 0x7f4536e591f0>, instr: binaryninja.lowlevelil.CoreLowLevelILInstruction, instr_index: Union[InstructionIndex, NoneType])[source]¶
Bases:
LowLevelILConstantBase
- Parameters:
function (LowLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreLowLevelILInstruction) –
instr_index (InstructionIndex | None) –
- expr_index: ExpressionIndex¶
- function: LowLevelILFunction¶
- instr: CoreLowLevelILInstruction¶
- class LowLevelILConstPtr(function: 'LowLevelILFunction', expr_index: <function NewType.<locals>.new_type at 0x7f4536e591f0>, instr: binaryninja.lowlevelil.CoreLowLevelILInstruction, instr_index: Union[InstructionIndex, NoneType])[source]¶
Bases:
LowLevelILConstantBase
- Parameters:
function (LowLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreLowLevelILInstruction) –
instr_index (InstructionIndex | None) –
- expr_index: ExpressionIndex¶
- function: LowLevelILFunction¶
- instr: CoreLowLevelILInstruction¶
- class LowLevelILConstantBase(function: 'LowLevelILFunction', expr_index: <function NewType.<locals>.new_type at 0x7f4536e591f0>, instr: binaryninja.lowlevelil.CoreLowLevelILInstruction, instr_index: Union[InstructionIndex, NoneType])[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.
- expr_index: ExpressionIndex¶
- function: LowLevelILFunction¶
- instr: CoreLowLevelILInstruction¶
- class LowLevelILDivs(function: 'LowLevelILFunction', expr_index: <function NewType.<locals>.new_type at 0x7f4536e591f0>, instr: binaryninja.lowlevelil.CoreLowLevelILInstruction, instr_index: Union[InstructionIndex, NoneType])[source]¶
Bases:
LowLevelILBinaryBase
,Arithmetic
,Signed
- Parameters:
function (LowLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreLowLevelILInstruction) –
instr_index (InstructionIndex | None) –
- expr_index: ExpressionIndex¶
- function: LowLevelILFunction¶
- instr: CoreLowLevelILInstruction¶
- class LowLevelILDivsDp(function: 'LowLevelILFunction', expr_index: <function NewType.<locals>.new_type at 0x7f4536e591f0>, instr: binaryninja.lowlevelil.CoreLowLevelILInstruction, instr_index: Union[InstructionIndex, NoneType])[source]¶
Bases:
LowLevelILBinaryBase
,DoublePrecision
,Signed
- Parameters:
function (LowLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreLowLevelILInstruction) –
instr_index (InstructionIndex | None) –
- expr_index: ExpressionIndex¶
- function: LowLevelILFunction¶
- instr: CoreLowLevelILInstruction¶
- class LowLevelILDivu(function: 'LowLevelILFunction', expr_index: <function NewType.<locals>.new_type at 0x7f4536e591f0>, instr: binaryninja.lowlevelil.CoreLowLevelILInstruction, instr_index: Union[InstructionIndex, NoneType])[source]¶
Bases:
LowLevelILBinaryBase
,Arithmetic
- Parameters:
function (LowLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreLowLevelILInstruction) –
instr_index (InstructionIndex | None) –
- expr_index: ExpressionIndex¶
- function: LowLevelILFunction¶
- instr: CoreLowLevelILInstruction¶
- class LowLevelILDivuDp(function: 'LowLevelILFunction', expr_index: <function NewType.<locals>.new_type at 0x7f4536e591f0>, instr: binaryninja.lowlevelil.CoreLowLevelILInstruction, instr_index: Union[InstructionIndex, NoneType])[source]¶
Bases:
LowLevelILBinaryBase
,DoublePrecision
- Parameters:
function (LowLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreLowLevelILInstruction) –
instr_index (InstructionIndex | None) –
- 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 0x7f4536e591f0>, instr: binaryninja.lowlevelil.CoreLowLevelILInstruction, instr_index: Union[InstructionIndex, NoneType])[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.
- expr_index: ExpressionIndex¶
- function: LowLevelILFunction¶
- instr: CoreLowLevelILInstruction¶
- class LowLevelILFabs(function: 'LowLevelILFunction', expr_index: <function NewType.<locals>.new_type at 0x7f4536e591f0>, instr: binaryninja.lowlevelil.CoreLowLevelILInstruction, instr_index: Union[InstructionIndex, NoneType])[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.
- expr_index: ExpressionIndex¶
- function: LowLevelILFunction¶
- instr: CoreLowLevelILInstruction¶
- property src: LowLevelILInstruction¶
- class LowLevelILFadd(function: 'LowLevelILFunction', expr_index: <function NewType.<locals>.new_type at 0x7f4536e591f0>, instr: binaryninja.lowlevelil.CoreLowLevelILInstruction, instr_index: Union[InstructionIndex, NoneType])[source]¶
Bases:
LowLevelILBinaryBase
,Arithmetic
,FloatingPoint
- Parameters:
function (LowLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreLowLevelILInstruction) –
instr_index (InstructionIndex | None) –
- expr_index: ExpressionIndex¶
- function: LowLevelILFunction¶
- instr: CoreLowLevelILInstruction¶
- class LowLevelILFcmpE(function: 'LowLevelILFunction', expr_index: <function NewType.<locals>.new_type at 0x7f4536e591f0>, instr: binaryninja.lowlevelil.CoreLowLevelILInstruction, instr_index: Union[InstructionIndex, NoneType])[source]¶
Bases:
LowLevelILComparisonBase
,FloatingPoint
- Parameters:
function (LowLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreLowLevelILInstruction) –
instr_index (InstructionIndex | None) –
- expr_index: ExpressionIndex¶
- function: LowLevelILFunction¶
- instr: CoreLowLevelILInstruction¶
- class LowLevelILFcmpGe(function: 'LowLevelILFunction', expr_index: <function NewType.<locals>.new_type at 0x7f4536e591f0>, instr: binaryninja.lowlevelil.CoreLowLevelILInstruction, instr_index: Union[InstructionIndex, NoneType])[source]¶
Bases:
LowLevelILComparisonBase
,FloatingPoint
- Parameters:
function (LowLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreLowLevelILInstruction) –
instr_index (InstructionIndex | None) –
- expr_index: ExpressionIndex¶
- function: LowLevelILFunction¶
- instr: CoreLowLevelILInstruction¶
- class LowLevelILFcmpGt(function: 'LowLevelILFunction', expr_index: <function NewType.<locals>.new_type at 0x7f4536e591f0>, instr: binaryninja.lowlevelil.CoreLowLevelILInstruction, instr_index: Union[InstructionIndex, NoneType])[source]¶
Bases:
LowLevelILComparisonBase
,FloatingPoint
- Parameters:
function (LowLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreLowLevelILInstruction) –
instr_index (InstructionIndex | None) –
- expr_index: ExpressionIndex¶
- function: LowLevelILFunction¶
- instr: CoreLowLevelILInstruction¶
- class LowLevelILFcmpLe(function: 'LowLevelILFunction', expr_index: <function NewType.<locals>.new_type at 0x7f4536e591f0>, instr: binaryninja.lowlevelil.CoreLowLevelILInstruction, instr_index: Union[InstructionIndex, NoneType])[source]¶
Bases:
LowLevelILComparisonBase
,FloatingPoint
- Parameters:
function (LowLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreLowLevelILInstruction) –
instr_index (InstructionIndex | None) –
- expr_index: ExpressionIndex¶
- function: LowLevelILFunction¶
- instr: CoreLowLevelILInstruction¶
- class LowLevelILFcmpLt(function: 'LowLevelILFunction', expr_index: <function NewType.<locals>.new_type at 0x7f4536e591f0>, instr: binaryninja.lowlevelil.CoreLowLevelILInstruction, instr_index: Union[InstructionIndex, NoneType])[source]¶
Bases:
LowLevelILComparisonBase
,FloatingPoint
- Parameters:
function (LowLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreLowLevelILInstruction) –
instr_index (InstructionIndex | None) –
- expr_index: ExpressionIndex¶
- function: LowLevelILFunction¶
- instr: CoreLowLevelILInstruction¶
- class LowLevelILFcmpNe(function: 'LowLevelILFunction', expr_index: <function NewType.<locals>.new_type at 0x7f4536e591f0>, instr: binaryninja.lowlevelil.CoreLowLevelILInstruction, instr_index: Union[InstructionIndex, NoneType])[source]¶
Bases:
LowLevelILComparisonBase
,FloatingPoint
- Parameters:
function (LowLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreLowLevelILInstruction) –
instr_index (InstructionIndex | None) –
- expr_index: ExpressionIndex¶
- function: LowLevelILFunction¶
- instr: CoreLowLevelILInstruction¶
- class LowLevelILFcmpO(function: 'LowLevelILFunction', expr_index: <function NewType.<locals>.new_type at 0x7f4536e591f0>, instr: binaryninja.lowlevelil.CoreLowLevelILInstruction, instr_index: Union[InstructionIndex, NoneType])[source]¶
Bases:
LowLevelILComparisonBase
,FloatingPoint
- Parameters:
function (LowLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreLowLevelILInstruction) –
instr_index (InstructionIndex | None) –
- expr_index: ExpressionIndex¶
- function: LowLevelILFunction¶
- instr: CoreLowLevelILInstruction¶
- class LowLevelILFcmpUo(function: 'LowLevelILFunction', expr_index: <function NewType.<locals>.new_type at 0x7f4536e591f0>, instr: binaryninja.lowlevelil.CoreLowLevelILInstruction, instr_index: Union[InstructionIndex, NoneType])[source]¶
Bases:
LowLevelILComparisonBase
,FloatingPoint
- Parameters:
function (LowLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreLowLevelILInstruction) –
instr_index (InstructionIndex | None) –
- expr_index: ExpressionIndex¶
- function: LowLevelILFunction¶
- instr: CoreLowLevelILInstruction¶
- class LowLevelILFdiv(function: 'LowLevelILFunction', expr_index: <function NewType.<locals>.new_type at 0x7f4536e591f0>, instr: binaryninja.lowlevelil.CoreLowLevelILInstruction, instr_index: Union[InstructionIndex, NoneType])[source]¶
Bases:
LowLevelILBinaryBase
,Arithmetic
,FloatingPoint
- Parameters:
function (LowLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreLowLevelILInstruction) –
instr_index (InstructionIndex | None) –
- expr_index: ExpressionIndex¶
- function: LowLevelILFunction¶
- instr: CoreLowLevelILInstruction¶
- class LowLevelILFlag(function: 'LowLevelILFunction', expr_index: <function NewType.<locals>.new_type at 0x7f4536e591f0>, instr: binaryninja.lowlevelil.CoreLowLevelILInstruction, instr_index: Union[InstructionIndex, NoneType])[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.
- expr_index: ExpressionIndex¶
- function: LowLevelILFunction¶
- instr: CoreLowLevelILInstruction¶
- class LowLevelILFlagBit(function: 'LowLevelILFunction', expr_index: <function NewType.<locals>.new_type at 0x7f4536e591f0>, instr: binaryninja.lowlevelil.CoreLowLevelILInstruction, instr_index: Union[InstructionIndex, NoneType])[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.
- expr_index: ExpressionIndex¶
- function: LowLevelILFunction¶
- instr: CoreLowLevelILInstruction¶
- class LowLevelILFlagBitSsa(function: 'LowLevelILFunction', expr_index: <function NewType.<locals>.new_type at 0x7f4536e591f0>, instr: binaryninja.lowlevelil.CoreLowLevelILInstruction, instr_index: Union[InstructionIndex, NoneType])[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.
- expr_index: ExpressionIndex¶
- function: LowLevelILFunction¶
- instr: CoreLowLevelILInstruction¶
- class LowLevelILFlagCond(function: 'LowLevelILFunction', expr_index: <function NewType.<locals>.new_type at 0x7f4536e591f0>, instr: binaryninja.lowlevelil.CoreLowLevelILInstruction, instr_index: Union[InstructionIndex, NoneType])[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.
- expr_index: ExpressionIndex¶
- function: LowLevelILFunction¶
- instr: CoreLowLevelILInstruction¶
- property semantic_class: ILSemanticFlagClass | None¶
- class LowLevelILFlagGroup(function: 'LowLevelILFunction', expr_index: <function NewType.<locals>.new_type at 0x7f4536e591f0>, instr: binaryninja.lowlevelil.CoreLowLevelILInstruction, instr_index: Union[InstructionIndex, NoneType])[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.
- expr_index: ExpressionIndex¶
- function: LowLevelILFunction¶
- instr: CoreLowLevelILInstruction¶
- property semantic_group: ILSemanticFlagGroup¶
- class LowLevelILFlagPhi(function: 'LowLevelILFunction', expr_index: <function NewType.<locals>.new_type at 0x7f4536e591f0>, instr: binaryninja.lowlevelil.CoreLowLevelILInstruction, instr_index: Union[InstructionIndex, NoneType])[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.
- expr_index: ExpressionIndex¶
- function: LowLevelILFunction¶
- instr: CoreLowLevelILInstruction¶
- class LowLevelILFlagSsa(function: 'LowLevelILFunction', expr_index: <function NewType.<locals>.new_type at 0x7f4536e591f0>, instr: binaryninja.lowlevelil.CoreLowLevelILInstruction, instr_index: Union[InstructionIndex, NoneType])[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.
- expr_index: ExpressionIndex¶
- function: LowLevelILFunction¶
- instr: CoreLowLevelILInstruction¶
- class LowLevelILFloatConst(function: 'LowLevelILFunction', expr_index: <function NewType.<locals>.new_type at 0x7f4536e591f0>, instr: binaryninja.lowlevelil.CoreLowLevelILInstruction, instr_index: Union[InstructionIndex, NoneType])[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.
- expr_index: ExpressionIndex¶
- function: LowLevelILFunction¶
- instr: CoreLowLevelILInstruction¶
- class LowLevelILFloatConv(function: 'LowLevelILFunction', expr_index: <function NewType.<locals>.new_type at 0x7f4536e591f0>, instr: binaryninja.lowlevelil.CoreLowLevelILInstruction, instr_index: Union[InstructionIndex, NoneType])[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.
- expr_index: ExpressionIndex¶
- function: LowLevelILFunction¶
- instr: CoreLowLevelILInstruction¶
- property src: LowLevelILInstruction¶
- class LowLevelILFloatToInt(function: 'LowLevelILFunction', expr_index: <function NewType.<locals>.new_type at 0x7f4536e591f0>, instr: binaryninja.lowlevelil.CoreLowLevelILInstruction, instr_index: Union[InstructionIndex, NoneType])[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.
- expr_index: ExpressionIndex¶
- function: LowLevelILFunction¶
- instr: CoreLowLevelILInstruction¶
- property src: LowLevelILInstruction¶
- class LowLevelILFloor(function: 'LowLevelILFunction', expr_index: <function NewType.<locals>.new_type at 0x7f4536e591f0>, instr: binaryninja.lowlevelil.CoreLowLevelILInstruction, instr_index: Union[InstructionIndex, NoneType])[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.
- expr_index: ExpressionIndex¶
- function: LowLevelILFunction¶
- instr: CoreLowLevelILInstruction¶
- property src: LowLevelILInstruction¶
- class LowLevelILFmul(function: 'LowLevelILFunction', expr_index: <function NewType.<locals>.new_type at 0x7f4536e591f0>, instr: binaryninja.lowlevelil.CoreLowLevelILInstruction, instr_index: Union[InstructionIndex, NoneType])[source]¶
Bases:
LowLevelILBinaryBase
,Arithmetic
,FloatingPoint
- Parameters:
function (LowLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreLowLevelILInstruction) –
instr_index (InstructionIndex | None) –
- expr_index: ExpressionIndex¶
- function: LowLevelILFunction¶
- instr: CoreLowLevelILInstruction¶
- class LowLevelILFneg(function: 'LowLevelILFunction', expr_index: <function NewType.<locals>.new_type at 0x7f4536e591f0>, instr: binaryninja.lowlevelil.CoreLowLevelILInstruction, instr_index: Union[InstructionIndex, NoneType])[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.
- expr_index: ExpressionIndex¶
- function: LowLevelILFunction¶
- instr: CoreLowLevelILInstruction¶
- property src: LowLevelILInstruction¶
- class LowLevelILFsqrt(function: 'LowLevelILFunction', expr_index: <function NewType.<locals>.new_type at 0x7f4536e591f0>, instr: binaryninja.lowlevelil.CoreLowLevelILInstruction, instr_index: Union[InstructionIndex, NoneType])[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.
- expr_index: ExpressionIndex¶
- function: LowLevelILFunction¶
- instr: CoreLowLevelILInstruction¶
- property src: LowLevelILInstruction¶
- class LowLevelILFsub(function: 'LowLevelILFunction', expr_index: <function NewType.<locals>.new_type at 0x7f4536e591f0>, instr: binaryninja.lowlevelil.CoreLowLevelILInstruction, instr_index: Union[InstructionIndex, NoneType])[source]¶
Bases:
LowLevelILBinaryBase
,Arithmetic
,FloatingPoint
- Parameters:
function (LowLevelILFunction) –
expr_index (ExpressionIndex) –
instr (CoreLowLevelILInstruction) –
instr_index (InstructionIndex | None) –
- expr_index: ExpressionIndex¶
- function: LowLevelILFunction¶
- instr: CoreLowLevelILInstruction¶
- class LowLevelILFtrunc(function: 'LowLevelILFunction', expr_index: <function NewType.<locals>.new_type at 0x7f4536e591f0>, instr: binaryninja.lowlevelil.CoreLowLevelILInstruction, instr_index: Union[InstructionIndex, NoneType])[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.
- expr_index: ExpressionIndex¶
- function: LowLevelILFunction¶
- instr: CoreLowLevelILInstruction¶
- 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: FlagName | ILFlag | FlagIndex | 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: FlagName | ILFlag | FlagIndex | 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: FlagName | ILFlag | FlagIndex | 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: FlagName | ILFlag | FlagIndex | 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: FlagName | ILFlag | FlagIndex | 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
- 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: FlagName | ILFlag | FlagIndex | 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: FlagName | ILFlag | FlagIndex | 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: FlagName | ILFlag | FlagIndex | 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: FlagName | ILFlag | FlagIndex | 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: FlagWriteTypeName | FlagName | ILFlag | FlagIndex | FlagIndex | None = 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: str | LowLevelILFlagCondition | int, sem_class: SemanticClassName | ILSemanticFlagClass | SemanticClassIndex | 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: FlagName | ILFlag | FlagIndex | 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: FlagName | ILFlag | FlagIndex | 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: FlagName | ILFlag | FlagIndex | 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: FlagName | ILFlag | FlagIndex | 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: FlagName | ILFlag | FlagIndex | 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: FlagName | ILFlag | FlagIndex | 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: FlagName | ILFlag | FlagIndex | 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: FlagName | ILFlag | FlagIndex | 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: FlagName | ILFlag | FlagIndex | 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: FlagName | ILFlag | FlagIndex | None = None) ExpressionIndex [source]¶
float_trunc
rounds a floating point value to an integer towards zero
- floor(size: int, value: ExpressionIndex, flags: FlagName | ILFlag | FlagIndex | 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_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: FlagName | ILFlag | FlagIndex | 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: IntrinsicName | ILIntrinsic | IntrinsicIndex, params: List[ExpressionIndex], flags: FlagName | ILFlag | FlagIndex | None = None)[source]¶
intrinsic
return an intrinsic expression.- Returns:
an intrinsic expression.
- Return type:
ExpressionIndex
- Parameters:
outputs (List[str | ILRegister | int | ILFlag | RegisterInfo]) –
intrinsic (IntrinsicName | ILIntrinsic | IntrinsicIndex) –
params (List[ExpressionIndex]) –
flags (FlagName | ILFlag | FlagIndex | 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: FlagName | ILFlag | FlagIndex | 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: FlagName | ILFlag | FlagIndex | None = 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: FlagName | ILFlag | FlagIndex | 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: FlagName | ILFlag | FlagIndex | 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: FlagName | ILFlag | FlagIndex | 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: FlagName | ILFlag | FlagIndex | 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: FlagName | ILFlag | FlagIndex | 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: FlagName | ILFlag | FlagIndex | 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: FlagName | ILFlag | FlagIndex | 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: FlagName | ILFlag | FlagIndex | 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