highlevelil module¶
|
|
The |
|
|
|
|
|
|
|
- class CoreHighLevelILInstruction(operation: binaryninja.enums.HighLevelILOperation, attributes: int, source_operand: int, size: int, operands: Tuple[ExpressionIndex, ExpressionIndex, ExpressionIndex, ExpressionIndex, ExpressionIndex], address: int, parent: <function NewType.<locals>.new_type at 0x7f4efe608a60>)[source]¶
Bases:
object
- Parameters:
- classmethod from_BNHighLevelILInstruction(instr: BNHighLevelILInstruction) CoreHighLevelILInstruction [source]¶
- Parameters:
instr (BNHighLevelILInstruction) –
- Return type:
- operands: Tuple[ExpressionIndex, ExpressionIndex, ExpressionIndex, ExpressionIndex, ExpressionIndex]¶
- operation: HighLevelILOperation¶
- parent: ExpressionIndex¶
- class GotoLabel(function: 'HighLevelILFunction', id: int)[source]¶
Bases:
object
- Parameters:
function (HighLevelILFunction) –
id (int) –
- property definition: Optional[HighLevelILInstruction]¶
- function: HighLevelILFunction¶
- property uses: List[HighLevelILInstruction]¶
- class HighLevelILAdc(function: 'HighLevelILFunction', expr_index: <function NewType.<locals>.new_type at 0x7f4efe608a60>, core_instr: binaryninja.highlevelil.CoreHighLevelILInstruction, as_ast: bool, instr_index: <function NewType.<locals>.new_type at 0x7f4efe5e3280>)[source]¶
Bases:
HighLevelILCarryBase
- Parameters:
function (HighLevelILFunction) –
expr_index (ExpressionIndex) –
core_instr (CoreHighLevelILInstruction) –
as_ast (bool) –
instr_index (InstructionIndex) –
- core_instr: CoreHighLevelILInstruction¶
- expr_index: ExpressionIndex¶
- function: HighLevelILFunction¶
- instr_index: InstructionIndex¶
- class HighLevelILAdd(function: 'HighLevelILFunction', expr_index: <function NewType.<locals>.new_type at 0x7f4efe608a60>, core_instr: binaryninja.highlevelil.CoreHighLevelILInstruction, as_ast: bool, instr_index: <function NewType.<locals>.new_type at 0x7f4efe5e3280>)[source]¶
Bases:
HighLevelILBinaryBase
,Arithmetic
- Parameters:
function (HighLevelILFunction) –
expr_index (ExpressionIndex) –
core_instr (CoreHighLevelILInstruction) –
as_ast (bool) –
instr_index (InstructionIndex) –
- core_instr: CoreHighLevelILInstruction¶
- expr_index: ExpressionIndex¶
- function: HighLevelILFunction¶
- instr_index: InstructionIndex¶
- class HighLevelILAddOverflow(function: 'HighLevelILFunction', expr_index: <function NewType.<locals>.new_type at 0x7f4efe608a60>, core_instr: binaryninja.highlevelil.CoreHighLevelILInstruction, as_ast: bool, instr_index: <function NewType.<locals>.new_type at 0x7f4efe5e3280>)[source]¶
Bases:
HighLevelILBinaryBase
,Arithmetic
- Parameters:
function (HighLevelILFunction) –
expr_index (ExpressionIndex) –
core_instr (CoreHighLevelILInstruction) –
as_ast (bool) –
instr_index (InstructionIndex) –
- core_instr: CoreHighLevelILInstruction¶
- expr_index: ExpressionIndex¶
- function: HighLevelILFunction¶
- instr_index: InstructionIndex¶
- class HighLevelILAddressOf(function: 'HighLevelILFunction', expr_index: <function NewType.<locals>.new_type at 0x7f4efe608a60>, core_instr: binaryninja.highlevelil.CoreHighLevelILInstruction, as_ast: bool, instr_index: <function NewType.<locals>.new_type at 0x7f4efe5e3280>)[source]¶
Bases:
HighLevelILUnaryBase
- Parameters:
function (HighLevelILFunction) –
expr_index (ExpressionIndex) –
core_instr (CoreHighLevelILInstruction) –
as_ast (bool) –
instr_index (InstructionIndex) –
- core_instr: CoreHighLevelILInstruction¶
- expr_index: ExpressionIndex¶
- function: HighLevelILFunction¶
- instr_index: InstructionIndex¶
- property vars_address_taken: List[Union[SSAVariable, Variable]]¶
Non-unique list of variables whose address is taken by instruction
Note
This property has some nuance to it, so use carefully. This property will return only those variable which directly have their address taken such as &var_4 or &var_8.d but not those which are involved in an address calculation such as &(var_4 + 0) or &var_4[0] even though they may be functionally equivalent.
- class HighLevelILAnd(function: 'HighLevelILFunction', expr_index: <function NewType.<locals>.new_type at 0x7f4efe608a60>, core_instr: binaryninja.highlevelil.CoreHighLevelILInstruction, as_ast: bool, instr_index: <function NewType.<locals>.new_type at 0x7f4efe5e3280>)[source]¶
Bases:
HighLevelILBinaryBase
,Arithmetic
- Parameters:
function (HighLevelILFunction) –
expr_index (ExpressionIndex) –
core_instr (CoreHighLevelILInstruction) –
as_ast (bool) –
instr_index (InstructionIndex) –
- core_instr: CoreHighLevelILInstruction¶
- expr_index: ExpressionIndex¶
- function: HighLevelILFunction¶
- instr_index: InstructionIndex¶
- class HighLevelILArrayIndex(function: 'HighLevelILFunction', expr_index: <function NewType.<locals>.new_type at 0x7f4efe608a60>, core_instr: binaryninja.highlevelil.CoreHighLevelILInstruction, as_ast: bool, instr_index: <function NewType.<locals>.new_type at 0x7f4efe5e3280>)[source]¶
Bases:
HighLevelILInstruction
- Parameters:
function (HighLevelILFunction) –
expr_index (ExpressionIndex) –
core_instr (CoreHighLevelILInstruction) –
as_ast (bool) –
instr_index (InstructionIndex) –
- core_instr: CoreHighLevelILInstruction¶
- property detailed_operands: List[Tuple[str, Union[HighLevelILInstruction, ILIntrinsic, Variable, SSAVariable, List[int], List[Variable], List[SSAVariable], List[HighLevelILInstruction], int, None, float, GotoLabel, ConstantData, DataBuffer], str]]¶
Returns a list of tuples containing the 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: HighLevelILFunction¶
- property index: HighLevelILInstruction¶
- instr_index: InstructionIndex¶
- property src: HighLevelILInstruction¶
- class HighLevelILArrayIndexSsa(function: 'HighLevelILFunction', expr_index: <function NewType.<locals>.new_type at 0x7f4efe608a60>, core_instr: binaryninja.highlevelil.CoreHighLevelILInstruction, as_ast: bool, instr_index: <function NewType.<locals>.new_type at 0x7f4efe5e3280>)[source]¶
Bases:
HighLevelILInstruction
,SSA
- Parameters:
function (HighLevelILFunction) –
expr_index (ExpressionIndex) –
core_instr (CoreHighLevelILInstruction) –
as_ast (bool) –
instr_index (InstructionIndex) –
- core_instr: CoreHighLevelILInstruction¶
- property detailed_operands: List[Tuple[str, Union[HighLevelILInstruction, ILIntrinsic, Variable, SSAVariable, List[int], List[Variable], List[SSAVariable], List[HighLevelILInstruction], int, None, float, GotoLabel, ConstantData, DataBuffer], str]]¶
Returns a list of tuples containing the 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: HighLevelILFunction¶
- property index: HighLevelILInstruction¶
- instr_index: InstructionIndex¶
- property src: HighLevelILInstruction¶
- class HighLevelILAsr(function: 'HighLevelILFunction', expr_index: <function NewType.<locals>.new_type at 0x7f4efe608a60>, core_instr: binaryninja.highlevelil.CoreHighLevelILInstruction, as_ast: bool, instr_index: <function NewType.<locals>.new_type at 0x7f4efe5e3280>)[source]¶
Bases:
HighLevelILBinaryBase
,Arithmetic
- Parameters:
function (HighLevelILFunction) –
expr_index (ExpressionIndex) –
core_instr (CoreHighLevelILInstruction) –
as_ast (bool) –
instr_index (InstructionIndex) –
- core_instr: CoreHighLevelILInstruction¶
- expr_index: ExpressionIndex¶
- function: HighLevelILFunction¶
- instr_index: InstructionIndex¶
- class HighLevelILAssign(function: 'HighLevelILFunction', expr_index: <function NewType.<locals>.new_type at 0x7f4efe608a60>, core_instr: binaryninja.highlevelil.CoreHighLevelILInstruction, as_ast: bool, instr_index: <function NewType.<locals>.new_type at 0x7f4efe5e3280>)[source]¶
Bases:
HighLevelILInstruction
- Parameters:
function (HighLevelILFunction) –
expr_index (ExpressionIndex) –
core_instr (CoreHighLevelILInstruction) –
as_ast (bool) –
instr_index (InstructionIndex) –
- core_instr: CoreHighLevelILInstruction¶
- property dest: HighLevelILInstruction¶
- property detailed_operands: List[Tuple[str, Union[HighLevelILInstruction, ILIntrinsic, Variable, SSAVariable, List[int], List[Variable], List[SSAVariable], List[HighLevelILInstruction], int, None, float, GotoLabel, ConstantData, DataBuffer], str]]¶
Returns a list of tuples containing the 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: HighLevelILFunction¶
- instr_index: InstructionIndex¶
- property src: HighLevelILInstruction¶
- property vars_written: List[Union[SSAVariable, Variable]]¶
List of variables value is written by this instruction
- class HighLevelILAssignMemSsa(function: 'HighLevelILFunction', expr_index: <function NewType.<locals>.new_type at 0x7f4efe608a60>, core_instr: binaryninja.highlevelil.CoreHighLevelILInstruction, as_ast: bool, instr_index: <function NewType.<locals>.new_type at 0x7f4efe5e3280>)[source]¶
Bases:
HighLevelILInstruction
,SSA
- Parameters:
function (HighLevelILFunction) –
expr_index (ExpressionIndex) –
core_instr (CoreHighLevelILInstruction) –
as_ast (bool) –
instr_index (InstructionIndex) –
- core_instr: CoreHighLevelILInstruction¶
- property dest: HighLevelILInstruction¶
- property detailed_operands: List[Tuple[str, Union[HighLevelILInstruction, ILIntrinsic, Variable, SSAVariable, List[int], List[Variable], List[SSAVariable], List[HighLevelILInstruction], int, None, float, GotoLabel, ConstantData, DataBuffer], str]]¶
Returns a list of tuples containing the 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: HighLevelILFunction¶
- instr_index: InstructionIndex¶
- property src: HighLevelILInstruction¶
- class HighLevelILAssignUnpack(function: 'HighLevelILFunction', expr_index: <function NewType.<locals>.new_type at 0x7f4efe608a60>, core_instr: binaryninja.highlevelil.CoreHighLevelILInstruction, as_ast: bool, instr_index: <function NewType.<locals>.new_type at 0x7f4efe5e3280>)[source]¶
Bases:
HighLevelILInstruction
- Parameters:
function (HighLevelILFunction) –
expr_index (ExpressionIndex) –
core_instr (CoreHighLevelILInstruction) –
as_ast (bool) –
instr_index (InstructionIndex) –
- core_instr: CoreHighLevelILInstruction¶
- property dest: List[HighLevelILInstruction]¶
- property detailed_operands: List[Tuple[str, Union[HighLevelILInstruction, ILIntrinsic, Variable, SSAVariable, List[int], List[Variable], List[SSAVariable], List[HighLevelILInstruction], int, None, float, GotoLabel, ConstantData, DataBuffer], str]]¶
Returns a list of tuples containing the 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: HighLevelILFunction¶
- instr_index: InstructionIndex¶
- property src: HighLevelILInstruction¶
- property vars_written: List[Union[SSAVariable, Variable]]¶
List of variables value is written by this instruction
- class HighLevelILAssignUnpackMemSsa(function: 'HighLevelILFunction', expr_index: <function NewType.<locals>.new_type at 0x7f4efe608a60>, core_instr: binaryninja.highlevelil.CoreHighLevelILInstruction, as_ast: bool, instr_index: <function NewType.<locals>.new_type at 0x7f4efe5e3280>)[source]¶
Bases:
HighLevelILInstruction
,SSA
,Memory
- Parameters:
function (HighLevelILFunction) –
expr_index (ExpressionIndex) –
core_instr (CoreHighLevelILInstruction) –
as_ast (bool) –
instr_index (InstructionIndex) –
- core_instr: CoreHighLevelILInstruction¶
- property dest: List[HighLevelILInstruction]¶
- property detailed_operands: List[Tuple[str, Union[HighLevelILInstruction, ILIntrinsic, Variable, SSAVariable, List[int], List[Variable], List[SSAVariable], List[HighLevelILInstruction], int, None, float, GotoLabel, ConstantData, DataBuffer], str]]¶
Returns a list of tuples containing the 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: HighLevelILFunction¶
- instr_index: InstructionIndex¶
- property src: HighLevelILInstruction¶
- class HighLevelILBasicBlock(handle: LP_BNBasicBlock, owner: HighLevelILFunction, view: Optional[BinaryView])[source]¶
Bases:
BasicBlock
The
HighLevelILBasicBlock
object is returned during analysis and should not be directly instantiated.- Parameters:
handle (LP_BNBasicBlock) –
owner (HighLevelILFunction) –
view (Optional[BinaryView]) –
- property il_function: HighLevelILFunction¶
- class HighLevelILBinaryBase(function: 'HighLevelILFunction', expr_index: <function NewType.<locals>.new_type at 0x7f4efe608a60>, core_instr: binaryninja.highlevelil.CoreHighLevelILInstruction, as_ast: bool, instr_index: <function NewType.<locals>.new_type at 0x7f4efe5e3280>)[source]¶
Bases:
HighLevelILInstruction
,BinaryOperation
- Parameters:
function (HighLevelILFunction) –
expr_index (ExpressionIndex) –
core_instr (CoreHighLevelILInstruction) –
as_ast (bool) –
instr_index (InstructionIndex) –
- core_instr: CoreHighLevelILInstruction¶
- property detailed_operands: List[Tuple[str, Union[HighLevelILInstruction, ILIntrinsic, Variable, SSAVariable, List[int], List[Variable], List[SSAVariable], List[HighLevelILInstruction], int, None, float, GotoLabel, ConstantData, DataBuffer], str]]¶
Returns a list of tuples containing the 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: HighLevelILFunction¶
- instr_index: InstructionIndex¶
- property left: HighLevelILInstruction¶
- property right: HighLevelILInstruction¶
- class HighLevelILBlock(function: 'HighLevelILFunction', expr_index: <function NewType.<locals>.new_type at 0x7f4efe608a60>, core_instr: binaryninja.highlevelil.CoreHighLevelILInstruction, as_ast: bool, instr_index: <function NewType.<locals>.new_type at 0x7f4efe5e3280>)[source]¶
Bases:
HighLevelILInstruction
- Parameters:
function (HighLevelILFunction) –
expr_index (ExpressionIndex) –
core_instr (CoreHighLevelILInstruction) –
as_ast (bool) –
instr_index (InstructionIndex) –
- property body: List[HighLevelILInstruction]¶
- core_instr: CoreHighLevelILInstruction¶
- property detailed_operands: List[Tuple[str, Union[HighLevelILInstruction, ILIntrinsic, Variable, SSAVariable, List[int], List[Variable], List[SSAVariable], List[HighLevelILInstruction], int, None, float, GotoLabel, ConstantData, DataBuffer], str]]¶
Returns a list of tuples containing the 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: HighLevelILFunction¶
- instr_index: InstructionIndex¶
- class HighLevelILBoolToInt(function: 'HighLevelILFunction', expr_index: <function NewType.<locals>.new_type at 0x7f4efe608a60>, core_instr: binaryninja.highlevelil.CoreHighLevelILInstruction, as_ast: bool, instr_index: <function NewType.<locals>.new_type at 0x7f4efe5e3280>)[source]¶
Bases:
HighLevelILUnaryBase
- Parameters:
function (HighLevelILFunction) –
expr_index (ExpressionIndex) –
core_instr (CoreHighLevelILInstruction) –
as_ast (bool) –
instr_index (InstructionIndex) –
- core_instr: CoreHighLevelILInstruction¶
- expr_index: ExpressionIndex¶
- function: HighLevelILFunction¶
- instr_index: InstructionIndex¶
- class HighLevelILBp(function: 'HighLevelILFunction', expr_index: <function NewType.<locals>.new_type at 0x7f4efe608a60>, core_instr: binaryninja.highlevelil.CoreHighLevelILInstruction, as_ast: bool, instr_index: <function NewType.<locals>.new_type at 0x7f4efe5e3280>)[source]¶
Bases:
HighLevelILInstruction
,Terminal
- Parameters:
function (HighLevelILFunction) –
expr_index (ExpressionIndex) –
core_instr (CoreHighLevelILInstruction) –
as_ast (bool) –
instr_index (InstructionIndex) –
- core_instr: CoreHighLevelILInstruction¶
- expr_index: ExpressionIndex¶
- function: HighLevelILFunction¶
- instr_index: InstructionIndex¶
- class HighLevelILBreak(function: 'HighLevelILFunction', expr_index: <function NewType.<locals>.new_type at 0x7f4efe608a60>, core_instr: binaryninja.highlevelil.CoreHighLevelILInstruction, as_ast: bool, instr_index: <function NewType.<locals>.new_type at 0x7f4efe5e3280>)[source]¶
Bases:
HighLevelILInstruction
,Terminal
- Parameters:
function (HighLevelILFunction) –
expr_index (ExpressionIndex) –
core_instr (CoreHighLevelILInstruction) –
as_ast (bool) –
instr_index (InstructionIndex) –
- core_instr: CoreHighLevelILInstruction¶
- expr_index: ExpressionIndex¶
- function: HighLevelILFunction¶
- instr_index: InstructionIndex¶
- class HighLevelILCall(function: 'HighLevelILFunction', expr_index: <function NewType.<locals>.new_type at 0x7f4efe608a60>, core_instr: binaryninja.highlevelil.CoreHighLevelILInstruction, as_ast: bool, instr_index: <function NewType.<locals>.new_type at 0x7f4efe5e3280>)[source]¶
Bases:
HighLevelILInstruction
,Localcall
- Parameters:
function (HighLevelILFunction) –
expr_index (ExpressionIndex) –
core_instr (CoreHighLevelILInstruction) –
as_ast (bool) –
instr_index (InstructionIndex) –
- core_instr: CoreHighLevelILInstruction¶
- property dest: HighLevelILInstruction¶
- property detailed_operands: List[Tuple[str, Union[HighLevelILInstruction, ILIntrinsic, Variable, SSAVariable, List[int], List[Variable], List[SSAVariable], List[HighLevelILInstruction], int, None, float, GotoLabel, ConstantData, DataBuffer], str]]¶
Returns a list of tuples containing the 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: HighLevelILFunction¶
- instr_index: InstructionIndex¶
- property params: List[HighLevelILInstruction]¶
- class HighLevelILCallSsa(function: 'HighLevelILFunction', expr_index: <function NewType.<locals>.new_type at 0x7f4efe608a60>, core_instr: binaryninja.highlevelil.CoreHighLevelILInstruction, as_ast: bool, instr_index: <function NewType.<locals>.new_type at 0x7f4efe5e3280>)[source]¶
Bases:
HighLevelILInstruction
,Localcall
,SSA
- Parameters:
function (HighLevelILFunction) –
expr_index (ExpressionIndex) –
core_instr (CoreHighLevelILInstruction) –
as_ast (bool) –
instr_index (InstructionIndex) –
- core_instr: CoreHighLevelILInstruction¶
- property dest: HighLevelILInstruction¶
- property detailed_operands: List[Tuple[str, Union[HighLevelILInstruction, ILIntrinsic, Variable, SSAVariable, List[int], List[Variable], List[SSAVariable], List[HighLevelILInstruction], int, None, float, GotoLabel, ConstantData, DataBuffer], str]]¶
Returns a list of tuples containing the 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: HighLevelILFunction¶
- instr_index: InstructionIndex¶
- property params: List[HighLevelILInstruction]¶
- class HighLevelILCarryBase(function: 'HighLevelILFunction', expr_index: <function NewType.<locals>.new_type at 0x7f4efe608a60>, core_instr: binaryninja.highlevelil.CoreHighLevelILInstruction, as_ast: bool, instr_index: <function NewType.<locals>.new_type at 0x7f4efe5e3280>)[source]¶
Bases:
HighLevelILInstruction
,Arithmetic
- Parameters:
function (HighLevelILFunction) –
expr_index (ExpressionIndex) –
core_instr (CoreHighLevelILInstruction) –
as_ast (bool) –
instr_index (InstructionIndex) –
- property carry: HighLevelILInstruction¶
- core_instr: CoreHighLevelILInstruction¶
- property detailed_operands: List[Tuple[str, Union[HighLevelILInstruction, ILIntrinsic, Variable, SSAVariable, List[int], List[Variable], List[SSAVariable], List[HighLevelILInstruction], int, None, float, GotoLabel, ConstantData, DataBuffer], str]]¶
Returns a list of tuples containing the 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: HighLevelILFunction¶
- instr_index: InstructionIndex¶
- property left: HighLevelILInstruction¶
- property right: HighLevelILInstruction¶
- class HighLevelILCase(function: 'HighLevelILFunction', expr_index: <function NewType.<locals>.new_type at 0x7f4efe608a60>, core_instr: binaryninja.highlevelil.CoreHighLevelILInstruction, as_ast: bool, instr_index: <function NewType.<locals>.new_type at 0x7f4efe5e3280>)[source]¶
Bases:
HighLevelILInstruction
- Parameters:
function (HighLevelILFunction) –
expr_index (ExpressionIndex) –
core_instr (CoreHighLevelILInstruction) –
as_ast (bool) –
instr_index (InstructionIndex) –
- property body: HighLevelILInstruction¶
- core_instr: CoreHighLevelILInstruction¶
- property detailed_operands: List[Tuple[str, Union[HighLevelILInstruction, ILIntrinsic, Variable, SSAVariable, List[int], List[Variable], List[SSAVariable], List[HighLevelILInstruction], int, None, float, GotoLabel, ConstantData, DataBuffer], str]]¶
Returns a list of tuples containing the 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: HighLevelILFunction¶
- instr_index: InstructionIndex¶
- property values: List[HighLevelILInstruction]¶
- class HighLevelILCeil(function: 'HighLevelILFunction', expr_index: <function NewType.<locals>.new_type at 0x7f4efe608a60>, core_instr: binaryninja.highlevelil.CoreHighLevelILInstruction, as_ast: bool, instr_index: <function NewType.<locals>.new_type at 0x7f4efe5e3280>)[source]¶
Bases:
HighLevelILUnaryBase
,FloatingPoint
- Parameters:
function (HighLevelILFunction) –
expr_index (ExpressionIndex) –
core_instr (CoreHighLevelILInstruction) –
as_ast (bool) –
instr_index (InstructionIndex) –
- core_instr: CoreHighLevelILInstruction¶
- expr_index: ExpressionIndex¶
- function: HighLevelILFunction¶
- instr_index: InstructionIndex¶
- class HighLevelILCmpE(function: 'HighLevelILFunction', expr_index: <function NewType.<locals>.new_type at 0x7f4efe608a60>, core_instr: binaryninja.highlevelil.CoreHighLevelILInstruction, as_ast: bool, instr_index: <function NewType.<locals>.new_type at 0x7f4efe5e3280>)[source]¶
Bases:
HighLevelILComparisonBase
- Parameters:
function (HighLevelILFunction) –
expr_index (ExpressionIndex) –
core_instr (CoreHighLevelILInstruction) –
as_ast (bool) –
instr_index (InstructionIndex) –
- core_instr: CoreHighLevelILInstruction¶
- expr_index: ExpressionIndex¶
- function: HighLevelILFunction¶
- instr_index: InstructionIndex¶
- class HighLevelILCmpNe(function: 'HighLevelILFunction', expr_index: <function NewType.<locals>.new_type at 0x7f4efe608a60>, core_instr: binaryninja.highlevelil.CoreHighLevelILInstruction, as_ast: bool, instr_index: <function NewType.<locals>.new_type at 0x7f4efe5e3280>)[source]¶
Bases:
HighLevelILComparisonBase
- Parameters:
function (HighLevelILFunction) –
expr_index (ExpressionIndex) –
core_instr (CoreHighLevelILInstruction) –
as_ast (bool) –
instr_index (InstructionIndex) –
- core_instr: CoreHighLevelILInstruction¶
- expr_index: ExpressionIndex¶
- function: HighLevelILFunction¶
- instr_index: InstructionIndex¶
- class HighLevelILCmpSge(function: 'HighLevelILFunction', expr_index: <function NewType.<locals>.new_type at 0x7f4efe608a60>, core_instr: binaryninja.highlevelil.CoreHighLevelILInstruction, as_ast: bool, instr_index: <function NewType.<locals>.new_type at 0x7f4efe5e3280>)[source]¶
Bases:
HighLevelILComparisonBase
,Signed
- Parameters:
function (HighLevelILFunction) –
expr_index (ExpressionIndex) –
core_instr (CoreHighLevelILInstruction) –
as_ast (bool) –
instr_index (InstructionIndex) –
- core_instr: CoreHighLevelILInstruction¶
- expr_index: ExpressionIndex¶
- function: HighLevelILFunction¶
- instr_index: InstructionIndex¶
- class HighLevelILCmpSgt(function: 'HighLevelILFunction', expr_index: <function NewType.<locals>.new_type at 0x7f4efe608a60>, core_instr: binaryninja.highlevelil.CoreHighLevelILInstruction, as_ast: bool, instr_index: <function NewType.<locals>.new_type at 0x7f4efe5e3280>)[source]¶
Bases:
HighLevelILComparisonBase
,Signed
- Parameters:
function (HighLevelILFunction) –
expr_index (ExpressionIndex) –
core_instr (CoreHighLevelILInstruction) –
as_ast (bool) –
instr_index (InstructionIndex) –
- core_instr: CoreHighLevelILInstruction¶
- expr_index: ExpressionIndex¶
- function: HighLevelILFunction¶
- instr_index: InstructionIndex¶
- class HighLevelILCmpSle(function: 'HighLevelILFunction', expr_index: <function NewType.<locals>.new_type at 0x7f4efe608a60>, core_instr: binaryninja.highlevelil.CoreHighLevelILInstruction, as_ast: bool, instr_index: <function NewType.<locals>.new_type at 0x7f4efe5e3280>)[source]¶
Bases:
HighLevelILComparisonBase
,Signed
- Parameters:
function (HighLevelILFunction) –
expr_index (ExpressionIndex) –
core_instr (CoreHighLevelILInstruction) –
as_ast (bool) –
instr_index (InstructionIndex) –
- core_instr: CoreHighLevelILInstruction¶
- expr_index: ExpressionIndex¶
- function: HighLevelILFunction¶
- instr_index: InstructionIndex¶
- class HighLevelILCmpSlt(function: 'HighLevelILFunction', expr_index: <function NewType.<locals>.new_type at 0x7f4efe608a60>, core_instr: binaryninja.highlevelil.CoreHighLevelILInstruction, as_ast: bool, instr_index: <function NewType.<locals>.new_type at 0x7f4efe5e3280>)[source]¶
Bases:
HighLevelILComparisonBase
,Signed
- Parameters:
function (HighLevelILFunction) –
expr_index (ExpressionIndex) –
core_instr (CoreHighLevelILInstruction) –
as_ast (bool) –
instr_index (InstructionIndex) –
- core_instr: CoreHighLevelILInstruction¶
- expr_index: ExpressionIndex¶
- function: HighLevelILFunction¶
- instr_index: InstructionIndex¶
- class HighLevelILCmpUge(function: 'HighLevelILFunction', expr_index: <function NewType.<locals>.new_type at 0x7f4efe608a60>, core_instr: binaryninja.highlevelil.CoreHighLevelILInstruction, as_ast: bool, instr_index: <function NewType.<locals>.new_type at 0x7f4efe5e3280>)[source]¶
Bases:
HighLevelILComparisonBase
- Parameters:
function (HighLevelILFunction) –
expr_index (ExpressionIndex) –
core_instr (CoreHighLevelILInstruction) –
as_ast (bool) –
instr_index (InstructionIndex) –
- core_instr: CoreHighLevelILInstruction¶
- expr_index: ExpressionIndex¶
- function: HighLevelILFunction¶
- instr_index: InstructionIndex¶
- class HighLevelILCmpUgt(function: 'HighLevelILFunction', expr_index: <function NewType.<locals>.new_type at 0x7f4efe608a60>, core_instr: binaryninja.highlevelil.CoreHighLevelILInstruction, as_ast: bool, instr_index: <function NewType.<locals>.new_type at 0x7f4efe5e3280>)[source]¶
Bases:
HighLevelILComparisonBase
- Parameters:
function (HighLevelILFunction) –
expr_index (ExpressionIndex) –
core_instr (CoreHighLevelILInstruction) –
as_ast (bool) –
instr_index (InstructionIndex) –
- core_instr: CoreHighLevelILInstruction¶
- expr_index: ExpressionIndex¶
- function: HighLevelILFunction¶
- instr_index: InstructionIndex¶
- class HighLevelILCmpUle(function: 'HighLevelILFunction', expr_index: <function NewType.<locals>.new_type at 0x7f4efe608a60>, core_instr: binaryninja.highlevelil.CoreHighLevelILInstruction, as_ast: bool, instr_index: <function NewType.<locals>.new_type at 0x7f4efe5e3280>)[source]¶
Bases:
HighLevelILComparisonBase
- Parameters:
function (HighLevelILFunction) –
expr_index (ExpressionIndex) –
core_instr (CoreHighLevelILInstruction) –
as_ast (bool) –
instr_index (InstructionIndex) –
- core_instr: CoreHighLevelILInstruction¶
- expr_index: ExpressionIndex¶
- function: HighLevelILFunction¶
- instr_index: InstructionIndex¶
- class HighLevelILCmpUlt(function: 'HighLevelILFunction', expr_index: <function NewType.<locals>.new_type at 0x7f4efe608a60>, core_instr: binaryninja.highlevelil.CoreHighLevelILInstruction, as_ast: bool, instr_index: <function NewType.<locals>.new_type at 0x7f4efe5e3280>)[source]¶
Bases:
HighLevelILComparisonBase
- Parameters:
function (HighLevelILFunction) –
expr_index (ExpressionIndex) –
core_instr (CoreHighLevelILInstruction) –
as_ast (bool) –
instr_index (InstructionIndex) –
- core_instr: CoreHighLevelILInstruction¶
- expr_index: ExpressionIndex¶
- function: HighLevelILFunction¶
- instr_index: InstructionIndex¶
- class HighLevelILComparisonBase(function: 'HighLevelILFunction', expr_index: <function NewType.<locals>.new_type at 0x7f4efe608a60>, core_instr: binaryninja.highlevelil.CoreHighLevelILInstruction, as_ast: bool, instr_index: <function NewType.<locals>.new_type at 0x7f4efe5e3280>)[source]¶
Bases:
HighLevelILBinaryBase
,Comparison
- Parameters:
function (HighLevelILFunction) –
expr_index (ExpressionIndex) –
core_instr (CoreHighLevelILInstruction) –
as_ast (bool) –
instr_index (InstructionIndex) –
- core_instr: CoreHighLevelILInstruction¶
- expr_index: ExpressionIndex¶
- function: HighLevelILFunction¶
- instr_index: InstructionIndex¶
- class HighLevelILConst(function: 'HighLevelILFunction', expr_index: <function NewType.<locals>.new_type at 0x7f4efe608a60>, core_instr: binaryninja.highlevelil.CoreHighLevelILInstruction, as_ast: bool, instr_index: <function NewType.<locals>.new_type at 0x7f4efe5e3280>)[source]¶
Bases:
HighLevelILInstruction
,Constant
- Parameters:
function (HighLevelILFunction) –
expr_index (ExpressionIndex) –
core_instr (CoreHighLevelILInstruction) –
as_ast (bool) –
instr_index (InstructionIndex) –
- core_instr: CoreHighLevelILInstruction¶
- property detailed_operands: List[Tuple[str, Union[HighLevelILInstruction, ILIntrinsic, Variable, SSAVariable, List[int], List[Variable], List[SSAVariable], List[HighLevelILInstruction], int, None, float, GotoLabel, ConstantData, DataBuffer], str]]¶
Returns a list of tuples containing the 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: HighLevelILFunction¶
- instr_index: InstructionIndex¶
- class HighLevelILConstData(function: 'HighLevelILFunction', expr_index: <function NewType.<locals>.new_type at 0x7f4efe608a60>, core_instr: binaryninja.highlevelil.CoreHighLevelILInstruction, as_ast: bool, instr_index: <function NewType.<locals>.new_type at 0x7f4efe5e3280>)[source]¶
Bases:
HighLevelILInstruction
,Constant
- Parameters:
function (HighLevelILFunction) –
expr_index (ExpressionIndex) –
core_instr (CoreHighLevelILInstruction) –
as_ast (bool) –
instr_index (InstructionIndex) –
- property constant_data: ConstantData¶
- core_instr: CoreHighLevelILInstruction¶
- property detailed_operands: List[Tuple[str, Union[HighLevelILInstruction, ILIntrinsic, Variable, SSAVariable, List[int], List[Variable], List[SSAVariable], List[HighLevelILInstruction], int, None, float, GotoLabel, ConstantData, DataBuffer], str]]¶
Returns a list of tuples containing the 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: HighLevelILFunction¶
- instr_index: InstructionIndex¶
- class HighLevelILConstPtr(function: 'HighLevelILFunction', expr_index: <function NewType.<locals>.new_type at 0x7f4efe608a60>, core_instr: binaryninja.highlevelil.CoreHighLevelILInstruction, as_ast: bool, instr_index: <function NewType.<locals>.new_type at 0x7f4efe5e3280>)[source]¶
Bases:
HighLevelILInstruction
,Constant
- Parameters:
function (HighLevelILFunction) –
expr_index (ExpressionIndex) –
core_instr (CoreHighLevelILInstruction) –
as_ast (bool) –
instr_index (InstructionIndex) –
- core_instr: CoreHighLevelILInstruction¶
- property detailed_operands: List[Tuple[str, Union[HighLevelILInstruction, ILIntrinsic, Variable, SSAVariable, List[int], List[Variable], List[SSAVariable], List[HighLevelILInstruction], int, None, float, GotoLabel, ConstantData, DataBuffer], str]]¶
Returns a list of tuples containing the 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: HighLevelILFunction¶
- instr_index: InstructionIndex¶
- class HighLevelILContinue(function: 'HighLevelILFunction', expr_index: <function NewType.<locals>.new_type at 0x7f4efe608a60>, core_instr: binaryninja.highlevelil.CoreHighLevelILInstruction, as_ast: bool, instr_index: <function NewType.<locals>.new_type at 0x7f4efe5e3280>)[source]¶
Bases:
HighLevelILInstruction
,ControlFlow
- Parameters:
function (HighLevelILFunction) –
expr_index (ExpressionIndex) –
core_instr (CoreHighLevelILInstruction) –
as_ast (bool) –
instr_index (InstructionIndex) –
- core_instr: CoreHighLevelILInstruction¶
- expr_index: ExpressionIndex¶
- function: HighLevelILFunction¶
- instr_index: InstructionIndex¶
- class HighLevelILDeref(function: 'HighLevelILFunction', expr_index: <function NewType.<locals>.new_type at 0x7f4efe608a60>, core_instr: binaryninja.highlevelil.CoreHighLevelILInstruction, as_ast: bool, instr_index: <function NewType.<locals>.new_type at 0x7f4efe5e3280>)[source]¶
Bases:
HighLevelILUnaryBase
- Parameters:
function (HighLevelILFunction) –
expr_index (ExpressionIndex) –
core_instr (CoreHighLevelILInstruction) –
as_ast (bool) –
instr_index (InstructionIndex) –
- core_instr: CoreHighLevelILInstruction¶
- expr_index: ExpressionIndex¶
- function: HighLevelILFunction¶
- instr_index: InstructionIndex¶
- class HighLevelILDerefField(function: 'HighLevelILFunction', expr_index: <function NewType.<locals>.new_type at 0x7f4efe608a60>, core_instr: binaryninja.highlevelil.CoreHighLevelILInstruction, as_ast: bool, instr_index: <function NewType.<locals>.new_type at 0x7f4efe5e3280>)[source]¶
Bases:
HighLevelILInstruction
- Parameters:
function (HighLevelILFunction) –
expr_index (ExpressionIndex) –
core_instr (CoreHighLevelILInstruction) –
as_ast (bool) –
instr_index (InstructionIndex) –
- core_instr: CoreHighLevelILInstruction¶
- property detailed_operands: List[Tuple[str, Union[HighLevelILInstruction, ILIntrinsic, Variable, SSAVariable, List[int], List[Variable], List[SSAVariable], List[HighLevelILInstruction], int, None, float, GotoLabel, ConstantData, DataBuffer], str]]¶
Returns a list of tuples containing the 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: HighLevelILFunction¶
- instr_index: InstructionIndex¶
- property src: HighLevelILInstruction¶
- class HighLevelILDerefFieldSsa(function: 'HighLevelILFunction', expr_index: <function NewType.<locals>.new_type at 0x7f4efe608a60>, core_instr: binaryninja.highlevelil.CoreHighLevelILInstruction, as_ast: bool, instr_index: <function NewType.<locals>.new_type at 0x7f4efe5e3280>)[source]¶
Bases:
HighLevelILInstruction
,SSA
- Parameters:
function (HighLevelILFunction) –
expr_index (ExpressionIndex) –
core_instr (CoreHighLevelILInstruction) –
as_ast (bool) –
instr_index (InstructionIndex) –
- core_instr: CoreHighLevelILInstruction¶
- property detailed_operands: List[Tuple[str, Union[HighLevelILInstruction, ILIntrinsic, Variable, SSAVariable, List[int], List[Variable], List[SSAVariable], List[HighLevelILInstruction], int, None, float, GotoLabel, ConstantData, DataBuffer], str]]¶
Returns a list of tuples containing the 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: HighLevelILFunction¶
- instr_index: InstructionIndex¶
- property src: HighLevelILInstruction¶
- class HighLevelILDerefSsa(function: 'HighLevelILFunction', expr_index: <function NewType.<locals>.new_type at 0x7f4efe608a60>, core_instr: binaryninja.highlevelil.CoreHighLevelILInstruction, as_ast: bool, instr_index: <function NewType.<locals>.new_type at 0x7f4efe5e3280>)[source]¶
Bases:
HighLevelILInstruction
,SSA
- Parameters:
function (HighLevelILFunction) –
expr_index (ExpressionIndex) –
core_instr (CoreHighLevelILInstruction) –
as_ast (bool) –
instr_index (InstructionIndex) –
- core_instr: CoreHighLevelILInstruction¶
- property detailed_operands: List[Tuple[str, Union[HighLevelILInstruction, ILIntrinsic, Variable, SSAVariable, List[int], List[Variable], List[SSAVariable], List[HighLevelILInstruction], int, None, float, GotoLabel, ConstantData, DataBuffer], str]]¶
Returns a list of tuples containing the 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: HighLevelILFunction¶
- instr_index: InstructionIndex¶
- property src: HighLevelILInstruction¶
- class HighLevelILDivs(function: 'HighLevelILFunction', expr_index: <function NewType.<locals>.new_type at 0x7f4efe608a60>, core_instr: binaryninja.highlevelil.CoreHighLevelILInstruction, as_ast: bool, instr_index: <function NewType.<locals>.new_type at 0x7f4efe5e3280>)[source]¶
Bases:
HighLevelILBinaryBase
,Signed
- Parameters:
function (HighLevelILFunction) –
expr_index (ExpressionIndex) –
core_instr (CoreHighLevelILInstruction) –
as_ast (bool) –
instr_index (InstructionIndex) –
- core_instr: CoreHighLevelILInstruction¶
- expr_index: ExpressionIndex¶
- function: HighLevelILFunction¶
- instr_index: InstructionIndex¶
- class HighLevelILDivsDp(function: 'HighLevelILFunction', expr_index: <function NewType.<locals>.new_type at 0x7f4efe608a60>, core_instr: binaryninja.highlevelil.CoreHighLevelILInstruction, as_ast: bool, instr_index: <function NewType.<locals>.new_type at 0x7f4efe5e3280>)[source]¶
Bases:
HighLevelILBinaryBase
,Signed
,DoublePrecision
- Parameters:
function (HighLevelILFunction) –
expr_index (ExpressionIndex) –
core_instr (CoreHighLevelILInstruction) –
as_ast (bool) –
instr_index (InstructionIndex) –
- core_instr: CoreHighLevelILInstruction¶
- expr_index: ExpressionIndex¶
- function: HighLevelILFunction¶
- instr_index: InstructionIndex¶
- class HighLevelILDivu(function: 'HighLevelILFunction', expr_index: <function NewType.<locals>.new_type at 0x7f4efe608a60>, core_instr: binaryninja.highlevelil.CoreHighLevelILInstruction, as_ast: bool, instr_index: <function NewType.<locals>.new_type at 0x7f4efe5e3280>)[source]¶
Bases:
HighLevelILBinaryBase
,Arithmetic
- Parameters:
function (HighLevelILFunction) –
expr_index (ExpressionIndex) –
core_instr (CoreHighLevelILInstruction) –
as_ast (bool) –
instr_index (InstructionIndex) –
- core_instr: CoreHighLevelILInstruction¶
- expr_index: ExpressionIndex¶
- function: HighLevelILFunction¶
- instr_index: InstructionIndex¶
- class HighLevelILDivuDp(function: 'HighLevelILFunction', expr_index: <function NewType.<locals>.new_type at 0x7f4efe608a60>, core_instr: binaryninja.highlevelil.CoreHighLevelILInstruction, as_ast: bool, instr_index: <function NewType.<locals>.new_type at 0x7f4efe5e3280>)[source]¶
Bases:
HighLevelILBinaryBase
,DoublePrecision
- Parameters:
function (HighLevelILFunction) –
expr_index (ExpressionIndex) –
core_instr (CoreHighLevelILInstruction) –
as_ast (bool) –
instr_index (InstructionIndex) –
- core_instr: CoreHighLevelILInstruction¶
- expr_index: ExpressionIndex¶
- function: HighLevelILFunction¶
- instr_index: InstructionIndex¶
- class HighLevelILDoWhile(function: 'HighLevelILFunction', expr_index: <function NewType.<locals>.new_type at 0x7f4efe608a60>, core_instr: binaryninja.highlevelil.CoreHighLevelILInstruction, as_ast: bool, instr_index: <function NewType.<locals>.new_type at 0x7f4efe5e3280>)[source]¶
Bases:
HighLevelILInstruction
,Loop
- Parameters:
function (HighLevelILFunction) –
expr_index (ExpressionIndex) –
core_instr (CoreHighLevelILInstruction) –
as_ast (bool) –
instr_index (InstructionIndex) –
- property body: HighLevelILInstruction¶
- property condition: HighLevelILInstruction¶
- core_instr: CoreHighLevelILInstruction¶
- property detailed_operands: List[Tuple[str, Union[HighLevelILInstruction, ILIntrinsic, Variable, SSAVariable, List[int], List[Variable], List[SSAVariable], List[HighLevelILInstruction], int, None, float, GotoLabel, ConstantData, DataBuffer], str]]¶
Returns a list of tuples containing the 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: HighLevelILFunction¶
- instr_index: InstructionIndex¶
- class HighLevelILDoWhileSsa(function: 'HighLevelILFunction', expr_index: <function NewType.<locals>.new_type at 0x7f4efe608a60>, core_instr: binaryninja.highlevelil.CoreHighLevelILInstruction, as_ast: bool, instr_index: <function NewType.<locals>.new_type at 0x7f4efe5e3280>)[source]¶
Bases:
HighLevelILInstruction
,Loop
,SSA
- Parameters:
function (HighLevelILFunction) –
expr_index (ExpressionIndex) –
core_instr (CoreHighLevelILInstruction) –
as_ast (bool) –
instr_index (InstructionIndex) –
- property body: HighLevelILInstruction¶
- property condition: HighLevelILInstruction¶
- property condition_phi: HighLevelILInstruction¶
- core_instr: CoreHighLevelILInstruction¶
- property detailed_operands: List[Tuple[str, Union[HighLevelILInstruction, ILIntrinsic, Variable, SSAVariable, List[int], List[Variable], List[SSAVariable], List[HighLevelILInstruction], int, None, float, GotoLabel, ConstantData, DataBuffer], str]]¶
Returns a list of tuples containing the 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: HighLevelILFunction¶
- instr_index: InstructionIndex¶
- class HighLevelILExpr(index: ExpressionIndex)[source]¶
Bases:
object
class HighLevelILExpr
hold the index of IL Expressions.Note
Use ExpressionIndex instead
- Parameters:
index (ExpressionIndex) –
- property index: ExpressionIndex¶
- class HighLevelILExternPtr(function: 'HighLevelILFunction', expr_index: <function NewType.<locals>.new_type at 0x7f4efe608a60>, core_instr: binaryninja.highlevelil.CoreHighLevelILInstruction, as_ast: bool, instr_index: <function NewType.<locals>.new_type at 0x7f4efe5e3280>)[source]¶
Bases:
HighLevelILInstruction
,Constant
- Parameters:
function (HighLevelILFunction) –
expr_index (ExpressionIndex) –
core_instr (CoreHighLevelILInstruction) –
as_ast (bool) –
instr_index (InstructionIndex) –
- core_instr: CoreHighLevelILInstruction¶
- property detailed_operands: List[Tuple[str, Union[HighLevelILInstruction, ILIntrinsic, Variable, SSAVariable, List[int], List[Variable], List[SSAVariable], List[HighLevelILInstruction], int, None, float, GotoLabel, ConstantData, DataBuffer], str]]¶
Returns a list of tuples containing the 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: HighLevelILFunction¶
- instr_index: InstructionIndex¶
- class HighLevelILFabs(function: 'HighLevelILFunction', expr_index: <function NewType.<locals>.new_type at 0x7f4efe608a60>, core_instr: binaryninja.highlevelil.CoreHighLevelILInstruction, as_ast: bool, instr_index: <function NewType.<locals>.new_type at 0x7f4efe5e3280>)[source]¶
Bases:
HighLevelILUnaryBase
,FloatingPoint
- Parameters:
function (HighLevelILFunction) –
expr_index (ExpressionIndex) –
core_instr (CoreHighLevelILInstruction) –
as_ast (bool) –
instr_index (InstructionIndex) –
- core_instr: CoreHighLevelILInstruction¶
- expr_index: ExpressionIndex¶
- function: HighLevelILFunction¶
- instr_index: InstructionIndex¶
- class HighLevelILFadd(function: 'HighLevelILFunction', expr_index: <function NewType.<locals>.new_type at 0x7f4efe608a60>, core_instr: binaryninja.highlevelil.CoreHighLevelILInstruction, as_ast: bool, instr_index: <function NewType.<locals>.new_type at 0x7f4efe5e3280>)[source]¶
Bases:
HighLevelILBinaryBase
,FloatingPoint
- Parameters:
function (HighLevelILFunction) –
expr_index (ExpressionIndex) –
core_instr (CoreHighLevelILInstruction) –
as_ast (bool) –
instr_index (InstructionIndex) –
- core_instr: CoreHighLevelILInstruction¶
- expr_index: ExpressionIndex¶
- function: HighLevelILFunction¶
- instr_index: InstructionIndex¶
- class HighLevelILFcmpE(function: 'HighLevelILFunction', expr_index: <function NewType.<locals>.new_type at 0x7f4efe608a60>, core_instr: binaryninja.highlevelil.CoreHighLevelILInstruction, as_ast: bool, instr_index: <function NewType.<locals>.new_type at 0x7f4efe5e3280>)[source]¶
Bases:
HighLevelILComparisonBase
,FloatingPoint
- Parameters:
function (HighLevelILFunction) –
expr_index (ExpressionIndex) –
core_instr (CoreHighLevelILInstruction) –
as_ast (bool) –
instr_index (InstructionIndex) –
- core_instr: CoreHighLevelILInstruction¶
- expr_index: ExpressionIndex¶
- function: HighLevelILFunction¶
- instr_index: InstructionIndex¶
- class HighLevelILFcmpGe(function: 'HighLevelILFunction', expr_index: <function NewType.<locals>.new_type at 0x7f4efe608a60>, core_instr: binaryninja.highlevelil.CoreHighLevelILInstruction, as_ast: bool, instr_index: <function NewType.<locals>.new_type at 0x7f4efe5e3280>)[source]¶
Bases:
HighLevelILComparisonBase
,FloatingPoint
- Parameters:
function (HighLevelILFunction) –
expr_index (ExpressionIndex) –
core_instr (CoreHighLevelILInstruction) –
as_ast (bool) –
instr_index (InstructionIndex) –
- core_instr: CoreHighLevelILInstruction¶
- expr_index: ExpressionIndex¶
- function: HighLevelILFunction¶
- instr_index: InstructionIndex¶
- class HighLevelILFcmpGt(function: 'HighLevelILFunction', expr_index: <function NewType.<locals>.new_type at 0x7f4efe608a60>, core_instr: binaryninja.highlevelil.CoreHighLevelILInstruction, as_ast: bool, instr_index: <function NewType.<locals>.new_type at 0x7f4efe5e3280>)[source]¶
Bases:
HighLevelILComparisonBase
,FloatingPoint
- Parameters:
function (HighLevelILFunction) –
expr_index (ExpressionIndex) –
core_instr (CoreHighLevelILInstruction) –
as_ast (bool) –
instr_index (InstructionIndex) –
- core_instr: CoreHighLevelILInstruction¶
- expr_index: ExpressionIndex¶
- function: HighLevelILFunction¶
- instr_index: InstructionIndex¶
- class HighLevelILFcmpLe(function: 'HighLevelILFunction', expr_index: <function NewType.<locals>.new_type at 0x7f4efe608a60>, core_instr: binaryninja.highlevelil.CoreHighLevelILInstruction, as_ast: bool, instr_index: <function NewType.<locals>.new_type at 0x7f4efe5e3280>)[source]¶
Bases:
HighLevelILComparisonBase
,FloatingPoint
- Parameters:
function (HighLevelILFunction) –
expr_index (ExpressionIndex) –
core_instr (CoreHighLevelILInstruction) –
as_ast (bool) –
instr_index (InstructionIndex) –
- core_instr: CoreHighLevelILInstruction¶
- expr_index: ExpressionIndex¶
- function: HighLevelILFunction¶
- instr_index: InstructionIndex¶
- class HighLevelILFcmpLt(function: 'HighLevelILFunction', expr_index: <function NewType.<locals>.new_type at 0x7f4efe608a60>, core_instr: binaryninja.highlevelil.CoreHighLevelILInstruction, as_ast: bool, instr_index: <function NewType.<locals>.new_type at 0x7f4efe5e3280>)[source]¶
Bases:
HighLevelILComparisonBase
,FloatingPoint
- Parameters:
function (HighLevelILFunction) –
expr_index (ExpressionIndex) –
core_instr (CoreHighLevelILInstruction) –
as_ast (bool) –
instr_index (InstructionIndex) –
- core_instr: CoreHighLevelILInstruction¶
- expr_index: ExpressionIndex¶
- function: HighLevelILFunction¶
- instr_index: InstructionIndex¶
- class HighLevelILFcmpNe(function: 'HighLevelILFunction', expr_index: <function NewType.<locals>.new_type at 0x7f4efe608a60>, core_instr: binaryninja.highlevelil.CoreHighLevelILInstruction, as_ast: bool, instr_index: <function NewType.<locals>.new_type at 0x7f4efe5e3280>)[source]¶
Bases:
HighLevelILComparisonBase
,FloatingPoint
- Parameters:
function (HighLevelILFunction) –
expr_index (ExpressionIndex) –
core_instr (CoreHighLevelILInstruction) –
as_ast (bool) –
instr_index (InstructionIndex) –
- core_instr: CoreHighLevelILInstruction¶
- expr_index: ExpressionIndex¶
- function: HighLevelILFunction¶
- instr_index: InstructionIndex¶
- class HighLevelILFcmpO(function: 'HighLevelILFunction', expr_index: <function NewType.<locals>.new_type at 0x7f4efe608a60>, core_instr: binaryninja.highlevelil.CoreHighLevelILInstruction, as_ast: bool, instr_index: <function NewType.<locals>.new_type at 0x7f4efe5e3280>)[source]¶
Bases:
HighLevelILComparisonBase
,FloatingPoint
- Parameters:
function (HighLevelILFunction) –
expr_index (ExpressionIndex) –
core_instr (CoreHighLevelILInstruction) –
as_ast (bool) –
instr_index (InstructionIndex) –
- core_instr: CoreHighLevelILInstruction¶
- expr_index: ExpressionIndex¶
- function: HighLevelILFunction¶
- instr_index: InstructionIndex¶
- class HighLevelILFcmpUo(function: 'HighLevelILFunction', expr_index: <function NewType.<locals>.new_type at 0x7f4efe608a60>, core_instr: binaryninja.highlevelil.CoreHighLevelILInstruction, as_ast: bool, instr_index: <function NewType.<locals>.new_type at 0x7f4efe5e3280>)[source]¶
Bases:
HighLevelILComparisonBase
,FloatingPoint
- Parameters:
function (HighLevelILFunction) –
expr_index (ExpressionIndex) –
core_instr (CoreHighLevelILInstruction) –
as_ast (bool) –
instr_index (InstructionIndex) –
- core_instr: CoreHighLevelILInstruction¶
- expr_index: ExpressionIndex¶
- function: HighLevelILFunction¶
- instr_index: InstructionIndex¶
- class HighLevelILFdiv(function: 'HighLevelILFunction', expr_index: <function NewType.<locals>.new_type at 0x7f4efe608a60>, core_instr: binaryninja.highlevelil.CoreHighLevelILInstruction, as_ast: bool, instr_index: <function NewType.<locals>.new_type at 0x7f4efe5e3280>)[source]¶
Bases:
HighLevelILBinaryBase
,FloatingPoint
- Parameters:
function (HighLevelILFunction) –
expr_index (ExpressionIndex) –
core_instr (CoreHighLevelILInstruction) –
as_ast (bool) –
instr_index (InstructionIndex) –
- core_instr: CoreHighLevelILInstruction¶
- expr_index: ExpressionIndex¶
- function: HighLevelILFunction¶
- instr_index: InstructionIndex¶
- class HighLevelILFloatConst(function: 'HighLevelILFunction', expr_index: <function NewType.<locals>.new_type at 0x7f4efe608a60>, core_instr: binaryninja.highlevelil.CoreHighLevelILInstruction, as_ast: bool, instr_index: <function NewType.<locals>.new_type at 0x7f4efe5e3280>)[source]¶
Bases:
HighLevelILInstruction
,Constant
- Parameters:
function (HighLevelILFunction) –
expr_index (ExpressionIndex) –
core_instr (CoreHighLevelILInstruction) –
as_ast (bool) –
instr_index (InstructionIndex) –
- core_instr: CoreHighLevelILInstruction¶
- property detailed_operands: List[Tuple[str, Union[HighLevelILInstruction, ILIntrinsic, Variable, SSAVariable, List[int], List[Variable], List[SSAVariable], List[HighLevelILInstruction], int, None, float, GotoLabel, ConstantData, DataBuffer], str]]¶
Returns a list of tuples containing the 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: HighLevelILFunction¶
- instr_index: InstructionIndex¶
- class HighLevelILFloatConv(function: 'HighLevelILFunction', expr_index: <function NewType.<locals>.new_type at 0x7f4efe608a60>, core_instr: binaryninja.highlevelil.CoreHighLevelILInstruction, as_ast: bool, instr_index: <function NewType.<locals>.new_type at 0x7f4efe5e3280>)[source]¶
Bases:
HighLevelILUnaryBase
,FloatingPoint
- Parameters:
function (HighLevelILFunction) –
expr_index (ExpressionIndex) –
core_instr (CoreHighLevelILInstruction) –
as_ast (bool) –
instr_index (InstructionIndex) –
- core_instr: CoreHighLevelILInstruction¶
- expr_index: ExpressionIndex¶
- function: HighLevelILFunction¶
- instr_index: InstructionIndex¶
- class HighLevelILFloatToInt(function: 'HighLevelILFunction', expr_index: <function NewType.<locals>.new_type at 0x7f4efe608a60>, core_instr: binaryninja.highlevelil.CoreHighLevelILInstruction, as_ast: bool, instr_index: <function NewType.<locals>.new_type at 0x7f4efe5e3280>)[source]¶
Bases:
HighLevelILUnaryBase
,FloatingPoint
- Parameters:
function (HighLevelILFunction) –
expr_index (ExpressionIndex) –
core_instr (CoreHighLevelILInstruction) –
as_ast (bool) –
instr_index (InstructionIndex) –
- core_instr: CoreHighLevelILInstruction¶
- expr_index: ExpressionIndex¶
- function: HighLevelILFunction¶
- instr_index: InstructionIndex¶
- class HighLevelILFloor(function: 'HighLevelILFunction', expr_index: <function NewType.<locals>.new_type at 0x7f4efe608a60>, core_instr: binaryninja.highlevelil.CoreHighLevelILInstruction, as_ast: bool, instr_index: <function NewType.<locals>.new_type at 0x7f4efe5e3280>)[source]¶
Bases:
HighLevelILUnaryBase
,FloatingPoint
- Parameters:
function (HighLevelILFunction) –
expr_index (ExpressionIndex) –
core_instr (CoreHighLevelILInstruction) –
as_ast (bool) –
instr_index (InstructionIndex) –
- core_instr: CoreHighLevelILInstruction¶
- expr_index: ExpressionIndex¶
- function: HighLevelILFunction¶
- instr_index: InstructionIndex¶
- class HighLevelILFmul(function: 'HighLevelILFunction', expr_index: <function NewType.<locals>.new_type at 0x7f4efe608a60>, core_instr: binaryninja.highlevelil.CoreHighLevelILInstruction, as_ast: bool, instr_index: <function NewType.<locals>.new_type at 0x7f4efe5e3280>)[source]¶
Bases:
HighLevelILBinaryBase
,FloatingPoint
- Parameters:
function (HighLevelILFunction) –
expr_index (ExpressionIndex) –
core_instr (CoreHighLevelILInstruction) –
as_ast (bool) –
instr_index (InstructionIndex) –
- core_instr: CoreHighLevelILInstruction¶
- expr_index: ExpressionIndex¶
- function: HighLevelILFunction¶
- instr_index: InstructionIndex¶
- class HighLevelILFneg(function: 'HighLevelILFunction', expr_index: <function NewType.<locals>.new_type at 0x7f4efe608a60>, core_instr: binaryninja.highlevelil.CoreHighLevelILInstruction, as_ast: bool, instr_index: <function NewType.<locals>.new_type at 0x7f4efe5e3280>)[source]¶
Bases:
HighLevelILUnaryBase
,FloatingPoint
- Parameters:
function (HighLevelILFunction) –
expr_index (ExpressionIndex) –
core_instr (CoreHighLevelILInstruction) –
as_ast (bool) –
instr_index (InstructionIndex) –
- core_instr: CoreHighLevelILInstruction¶
- expr_index: ExpressionIndex¶
- function: HighLevelILFunction¶
- instr_index: InstructionIndex¶
- class HighLevelILFor(function: 'HighLevelILFunction', expr_index: <function NewType.<locals>.new_type at 0x7f4efe608a60>, core_instr: binaryninja.highlevelil.CoreHighLevelILInstruction, as_ast: bool, instr_index: <function NewType.<locals>.new_type at 0x7f4efe5e3280>)[source]¶
Bases:
HighLevelILInstruction
,Loop
- Parameters:
function (HighLevelILFunction) –
expr_index (ExpressionIndex) –
core_instr (CoreHighLevelILInstruction) –
as_ast (bool) –
instr_index (InstructionIndex) –
- property body: HighLevelILInstruction¶
- property condition: HighLevelILInstruction¶
- core_instr: CoreHighLevelILInstruction¶
- property detailed_operands: List[Tuple[str, Union[HighLevelILInstruction, ILIntrinsic, Variable, SSAVariable, List[int], List[Variable], List[SSAVariable], List[HighLevelILInstruction], int, None, float, GotoLabel, ConstantData, DataBuffer], str]]¶
Returns a list of tuples containing the 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: HighLevelILFunction¶
- property init: HighLevelILInstruction¶
- instr_index: InstructionIndex¶
- property update: HighLevelILInstruction¶
- class HighLevelILForSsa(function: 'HighLevelILFunction', expr_index: <function NewType.<locals>.new_type at 0x7f4efe608a60>, core_instr: binaryninja.highlevelil.CoreHighLevelILInstruction, as_ast: bool, instr_index: <function NewType.<locals>.new_type at 0x7f4efe5e3280>)[source]¶
Bases:
HighLevelILInstruction
,Loop
,SSA
- Parameters:
function (HighLevelILFunction) –
expr_index (ExpressionIndex) –
core_instr (CoreHighLevelILInstruction) –
as_ast (bool) –
instr_index (InstructionIndex) –
- property body: HighLevelILInstruction¶
- property condition: HighLevelILInstruction¶
- property condition_phi: HighLevelILInstruction¶
- core_instr: CoreHighLevelILInstruction¶
- property detailed_operands: List[Tuple[str, Union[HighLevelILInstruction, ILIntrinsic, Variable, SSAVariable, List[int], List[Variable], List[SSAVariable], List[HighLevelILInstruction], int, None, float, GotoLabel, ConstantData, DataBuffer], str]]¶
Returns a list of tuples containing the 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: HighLevelILFunction¶
- property init: HighLevelILInstruction¶
- instr_index: InstructionIndex¶
- property update: HighLevelILInstruction¶
- class HighLevelILFsqrt(function: 'HighLevelILFunction', expr_index: <function NewType.<locals>.new_type at 0x7f4efe608a60>, core_instr: binaryninja.highlevelil.CoreHighLevelILInstruction, as_ast: bool, instr_index: <function NewType.<locals>.new_type at 0x7f4efe5e3280>)[source]¶
Bases:
HighLevelILUnaryBase
,FloatingPoint
- Parameters:
function (HighLevelILFunction) –
expr_index (ExpressionIndex) –
core_instr (CoreHighLevelILInstruction) –
as_ast (bool) –
instr_index (InstructionIndex) –
- core_instr: CoreHighLevelILInstruction¶
- expr_index: ExpressionIndex¶
- function: HighLevelILFunction¶
- instr_index: InstructionIndex¶
- class HighLevelILFsub(function: 'HighLevelILFunction', expr_index: <function NewType.<locals>.new_type at 0x7f4efe608a60>, core_instr: binaryninja.highlevelil.CoreHighLevelILInstruction, as_ast: bool, instr_index: <function NewType.<locals>.new_type at 0x7f4efe5e3280>)[source]¶
Bases:
HighLevelILBinaryBase
,FloatingPoint
- Parameters:
function (HighLevelILFunction) –
expr_index (ExpressionIndex) –
core_instr (CoreHighLevelILInstruction) –
as_ast (bool) –
instr_index (InstructionIndex) –
- core_instr: CoreHighLevelILInstruction¶
- expr_index: ExpressionIndex¶
- function: HighLevelILFunction¶
- instr_index: InstructionIndex¶
- class HighLevelILFtrunc(function: 'HighLevelILFunction', expr_index: <function NewType.<locals>.new_type at 0x7f4efe608a60>, core_instr: binaryninja.highlevelil.CoreHighLevelILInstruction, as_ast: bool, instr_index: <function NewType.<locals>.new_type at 0x7f4efe5e3280>)[source]¶
Bases:
HighLevelILUnaryBase
,FloatingPoint
- Parameters:
function (HighLevelILFunction) –
expr_index (ExpressionIndex) –
core_instr (CoreHighLevelILInstruction) –
as_ast (bool) –
instr_index (InstructionIndex) –
- core_instr: CoreHighLevelILInstruction¶
- expr_index: ExpressionIndex¶
- function: HighLevelILFunction¶
- instr_index: InstructionIndex¶
- class HighLevelILFunction(arch: Optional[Architecture] = None, handle: Optional[BNHighLevelILFunction] = None, source_func: Optional[Function] = None)[source]¶
Bases:
object
class HighLevelILFunction
contains the a HighLevelILInstruction object that makes up the abstract syntax tree of a function.- Parameters:
arch (Optional[Architecture]) –
handle (Optional[BNHighLevelILFunction]) –
- add_operand_list(operands: List[int]) ExpressionIndex [source]¶
add_operand_list
returns an operand list expression for the given list of integer operands.
- create_graph(settings: Optional[DisassemblySettings] = None) CoreFlowGraph [source]¶
- Parameters:
settings (Optional[DisassemblySettings]) –
- Return type:
- expr(operation: Union[str, HighLevelILOperation], a: int = 0, b: int = 0, c: int = 0, d: int = 0, e: int = 0, size: int = 0) ExpressionIndex [source]¶
- finalize() None [source]¶
finalize
ends the function and computes the list of basic blocks.- Return type:
None
- generate_ssa_form(variables: Optional[List[Variable]] = None) None [source]¶
generate_ssa_form
generate SSA form given the current HLIL
- get_basic_block_at(index: int) Optional[BasicBlock] [source]¶
get_basic_block_at
returns the BasicBlock at the given HLIL instructionindex
.- Parameters:
index (int) – Index of the HLIL instruction of the BasicBlock to retrieve.
- Example:
>>> current_il_function.get_basic_block_at(current_il_index) <llil block: [email protected]>
- Return type:
- get_expr_type(expr_index: int) Optional[Type] [source]¶
Get type of expression
- Parameters:
expr_index (int) – index of the expression to retrieve
- Return type:
Optional[’types.Type’]
- get_label(label_idx: int) Optional[HighLevelILInstruction] [source]¶
- Parameters:
label_idx (int) –
- Return type:
- get_label_uses(label_idx: int) List[HighLevelILInstruction] [source]¶
- Parameters:
label_idx (int) –
- Return type:
- 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_ssa_memory_definition(version: int) Optional[HighLevelILInstruction] [source]¶
- Parameters:
version (int) –
- Return type:
- get_ssa_memory_uses(version: int) List[HighLevelILInstruction] [source]¶
- Parameters:
version (int) –
- Return type:
- get_ssa_var_definition(ssa_var: SSAVariable) Optional[HighLevelILInstruction] [source]¶
- Parameters:
ssa_var (SSAVariable) –
- Return type:
- get_ssa_var_uses(ssa_var: SSAVariable) List[HighLevelILInstruction] [source]¶
- Parameters:
ssa_var (SSAVariable) –
- Return type:
- get_var_definitions(var: Variable) List[HighLevelILInstruction] [source]¶
- Parameters:
var (Variable) –
- Return type:
- get_var_uses(var: Variable) List[HighLevelILInstruction] [source]¶
- Parameters:
var (Variable) –
- Return type:
- is_ssa_var_live(ssa_var: SSAVariable) bool [source]¶
is_ssa_var_live
determines ifssa_var
is live at any point in the function- Parameters:
ssa_var (SSAVariable) – the SSA variable to query
- Returns:
whether the variable is live at any point in the function
- Return type:
- is_ssa_var_live_at(ssa_var: SSAVariable, instr: InstructionIndex) bool [source]¶
is_ssa_var_live_at
determines ifssa_var
is live at a given point in the function; counts phi’s as uses- Parameters:
ssa_var (SSAVariable) –
instr (InstructionIndex) –
- Return type:
- is_var_live_at(var: Variable, instr: InstructionIndex) bool [source]¶
is_var_live_at
determines ifvar
is live at a given point in the function
- replace_expr(original: Union[HighLevelILInstruction, ExpressionIndex, InstructionIndex], new: Union[HighLevelILInstruction, ExpressionIndex, InstructionIndex]) None [source]¶
replace_expr
allows modification of HLIL expressions- Parameters:
original (ExpressionIndex) – the ExpressionIndex to replace (may also be an expression index)
new (ExpressionIndex) – the ExpressionIndex to add to the current HighLevelILFunction (may also be an expression index)
- Return type:
None
- set_current_address(value: int, arch: Optional[Architecture] = None) None [source]¶
- Parameters:
value (int) –
arch (Optional[Architecture]) –
- Return type:
None
- set_expr_attributes(expr: Union[HighLevelILInstruction, ExpressionIndex, InstructionIndex], value: Union[Set[ILInstructionAttribute], List[ILInstructionAttribute]])[source]¶
set_expr_attributes
allows modification of instruction attributes but ONLY during lifting.Warning
This function should ONLY be called as a part of a lifter. It will otherwise not do anything useful as there’s no way to trigger re-analysis of IL levels at this time.
- Parameters:
expr (ExpressionIndex) – the ExpressionIndex to replace (may also be an expression index)
value (set(ILInstructionAttribute)) – the set of attributes to place on the instruction
- Return type:
None
- set_expr_type(expr_index: int, expr_type: Union[str, Type, TypeBuilder]) None [source]¶
Set type of expression
This API is only meant for workflows or for debugging purposes, since the changes they make are not persistent and get lost after a database save and reload. To make persistent changes to the analysis, one should use other APIs to, for example, change the type of variables. The analysis will then propagate the type of the variable and update the type of related expressions.
- Parameters:
expr_index (int) – index of the expression to set
StringOrType – new type of the expression
expr_type (Union[str, Type, TypeBuilder]) –
- Return type:
None
- visit(cb: Callable[[str, Union[HighLevelILInstruction, ILIntrinsic, Variable, SSAVariable, List[int], List[Variable], List[SSAVariable], List[HighLevelILInstruction], int, None, float, GotoLabel, ConstantData, DataBuffer], str, Optional[HighLevelILInstruction]], bool]) bool [source]¶
Iterates over all the instructions in the function and calls the callback function for each instruction and each sub-instruction.
- Parameters:
cb (HighLevelILVisitorCallback) – Callback function that takes the name of the operand, the operand, operand type, and parent instruction
- Returns:
True if all instructions were visited, False if the callback function returned False.
- Return type:
- visit_all(cb: Callable[[str, Union[HighLevelILInstruction, ILIntrinsic, Variable, SSAVariable, List[int], List[Variable], List[SSAVariable], List[HighLevelILInstruction], int, None, float, GotoLabel, ConstantData, DataBuffer], str, Optional[HighLevelILInstruction]], bool]) bool [source]¶
Iterates over all the instructions in the function and calls the callback function for each instruction and their operands.
- Parameters:
cb (HighLevelILVisitorCallback) – Callback function that takes the name of the operand, the operand, operand type, and parent instruction
- Returns:
True if all instructions were visited, False if the callback function returned False.
- Return type:
- visit_operands(cb: Callable[[str, Union[HighLevelILInstruction, ILIntrinsic, Variable, SSAVariable, List[int], List[Variable], List[SSAVariable], List[HighLevelILInstruction], int, None, float, GotoLabel, ConstantData, DataBuffer], str, Optional[HighLevelILInstruction]], bool]) bool [source]¶
- Iterates over all the instructions in the function and calls the callback function for each operand and
the operands of each sub-instruction.
- Parameters:
cb (HighLevelILVisitorCallback) – Callback function that takes the name of the operand, the operand, operand type, and parent instruction
- Returns:
True if all instructions were visited, False if the callback function returned False.
- Return type:
- property aliased_vars: List[Variable]¶
This returns a list of Variables that are taken reference to and used elsewhere. You may also wish to consider HighLevelIlFunction.vars and HighLevelIlFunction.source_function.parameter_vars
- property arch: Architecture¶
- property basic_blocks: HighLevelILBasicBlockList¶
- property il_form: FunctionGraphType¶
- property instructions: Generator[HighLevelILInstruction, None, None]¶
A generator of hlil instructions of the current function
- property medium_level_il: Optional[MediumLevelILFunction]¶
Medium level IL for this function
- property mlil: Optional[MediumLevelILFunction]¶
Alias for medium_level_il
- property non_ssa_form: Optional[HighLevelILFunction]¶
High level IL in non-SSA (default) form (read-only)
- property root: Optional[HighLevelILInstruction]¶
Root of the abstract syntax tree
- property ssa_form: HighLevelILFunction¶
High level IL in SSA form (read-only)
- property ssa_vars: List[SSAVariable]¶
This gets just the HLIL SSA variables - you may be interested in the union of HighLevelIlFunction.source_function.parameter_vars and HighLevelIlFunction.aliased_vars for all the variables used in the function
- property vars: Union[List[Variable], List[SSAVariable]]¶
This gets just the HLIL variables - you may be interested in the union of HighLevelIlFunction.source_function.parameter_vars and HighLevelIlFunction.aliased_vars as well for all the variables used in the function
- property view: BinaryView¶
- class HighLevelILGoto(function: 'HighLevelILFunction', expr_index: <function NewType.<locals>.new_type at 0x7f4efe608a60>, core_instr: binaryninja.highlevelil.CoreHighLevelILInstruction, as_ast: bool, instr_index: <function NewType.<locals>.new_type at 0x7f4efe5e3280>)[source]¶
Bases:
HighLevelILInstruction
,Terminal
- Parameters:
function (HighLevelILFunction) –
expr_index (ExpressionIndex) –
core_instr (CoreHighLevelILInstruction) –
as_ast (bool) –
instr_index (InstructionIndex) –
- core_instr: CoreHighLevelILInstruction¶
- property detailed_operands: List[Tuple[str, Union[HighLevelILInstruction, ILIntrinsic, Variable, SSAVariable, List[int], List[Variable], List[SSAVariable], List[HighLevelILInstruction], int, None, float, GotoLabel, ConstantData, DataBuffer], str]]¶
Returns a list of tuples containing the 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: HighLevelILFunction¶
- instr_index: InstructionIndex¶
- class HighLevelILIf(function: 'HighLevelILFunction', expr_index: <function NewType.<locals>.new_type at 0x7f4efe608a60>, core_instr: binaryninja.highlevelil.CoreHighLevelILInstruction, as_ast: bool, instr_index: <function NewType.<locals>.new_type at 0x7f4efe5e3280>)[source]¶
Bases:
HighLevelILInstruction
,ControlFlow
- Parameters:
function (HighLevelILFunction) –
expr_index (ExpressionIndex) –
core_instr (CoreHighLevelILInstruction) –
as_ast (bool) –
instr_index (InstructionIndex) –
- property condition: HighLevelILInstruction¶
- core_instr: CoreHighLevelILInstruction¶
- property detailed_operands: List[Tuple[str, Union[HighLevelILInstruction, ILIntrinsic, Variable, SSAVariable, List[int], List[Variable], List[SSAVariable], List[HighLevelILInstruction], int, None, float, GotoLabel, ConstantData, DataBuffer], str]]¶
Returns a list of tuples containing the name of the operand, the operand, and the type of the operand. Useful for iterating over all operands of an instruction and sub-instructions.
- expr_index: ExpressionIndex¶
- property false: HighLevelILInstruction¶
- function: HighLevelILFunction¶
- instr_index: InstructionIndex¶
- property true: HighLevelILInstruction¶
- class HighLevelILImport(function: 'HighLevelILFunction', expr_index: <function NewType.<locals>.new_type at 0x7f4efe608a60>, core_instr: binaryninja.highlevelil.CoreHighLevelILInstruction, as_ast: bool, instr_index: <function NewType.<locals>.new_type at 0x7f4efe5e3280>)[source]¶
Bases:
HighLevelILInstruction
,Constant
- Parameters:
function (HighLevelILFunction) –
expr_index (ExpressionIndex) –
core_instr (CoreHighLevelILInstruction) –
as_ast (bool) –
instr_index (InstructionIndex) –
- core_instr: CoreHighLevelILInstruction¶
- property detailed_operands: List[Tuple[str, Union[HighLevelILInstruction, ILIntrinsic, Variable, SSAVariable, List[int], List[Variable], List[SSAVariable], List[HighLevelILInstruction], int, None, float, GotoLabel, ConstantData, DataBuffer], str]]¶
Returns a list of tuples containing the 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: HighLevelILFunction¶
- instr_index: InstructionIndex¶
- class HighLevelILInstruction(function: HighLevelILFunction, expr_index: ExpressionIndex, core_instr: CoreHighLevelILInstruction, as_ast: bool, instr_index: InstructionIndex)[source]¶
Bases:
BaseILInstruction
class HighLevelILInstruction
High Level Intermediate Language Instructions form an abstract syntax tree of the code. Control flow structures are present as high level constructs in the HLIL tree.- Parameters:
function (HighLevelILFunction) –
expr_index (ExpressionIndex) –
core_instr (CoreHighLevelILInstruction) –
as_ast (bool) –
instr_index (InstructionIndex) –
- classmethod create(func: HighLevelILFunction, expr_index: ExpressionIndex, as_ast: bool = True, instr_index: Optional[InstructionIndex] = None) HighLevelILInstruction [source]¶
- Parameters:
func (HighLevelILFunction) –
expr_index (ExpressionIndex) –
as_ast (bool) –
instr_index (Optional[InstructionIndex]) –
- Return type:
- get_constant_data(operand_index1: int, operand_index2: int) ConstantData [source]¶
- Parameters:
- Return type:
- get_expr(operand_index: int) HighLevelILInstruction [source]¶
- Parameters:
operand_index (int) –
- Return type:
- get_expr_list(operand_index1: int, operand_index2: int) List[HighLevelILInstruction] [source]¶
- Parameters:
- Return type:
- get_intrinsic(operand_index: int) ILIntrinsic [source]¶
- Parameters:
operand_index (int) –
- Return type:
- get_possible_values(options: Optional[List[DataFlowQueryOption]] = None) PossibleValueSet [source]¶
- Parameters:
options (Optional[List[DataFlowQueryOption]]) –
- Return type:
- get_var_ssa(operand_index1: int, operand_index2: int) SSAVariable [source]¶
- Parameters:
- Return type:
- get_var_ssa_dest_and_src(operand_index1: int, operand_index2: int) SSAVariable [source]¶
- Parameters:
- Return type:
- static show_hlil_hierarchy()[source]¶
Opens a new tab showing the HLIL hierarchy which includes classes which can easily be used with isinstance to match multiple types of IL instructions.
- visit(cb: Callable[[str, Union[HighLevelILInstruction, ILIntrinsic, Variable, SSAVariable, List[int], List[Variable], List[SSAVariable], List[HighLevelILInstruction], int, None, float, GotoLabel, ConstantData, DataBuffer], str, Optional[HighLevelILInstruction]], bool], name: str = 'root', parent: Optional[HighLevelILInstruction] = None) bool [source]¶
Visits all HighLevelILInstructions in the operands of this instruction and any sub-instructions.
- Parameters:
cb (HighLevelILVisitorCallback) – Callback function that takes the name of the operand, the operand, operand type, and parent instruction
name (str) –
parent (Optional[HighLevelILInstruction]) –
- Returns:
True if all instructions were visited, False if the callback returned False
- Return type:
- visit_all(cb: Callable[[str, Union[HighLevelILInstruction, ILIntrinsic, Variable, SSAVariable, List[int], List[Variable], List[SSAVariable], List[HighLevelILInstruction], int, None, float, GotoLabel, ConstantData, DataBuffer], str, Optional[HighLevelILInstruction]], bool], name: str = 'root', parent: Optional[HighLevelILInstruction] = None) bool [source]¶
Visits all operands of this instruction and all operands of any sub-instructions. Using pre-order traversal.
- Parameters:
cb (HighLevelILVisitorCallback) – Callback function that takes the name of the operand, the operand, operand type, and parent instruction
name (str) –
parent (Optional[HighLevelILInstruction]) –
- Returns:
True if all instructions were visited, False if the callback returned False
- Return type:
- visit_operands(cb: Callable[[str, Union[HighLevelILInstruction, ILIntrinsic, Variable, SSAVariable, List[int], List[Variable], List[SSAVariable], List[HighLevelILInstruction], int, None, float, GotoLabel, ConstantData, DataBuffer], str, Optional[HighLevelILInstruction]], bool], name: str = 'root', parent: Optional[HighLevelILInstruction] = None) bool [source]¶
Visits all leaf operands of this instruction and any sub-instructions.
- Parameters:
cb (HighLevelILVisitorCallback) – Callback function that takes the name of the operand, the operand, operand type, and parent instruction
name (str) –
parent (Optional[HighLevelILInstruction]) –
- Returns:
True if all instructions were visited, False if the callback returned False
- Return type:
- ILOperations: ClassVar[Mapping[HighLevelILOperation, List[Tuple[str, str]]]] = {HighLevelILOperation.HLIL_NOP: [], HighLevelILOperation.HLIL_BLOCK: [('body', 'expr_list')], HighLevelILOperation.HLIL_IF: [('condition', 'expr'), ('true', 'expr'), ('false', 'expr')], HighLevelILOperation.HLIL_WHILE: [('condition', 'expr'), ('body', 'expr')], HighLevelILOperation.HLIL_DO_WHILE: [('body', 'expr'), ('condition', 'expr')], HighLevelILOperation.HLIL_FOR: [('init', 'expr'), ('condition', 'expr'), ('update', 'expr'), ('body', 'expr')], HighLevelILOperation.HLIL_SWITCH: [('condition', 'expr'), ('default', 'expr'), ('cases', 'expr_list')], HighLevelILOperation.HLIL_CASE: [('values', 'expr_list'), ('body', 'expr')], HighLevelILOperation.HLIL_BREAK: [], HighLevelILOperation.HLIL_CONTINUE: [], HighLevelILOperation.HLIL_JUMP: [('dest', 'expr')], HighLevelILOperation.HLIL_RET: [('src', 'expr_list')], HighLevelILOperation.HLIL_NORET: [], HighLevelILOperation.HLIL_GOTO: [('target', 'label')], HighLevelILOperation.HLIL_LABEL: [('target', 'label')], HighLevelILOperation.HLIL_VAR_DECLARE: [('var', 'var')], HighLevelILOperation.HLIL_VAR_INIT: [('dest', 'var'), ('src', 'expr')], HighLevelILOperation.HLIL_ASSIGN: [('dest', 'expr'), ('src', 'expr')], HighLevelILOperation.HLIL_ASSIGN_UNPACK: [('dest', 'expr_list'), ('src', 'expr')], HighLevelILOperation.HLIL_VAR: [('var', 'var')], HighLevelILOperation.HLIL_STRUCT_FIELD: [('src', 'expr'), ('offset', 'int'), ('member_index', 'member_index')], HighLevelILOperation.HLIL_ARRAY_INDEX: [('src', 'expr'), ('index', 'expr')], HighLevelILOperation.HLIL_SPLIT: [('high', 'expr'), ('low', 'expr')], HighLevelILOperation.HLIL_DEREF: [('src', 'expr')], HighLevelILOperation.HLIL_DEREF_FIELD: [('src', 'expr'), ('offset', 'int'), ('member_index', 'member_index')], HighLevelILOperation.HLIL_ADDRESS_OF: [('src', 'expr')], HighLevelILOperation.HLIL_CONST: [('constant', 'int')], HighLevelILOperation.HLIL_CONST_DATA: [('constant_data', 'constant_data')], HighLevelILOperation.HLIL_CONST_PTR: [('constant', 'int')], HighLevelILOperation.HLIL_EXTERN_PTR: [('constant', 'int'), ('offset', 'int')], HighLevelILOperation.HLIL_FLOAT_CONST: [('constant', 'float')], HighLevelILOperation.HLIL_IMPORT: [('constant', 'int')], HighLevelILOperation.HLIL_ADD: [('left', 'expr'), ('right', 'expr')], HighLevelILOperation.HLIL_ADC: [('left', 'expr'), ('right', 'expr'), ('carry', 'expr')], HighLevelILOperation.HLIL_SUB: [('left', 'expr'), ('right', 'expr')], HighLevelILOperation.HLIL_SBB: [('left', 'expr'), ('right', 'expr'), ('carry', 'expr')], HighLevelILOperation.HLIL_AND: [('left', 'expr'), ('right', 'expr')], HighLevelILOperation.HLIL_OR: [('left', 'expr'), ('right', 'expr')], HighLevelILOperation.HLIL_XOR: [('left', 'expr'), ('right', 'expr')], HighLevelILOperation.HLIL_LSL: [('left', 'expr'), ('right', 'expr')], HighLevelILOperation.HLIL_LSR: [('left', 'expr'), ('right', 'expr')], HighLevelILOperation.HLIL_ASR: [('left', 'expr'), ('right', 'expr')], HighLevelILOperation.HLIL_ROL: [('left', 'expr'), ('right', 'expr')], HighLevelILOperation.HLIL_RLC: [('left', 'expr'), ('right', 'expr'), ('carry', 'expr')], HighLevelILOperation.HLIL_ROR: [('left', 'expr'), ('right', 'expr')], HighLevelILOperation.HLIL_RRC: [('left', 'expr'), ('right', 'expr'), ('carry', 'expr')], HighLevelILOperation.HLIL_MUL: [('left', 'expr'), ('right', 'expr')], HighLevelILOperation.HLIL_MULU_DP: [('left', 'expr'), ('right', 'expr')], HighLevelILOperation.HLIL_MULS_DP: [('left', 'expr'), ('right', 'expr')], HighLevelILOperation.HLIL_DIVU: [('left', 'expr'), ('right', 'expr')], HighLevelILOperation.HLIL_DIVU_DP: [('left', 'expr'), ('right', 'expr')], HighLevelILOperation.HLIL_DIVS: [('left', 'expr'), ('right', 'expr')], HighLevelILOperation.HLIL_DIVS_DP: [('left', 'expr'), ('right', 'expr')], HighLevelILOperation.HLIL_MODU: [('left', 'expr'), ('right', 'expr')], HighLevelILOperation.HLIL_MODU_DP: [('left', 'expr'), ('right', 'expr')], HighLevelILOperation.HLIL_MODS: [('left', 'expr'), ('right', 'expr')], HighLevelILOperation.HLIL_MODS_DP: [('left', 'expr'), ('right', 'expr')], HighLevelILOperation.HLIL_NEG: [('src', 'expr')], HighLevelILOperation.HLIL_NOT: [('src', 'expr')], HighLevelILOperation.HLIL_SX: [('src', 'expr')], HighLevelILOperation.HLIL_ZX: [('src', 'expr')], HighLevelILOperation.HLIL_LOW_PART: [('src', 'expr')], HighLevelILOperation.HLIL_CALL: [('dest', 'expr'), ('params', 'expr_list')], HighLevelILOperation.HLIL_CMP_E: [('left', 'expr'), ('right', 'expr')], HighLevelILOperation.HLIL_CMP_NE: [('left', 'expr'), ('right', 'expr')], HighLevelILOperation.HLIL_CMP_SLT: [('left', 'expr'), ('right', 'expr')], HighLevelILOperation.HLIL_CMP_ULT: [('left', 'expr'), ('right', 'expr')], HighLevelILOperation.HLIL_CMP_SLE: [('left', 'expr'), ('right', 'expr')], HighLevelILOperation.HLIL_CMP_ULE: [('left', 'expr'), ('right', 'expr')], HighLevelILOperation.HLIL_CMP_SGE: [('left', 'expr'), ('right', 'expr')], HighLevelILOperation.HLIL_CMP_UGE: [('left', 'expr'), ('right', 'expr')], HighLevelILOperation.HLIL_CMP_SGT: [('left', 'expr'), ('right', 'expr')], HighLevelILOperation.HLIL_CMP_UGT: [('left', 'expr'), ('right', 'expr')], HighLevelILOperation.HLIL_TEST_BIT: [('left', 'expr'), ('right', 'expr')], HighLevelILOperation.HLIL_BOOL_TO_INT: [('src', 'expr')], HighLevelILOperation.HLIL_ADD_OVERFLOW: [('left', 'expr'), ('right', 'expr')], HighLevelILOperation.HLIL_SYSCALL: [('params', 'expr_list')], HighLevelILOperation.HLIL_TAILCALL: [('dest', 'expr'), ('params', 'expr_list')], HighLevelILOperation.HLIL_INTRINSIC: [('intrinsic', 'intrinsic'), ('params', 'expr_list')], HighLevelILOperation.HLIL_BP: [], HighLevelILOperation.HLIL_TRAP: [('vector', 'int')], HighLevelILOperation.HLIL_UNDEF: [], HighLevelILOperation.HLIL_UNIMPL: [], HighLevelILOperation.HLIL_UNIMPL_MEM: [('src', 'expr')], HighLevelILOperation.HLIL_FADD: [('left', 'expr'), ('right', 'expr')], HighLevelILOperation.HLIL_FSUB: [('left', 'expr'), ('right', 'expr')], HighLevelILOperation.HLIL_FMUL: [('left', 'expr'), ('right', 'expr')], HighLevelILOperation.HLIL_FDIV: [('left', 'expr'), ('right', 'expr')], HighLevelILOperation.HLIL_FSQRT: [('src', 'expr')], HighLevelILOperation.HLIL_FNEG: [('src', 'expr')], HighLevelILOperation.HLIL_FABS: [('src', 'expr')], HighLevelILOperation.HLIL_FLOAT_TO_INT: [('src', 'expr')], HighLevelILOperation.HLIL_INT_TO_FLOAT: [('src', 'expr')], HighLevelILOperation.HLIL_FLOAT_CONV: [('src', 'expr')], HighLevelILOperation.HLIL_ROUND_TO_INT: [('src', 'expr')], HighLevelILOperation.HLIL_FLOOR: [('src', 'expr')], HighLevelILOperation.HLIL_CEIL: [('src', 'expr')], HighLevelILOperation.HLIL_FTRUNC: [('src', 'expr')], HighLevelILOperation.HLIL_FCMP_E: [('left', 'expr'), ('right', 'expr')], HighLevelILOperation.HLIL_FCMP_NE: [('left', 'expr'), ('right', 'expr')], HighLevelILOperation.HLIL_FCMP_LT: [('left', 'expr'), ('right', 'expr')], HighLevelILOperation.HLIL_FCMP_LE: [('left', 'expr'), ('right', 'expr')], HighLevelILOperation.HLIL_FCMP_GE: [('left', 'expr'), ('right', 'expr')], HighLevelILOperation.HLIL_FCMP_GT: [('left', 'expr'), ('right', 'expr')], HighLevelILOperation.HLIL_FCMP_O: [('left', 'expr'), ('right', 'expr')], HighLevelILOperation.HLIL_FCMP_UO: [('left', 'expr'), ('right', 'expr')], HighLevelILOperation.HLIL_UNREACHABLE: [], HighLevelILOperation.HLIL_WHILE_SSA: [('condition_phi', 'expr'), ('condition', 'expr'), ('body', 'expr')], HighLevelILOperation.HLIL_DO_WHILE_SSA: [('body', 'expr'), ('condition_phi', 'expr'), ('condition', 'expr')], HighLevelILOperation.HLIL_FOR_SSA: [('init', 'expr'), ('condition_phi', 'expr'), ('condition', 'expr'), ('update', 'expr'), ('body', 'expr')], HighLevelILOperation.HLIL_VAR_INIT_SSA: [('dest', 'var_ssa'), ('src', 'expr')], HighLevelILOperation.HLIL_ASSIGN_MEM_SSA: [('dest', 'expr'), ('dest_memory', 'int'), ('src', 'expr'), ('src_memory', 'int')], HighLevelILOperation.HLIL_ASSIGN_UNPACK_MEM_SSA: [('dest', 'expr_list'), ('dest_memory', 'int'), ('src', 'expr'), ('src_memory', 'int')], HighLevelILOperation.HLIL_VAR_SSA: [('var', 'var_ssa')], HighLevelILOperation.HLIL_ARRAY_INDEX_SSA: [('src', 'expr'), ('src_memory', 'int'), ('index', 'expr')], HighLevelILOperation.HLIL_DEREF_SSA: [('src', 'expr'), ('src_memory', 'int')], HighLevelILOperation.HLIL_DEREF_FIELD_SSA: [('src', 'expr'), ('src_memory', 'int'), ('offset', 'int'), ('member_index', 'member_index')], HighLevelILOperation.HLIL_CALL_SSA: [('dest', 'expr'), ('params', 'expr_list'), ('dest_memory', 'int'), ('src_memory', 'int')], HighLevelILOperation.HLIL_SYSCALL_SSA: [('params', 'expr_list'), ('dest_memory', 'int'), ('src_memory', 'int')], HighLevelILOperation.HLIL_INTRINSIC_SSA: [('intrinsic', 'intrinsic'), ('params', 'expr_list'), ('dest_memory', 'int'), ('src_memory', 'int')], HighLevelILOperation.HLIL_VAR_PHI: [('dest', 'var_ssa'), ('src', 'var_ssa_list')], HighLevelILOperation.HLIL_MEM_PHI: [('dest', 'int'), ('src', 'int_list')]}¶
- property ast: HighLevelILInstruction¶
This expression with full AST printing (read-only)
- property attributes: Set[ILInstructionAttribute]¶
The set of optional attributes placed on the instruction
- core_instr: CoreHighLevelILInstruction¶
- property core_operands: Tuple[ExpressionIndex, ExpressionIndex, ExpressionIndex, ExpressionIndex, ExpressionIndex]¶
- property detailed_operands: List[Tuple[str, Union[HighLevelILInstruction, ILIntrinsic, Variable, SSAVariable, List[int], List[Variable], List[SSAVariable], List[HighLevelILInstruction], int, None, float, GotoLabel, ConstantData, DataBuffer], str]]¶
Returns a list of tuples containing the 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: HighLevelILFunction¶
- property il_basic_block: Optional[HighLevelILBasicBlock]¶
IL basic block object containing this expression (read-only) (only available on finalized functions). Returns None for HLIL_BLOCK expressions as these can contain multiple basic blocks.
- property instr: HighLevelILInstruction¶
The statement that this expression belongs to (read-only)
- instr_index: InstructionIndex¶
- property instruction_operands: List[HighLevelILInstruction]¶
- property lines: Generator[DisassemblyTextLine, None, None]¶
HLIL text lines (read-only)
- property llil: Optional[LowLevelILInstruction]¶
Alias for low_level_il
- property low_level_il: Optional[LowLevelILInstruction]¶
Low level IL form of this expression
- property medium_level_il: Optional[MediumLevelILInstruction]¶
Medium level IL form of this expression
- property mlil: Optional[MediumLevelILInstruction]¶
Alias for medium_level_il
- property mlils: Optional[List[MediumLevelILInstruction]]¶
- property non_ast: HighLevelILInstruction¶
This expression without full AST printing (read-only)
- property non_ssa_form: Optional[HighLevelILInstruction]¶
Non-SSA form of expression (read-only)
- property operands: List[Union[HighLevelILInstruction, ILIntrinsic, Variable, SSAVariable, List[int], List[Variable], List[SSAVariable], List[HighLevelILInstruction], int, None, float, GotoLabel, ConstantData, DataBuffer]]¶
Operands for the instruction
- property operation: HighLevelILOperation¶
- property parent: Optional[HighLevelILInstruction]¶
- property possible_values: PossibleValueSet¶
Possible values of expression using path-sensitive static data flow analysis (read-only)
- property postfix_operands: List[Union[HighLevelILInstruction, ILIntrinsic, Variable, SSAVariable, List[int], List[Variable], List[SSAVariable], List[HighLevelILInstruction], int, None, float, GotoLabel, ConstantData, DataBuffer, HighLevelILOperationAndSize]]¶
All operands in the expression tree in postfix order
- property prefix_operands: List[Union[HighLevelILInstruction, ILIntrinsic, Variable, SSAVariable, List[int], List[Variable], List[SSAVariable], List[HighLevelILInstruction], int, None, float, GotoLabel, ConstantData, DataBuffer, HighLevelILOperationAndSize]]¶
All operands in the expression tree in prefix order
- property source_operand: ExpressionIndex¶
- property ssa_form: HighLevelILInstruction¶
SSA form of expression (read-only)
- property ssa_memory_version: int¶
Version of active memory contents in SSA form for this instruction
- property tokens: List[InstructionTextToken]¶
HLIL tokens taken from the HLIL text lines (read-only) – does not include newlines or indentation, use lines for that information
- property value: RegisterValue¶
Value of expression if constant or a known value (read-only)
- property vars: List[Union[SSAVariable, Variable]]¶
Non-unique list of variables read by instruction
- property vars_address_taken: List[Union[SSAVariable, Variable]]¶
Non-unique list of variables whose address is taken by instruction
Note
This property has some nuance to it, so use carefully. This property will return only those variable which directly have their address taken such as &var_4 or &var_8.d but not those which are involved in an address calculation such as &(var_4 + 0) or &var_4[0] even though they may be functionally equivalent.
- property vars_read: List[Union[SSAVariable, Variable]]¶
Non-unique list of variables whose value is read by this instruction
- property vars_written: List[Union[SSAVariable, Variable]]¶
List of variables value is written by this instruction
- class HighLevelILIntToFloat(function: 'HighLevelILFunction', expr_index: <function NewType.<locals>.new_type at 0x7f4efe608a60>, core_instr: binaryninja.highlevelil.CoreHighLevelILInstruction, as_ast: bool, instr_index: <function NewType.<locals>.new_type at 0x7f4efe5e3280>)[source]¶
Bases:
HighLevelILUnaryBase
,FloatingPoint
- Parameters:
function (HighLevelILFunction) –
expr_index (ExpressionIndex) –
core_instr (CoreHighLevelILInstruction) –
as_ast (bool) –
instr_index (InstructionIndex) –
- core_instr: CoreHighLevelILInstruction¶
- expr_index: ExpressionIndex¶
- function: HighLevelILFunction¶
- instr_index: InstructionIndex¶
- class HighLevelILIntrinsic(function: 'HighLevelILFunction', expr_index: <function NewType.<locals>.new_type at 0x7f4efe608a60>, core_instr: binaryninja.highlevelil.CoreHighLevelILInstruction, as_ast: bool, instr_index: <function NewType.<locals>.new_type at 0x7f4efe5e3280>)[source]¶
Bases:
HighLevelILInstruction
,Intrinsic
- Parameters:
function (HighLevelILFunction) –
expr_index (ExpressionIndex) –
core_instr (CoreHighLevelILInstruction) –
as_ast (bool) –
instr_index (InstructionIndex) –
- core_instr: CoreHighLevelILInstruction¶
- property detailed_operands: List[Tuple[str, Union[HighLevelILInstruction, ILIntrinsic, Variable, SSAVariable, List[int], List[Variable], List[SSAVariable], List[HighLevelILInstruction], int, None, float, GotoLabel, ConstantData, DataBuffer], str]]¶
Returns a list of tuples containing the 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: HighLevelILFunction¶
- instr_index: InstructionIndex¶
- property intrinsic: ILIntrinsic¶
- property params: List[HighLevelILInstruction]¶
- class HighLevelILIntrinsicSsa(function: 'HighLevelILFunction', expr_index: <function NewType.<locals>.new_type at 0x7f4efe608a60>, core_instr: binaryninja.highlevelil.CoreHighLevelILInstruction, as_ast: bool, instr_index: <function NewType.<locals>.new_type at 0x7f4efe5e3280>)[source]¶
Bases:
HighLevelILInstruction
,SSA
- Parameters:
function (HighLevelILFunction) –
expr_index (ExpressionIndex) –
core_instr (CoreHighLevelILInstruction) –
as_ast (bool) –
instr_index (InstructionIndex) –
- core_instr: CoreHighLevelILInstruction¶
- property detailed_operands: List[Tuple[str, Union[HighLevelILInstruction, ILIntrinsic, Variable, SSAVariable, List[int], List[Variable], List[SSAVariable], List[HighLevelILInstruction], int, None, float, GotoLabel, ConstantData, DataBuffer], str]]¶
Returns a list of tuples containing the 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: HighLevelILFunction¶
- instr_index: InstructionIndex¶
- property intrinsic: ILIntrinsic¶
- property params: List[HighLevelILInstruction]¶
- class HighLevelILJump(function: 'HighLevelILFunction', expr_index: <function NewType.<locals>.new_type at 0x7f4efe608a60>, core_instr: binaryninja.highlevelil.CoreHighLevelILInstruction, as_ast: bool, instr_index: <function NewType.<locals>.new_type at 0x7f4efe5e3280>)[source]¶
Bases:
HighLevelILInstruction
,Terminal
- Parameters:
function (HighLevelILFunction) –
expr_index (ExpressionIndex) –
core_instr (CoreHighLevelILInstruction) –
as_ast (bool) –
instr_index (InstructionIndex) –
- core_instr: CoreHighLevelILInstruction¶
- property dest: HighLevelILInstruction¶
- property detailed_operands: List[Tuple[str, Union[HighLevelILInstruction, ILIntrinsic, Variable, SSAVariable, List[int], List[Variable], List[SSAVariable], List[HighLevelILInstruction], int, None, float, GotoLabel, ConstantData, DataBuffer], str]]¶
Returns a list of tuples containing the 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: HighLevelILFunction¶
- instr_index: InstructionIndex¶
- class HighLevelILLabel(function: 'HighLevelILFunction', expr_index: <function NewType.<locals>.new_type at 0x7f4efe608a60>, core_instr: binaryninja.highlevelil.CoreHighLevelILInstruction, as_ast: bool, instr_index: <function NewType.<locals>.new_type at 0x7f4efe5e3280>)[source]¶
Bases:
HighLevelILInstruction
- Parameters:
function (HighLevelILFunction) –
expr_index (ExpressionIndex) –
core_instr (CoreHighLevelILInstruction) –
as_ast (bool) –
instr_index (InstructionIndex) –
- core_instr: CoreHighLevelILInstruction¶
- property detailed_operands: List[Tuple[str, Union[HighLevelILInstruction, ILIntrinsic, Variable, SSAVariable, List[int], List[Variable], List[SSAVariable], List[HighLevelILInstruction], int, None, float, GotoLabel, ConstantData, DataBuffer], str]]¶
Returns a list of tuples containing the 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: HighLevelILFunction¶
- instr_index: InstructionIndex¶
- class HighLevelILLowPart(function: 'HighLevelILFunction', expr_index: <function NewType.<locals>.new_type at 0x7f4efe608a60>, core_instr: binaryninja.highlevelil.CoreHighLevelILInstruction, as_ast: bool, instr_index: <function NewType.<locals>.new_type at 0x7f4efe5e3280>)[source]