highlevelil module¶
Class |
Description |
|---|---|
The |
|
|
|
|
|
CoreHighLevelILInstruction¶
- class CoreHighLevelILInstruction[source]¶
Bases:
objectCoreHighLevelILInstruction(operation: binaryninja.enums.HighLevelILOperation, attributes: int, source_operand: int, size: int, operands: Tuple[binaryninja.highlevelil.ExpressionIndex, binaryninja.highlevelil.ExpressionIndex, binaryninja.highlevelil.ExpressionIndex, binaryninja.highlevelil.ExpressionIndex, binaryninja.highlevelil.ExpressionIndex], address: int, parent: binaryninja.highlevelil.ExpressionIndex)
- __init__(operation: HighLevelILOperation, attributes: int, source_operand: int, size: int, operands: Tuple[ExpressionIndex, ExpressionIndex, ExpressionIndex, ExpressionIndex, ExpressionIndex], address: int, parent: ExpressionIndex) None¶
- classmethod from_BNHighLevelILInstruction(instr: BNHighLevelILInstruction) CoreHighLevelILInstruction[source]¶
- Parameters:
instr (BNHighLevelILInstruction) –
- Return type:
- operands: Tuple[ExpressionIndex, ExpressionIndex, ExpressionIndex, ExpressionIndex, ExpressionIndex]¶
- operation: HighLevelILOperation¶
- parent: ExpressionIndex¶
GotoLabel¶
- class GotoLabel[source]¶
Bases:
objectGotoLabel(function: ‘HighLevelILFunction’, id: int)
- __init__(function: HighLevelILFunction, id: int) None¶
- Parameters:
function (HighLevelILFunction) –
id (int) –
- Return type:
None
- property definition: HighLevelILInstruction | None¶
- function: HighLevelILFunction¶
- property uses: List[HighLevelILInstruction]¶
HighLevelILAdc¶
- class HighLevelILAdc[source]¶
Bases:
HighLevelILCarryBaseHighLevelILAdc(function: ‘HighLevelILFunction’, expr_index: binaryninja.highlevelil.ExpressionIndex, core_instr: binaryninja.highlevelil.CoreHighLevelILInstruction, as_ast: bool, instr_index: binaryninja.highlevelil.InstructionIndex)
- __init__(function: HighLevelILFunction, expr_index: ExpressionIndex, core_instr: CoreHighLevelILInstruction, as_ast: bool, instr_index: InstructionIndex) None¶
- Parameters:
function (HighLevelILFunction) –
expr_index (ExpressionIndex) –
core_instr (CoreHighLevelILInstruction) –
as_ast (bool) –
instr_index (InstructionIndex) –
- Return type:
None
HighLevelILAdd¶
- class HighLevelILAdd[source]¶
Bases:
HighLevelILBinaryBase,ArithmeticHighLevelILAdd(function: ‘HighLevelILFunction’, expr_index: binaryninja.highlevelil.ExpressionIndex, core_instr: binaryninja.highlevelil.CoreHighLevelILInstruction, as_ast: bool, instr_index: binaryninja.highlevelil.InstructionIndex)
- __init__(function: HighLevelILFunction, expr_index: ExpressionIndex, core_instr: CoreHighLevelILInstruction, as_ast: bool, instr_index: InstructionIndex) None¶
- Parameters:
function (HighLevelILFunction) –
expr_index (ExpressionIndex) –
core_instr (CoreHighLevelILInstruction) –
as_ast (bool) –
instr_index (InstructionIndex) –
- Return type:
None
HighLevelILAddOverflow¶
- class HighLevelILAddOverflow[source]¶
Bases:
HighLevelILBinaryBase,ArithmeticHighLevelILAddOverflow(function: ‘HighLevelILFunction’, expr_index: binaryninja.highlevelil.ExpressionIndex, core_instr: binaryninja.highlevelil.CoreHighLevelILInstruction, as_ast: bool, instr_index: binaryninja.highlevelil.InstructionIndex)
- __init__(function: HighLevelILFunction, expr_index: ExpressionIndex, core_instr: CoreHighLevelILInstruction, as_ast: bool, instr_index: InstructionIndex) None¶
- Parameters:
function (HighLevelILFunction) –
expr_index (ExpressionIndex) –
core_instr (CoreHighLevelILInstruction) –
as_ast (bool) –
instr_index (InstructionIndex) –
- Return type:
None
HighLevelILAddressOf¶
- class HighLevelILAddressOf[source]¶
Bases:
HighLevelILUnaryBaseHighLevelILAddressOf(function: ‘HighLevelILFunction’, expr_index: binaryninja.highlevelil.ExpressionIndex, core_instr: binaryninja.highlevelil.CoreHighLevelILInstruction, as_ast: bool, instr_index: binaryninja.highlevelil.InstructionIndex)
- __init__(function: HighLevelILFunction, expr_index: ExpressionIndex, core_instr: CoreHighLevelILInstruction, as_ast: bool, instr_index: InstructionIndex) None¶
- Parameters:
function (HighLevelILFunction) –
expr_index (ExpressionIndex) –
core_instr (CoreHighLevelILInstruction) –
as_ast (bool) –
instr_index (InstructionIndex) –
- Return type:
None
- property vars_address_taken: List[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.
HighLevelILAnd¶
- class HighLevelILAnd[source]¶
Bases:
HighLevelILBinaryBase,ArithmeticHighLevelILAnd(function: ‘HighLevelILFunction’, expr_index: binaryninja.highlevelil.ExpressionIndex, core_instr: binaryninja.highlevelil.CoreHighLevelILInstruction, as_ast: bool, instr_index: binaryninja.highlevelil.InstructionIndex)
- __init__(function: HighLevelILFunction, expr_index: ExpressionIndex, core_instr: CoreHighLevelILInstruction, as_ast: bool, instr_index: InstructionIndex) None¶
- Parameters:
function (HighLevelILFunction) –
expr_index (ExpressionIndex) –
core_instr (CoreHighLevelILInstruction) –
as_ast (bool) –
instr_index (InstructionIndex) –
- Return type:
None
HighLevelILArrayIndex¶
- class HighLevelILArrayIndex[source]¶
Bases:
HighLevelILInstructionHighLevelILArrayIndex(function: ‘HighLevelILFunction’, expr_index: binaryninja.highlevelil.ExpressionIndex, core_instr: binaryninja.highlevelil.CoreHighLevelILInstruction, as_ast: bool, instr_index: binaryninja.highlevelil.InstructionIndex)
- __init__(function: HighLevelILFunction, expr_index: ExpressionIndex, core_instr: CoreHighLevelILInstruction, as_ast: bool, instr_index: InstructionIndex) None¶
- Parameters:
function (HighLevelILFunction) –
expr_index (ExpressionIndex) –
core_instr (CoreHighLevelILInstruction) –
as_ast (bool) –
instr_index (InstructionIndex) –
- Return type:
None
- property detailed_operands: List[Tuple[str, 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.
- property index: HighLevelILInstruction¶
- property src: HighLevelILInstruction¶
HighLevelILArrayIndexSsa¶
- class HighLevelILArrayIndexSsa[source]¶
Bases:
HighLevelILInstruction,SSAHighLevelILArrayIndexSsa(function: ‘HighLevelILFunction’, expr_index: binaryninja.highlevelil.ExpressionIndex, core_instr: binaryninja.highlevelil.CoreHighLevelILInstruction, as_ast: bool, instr_index: binaryninja.highlevelil.InstructionIndex)
- __init__(function: HighLevelILFunction, expr_index: ExpressionIndex, core_instr: CoreHighLevelILInstruction, as_ast: bool, instr_index: InstructionIndex) None¶
- Parameters:
function (HighLevelILFunction) –
expr_index (ExpressionIndex) –
core_instr (CoreHighLevelILInstruction) –
as_ast (bool) –
instr_index (InstructionIndex) –
- Return type:
None
- property detailed_operands: List[Tuple[str, 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.
- property index: HighLevelILInstruction¶
- property src: HighLevelILInstruction¶
HighLevelILAsr¶
- class HighLevelILAsr[source]¶
Bases:
HighLevelILBinaryBase,ArithmeticHighLevelILAsr(function: ‘HighLevelILFunction’, expr_index: binaryninja.highlevelil.ExpressionIndex, core_instr: binaryninja.highlevelil.CoreHighLevelILInstruction, as_ast: bool, instr_index: binaryninja.highlevelil.InstructionIndex)
- __init__(function: HighLevelILFunction, expr_index: ExpressionIndex, core_instr: CoreHighLevelILInstruction, as_ast: bool, instr_index: InstructionIndex) None¶
- Parameters:
function (HighLevelILFunction) –
expr_index (ExpressionIndex) –
core_instr (CoreHighLevelILInstruction) –
as_ast (bool) –
instr_index (InstructionIndex) –
- Return type:
None
HighLevelILAssert¶
- class HighLevelILAssert[source]¶
Bases:
HighLevelILInstructionHighLevelILAssert(function: ‘HighLevelILFunction’, expr_index: binaryninja.highlevelil.ExpressionIndex, core_instr: binaryninja.highlevelil.CoreHighLevelILInstruction, as_ast: bool, instr_index: binaryninja.highlevelil.InstructionIndex)
- __init__(function: HighLevelILFunction, expr_index: ExpressionIndex, core_instr: CoreHighLevelILInstruction, as_ast: bool, instr_index: InstructionIndex) None¶
- Parameters:
function (HighLevelILFunction) –
expr_index (ExpressionIndex) –
core_instr (CoreHighLevelILInstruction) –
as_ast (bool) –
instr_index (InstructionIndex) –
- Return type:
None
- property constraint: PossibleValueSet¶
HighLevelILAssertSsa¶
- class HighLevelILAssertSsa[source]¶
Bases:
HighLevelILInstruction,SSAHighLevelILAssertSsa(function: ‘HighLevelILFunction’, expr_index: binaryninja.highlevelil.ExpressionIndex, core_instr: binaryninja.highlevelil.CoreHighLevelILInstruction, as_ast: bool, instr_index: binaryninja.highlevelil.InstructionIndex)
- __init__(function: HighLevelILFunction, expr_index: ExpressionIndex, core_instr: CoreHighLevelILInstruction, as_ast: bool, instr_index: InstructionIndex) None¶
- Parameters:
function (HighLevelILFunction) –
expr_index (ExpressionIndex) –
core_instr (CoreHighLevelILInstruction) –
as_ast (bool) –
instr_index (InstructionIndex) –
- Return type:
None
- property constraint: PossibleValueSet¶
- property src: SSAVariable¶
HighLevelILAssign¶
- class HighLevelILAssign[source]¶
Bases:
HighLevelILInstruction,SetVarHighLevelILAssign(function: ‘HighLevelILFunction’, expr_index: binaryninja.highlevelil.ExpressionIndex, core_instr: binaryninja.highlevelil.CoreHighLevelILInstruction, as_ast: bool, instr_index: binaryninja.highlevelil.InstructionIndex)
- __init__(function: HighLevelILFunction, expr_index: ExpressionIndex, core_instr: CoreHighLevelILInstruction, as_ast: bool, instr_index: InstructionIndex) None¶
- Parameters:
function (HighLevelILFunction) –
expr_index (ExpressionIndex) –
core_instr (CoreHighLevelILInstruction) –
as_ast (bool) –
instr_index (InstructionIndex) –
- Return type:
None
- property dest: HighLevelILInstruction¶
- property detailed_operands: List[Tuple[str, 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.
- property src: HighLevelILInstruction¶
- property vars_written: List[SSAVariable | Variable]¶
List of variables value is written by this instruction
HighLevelILAssignMemSsa¶
- class HighLevelILAssignMemSsa[source]¶
Bases:
HighLevelILInstruction,SSAHighLevelILAssignMemSsa(function: ‘HighLevelILFunction’, expr_index: binaryninja.highlevelil.ExpressionIndex, core_instr: binaryninja.highlevelil.CoreHighLevelILInstruction, as_ast: bool, instr_index: binaryninja.highlevelil.InstructionIndex)
- __init__(function: HighLevelILFunction, expr_index: ExpressionIndex, core_instr: CoreHighLevelILInstruction, as_ast: bool, instr_index: InstructionIndex) None¶
- Parameters:
function (HighLevelILFunction) –
expr_index (ExpressionIndex) –
core_instr (CoreHighLevelILInstruction) –
as_ast (bool) –
instr_index (InstructionIndex) –
- Return type:
None
- property dest: HighLevelILInstruction¶
- property detailed_operands: List[Tuple[str, 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.
- property src: HighLevelILInstruction¶
HighLevelILAssignUnpack¶
- class HighLevelILAssignUnpack[source]¶
Bases:
HighLevelILInstruction,SetVarHighLevelILAssignUnpack(function: ‘HighLevelILFunction’, expr_index: binaryninja.highlevelil.ExpressionIndex, core_instr: binaryninja.highlevelil.CoreHighLevelILInstruction, as_ast: bool, instr_index: binaryninja.highlevelil.InstructionIndex)
- __init__(function: HighLevelILFunction, expr_index: ExpressionIndex, core_instr: CoreHighLevelILInstruction, as_ast: bool, instr_index: InstructionIndex) None¶
- Parameters:
function (HighLevelILFunction) –
expr_index (ExpressionIndex) –
core_instr (CoreHighLevelILInstruction) –
as_ast (bool) –
instr_index (InstructionIndex) –
- Return type:
None
- property dest: List[HighLevelILInstruction]¶
- property detailed_operands: List[Tuple[str, 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.
- property src: HighLevelILInstruction¶
- property vars_written: List[SSAVariable | Variable]¶
List of variables value is written by this instruction
HighLevelILAssignUnpackMemSsa¶
- class HighLevelILAssignUnpackMemSsa[source]¶
Bases:
HighLevelILInstruction,SSA,MemoryHighLevelILAssignUnpackMemSsa(function: ‘HighLevelILFunction’, expr_index: binaryninja.highlevelil.ExpressionIndex, core_instr: binaryninja.highlevelil.CoreHighLevelILInstruction, as_ast: bool, instr_index: binaryninja.highlevelil.InstructionIndex)
- __init__(function: HighLevelILFunction, expr_index: ExpressionIndex, core_instr: CoreHighLevelILInstruction, as_ast: bool, instr_index: InstructionIndex) None¶
- Parameters:
function (HighLevelILFunction) –
expr_index (ExpressionIndex) –
core_instr (CoreHighLevelILInstruction) –
as_ast (bool) –
instr_index (InstructionIndex) –
- Return type:
None
- property dest: List[HighLevelILInstruction]¶
- property detailed_operands: List[Tuple[str, 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.
- property src: HighLevelILInstruction¶
HighLevelILBasicBlock¶
- class HighLevelILBasicBlock[source]¶
Bases:
BasicBlockThe
HighLevelILBasicBlockobject is returned during analysis and should not be directly instantiated.- __init__(handle: LP_BNBasicBlock, owner: HighLevelILFunction, view: BinaryView | None)[source]¶
- Parameters:
handle (LP_BNBasicBlock) –
owner (HighLevelILFunction) –
view (BinaryView | None) –
- property il_function: HighLevelILFunction¶
IL Function of which this block is a part, if the block is part of an IL Function.
HighLevelILBinaryBase¶
- class HighLevelILBinaryBase[source]¶
Bases:
HighLevelILInstruction,BinaryOperationHighLevelILBinaryBase(function: ‘HighLevelILFunction’, expr_index: binaryninja.highlevelil.ExpressionIndex, core_instr: binaryninja.highlevelil.CoreHighLevelILInstruction, as_ast: bool, instr_index: binaryninja.highlevelil.InstructionIndex)
- __init__(function: HighLevelILFunction, expr_index: ExpressionIndex, core_instr: CoreHighLevelILInstruction, as_ast: bool, instr_index: InstructionIndex) None¶
- Parameters:
function (HighLevelILFunction) –
expr_index (ExpressionIndex) –
core_instr (CoreHighLevelILInstruction) –
as_ast (bool) –
instr_index (InstructionIndex) –
- Return type:
None
- property detailed_operands: List[Tuple[str, 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.
- property left: HighLevelILInstruction¶
- property right: HighLevelILInstruction¶
HighLevelILBlock¶
- class HighLevelILBlock[source]¶
Bases:
HighLevelILInstructionHighLevelILBlock(function: ‘HighLevelILFunction’, expr_index: binaryninja.highlevelil.ExpressionIndex, core_instr: binaryninja.highlevelil.CoreHighLevelILInstruction, as_ast: bool, instr_index: binaryninja.highlevelil.InstructionIndex)
- __init__(function: HighLevelILFunction, expr_index: ExpressionIndex, core_instr: CoreHighLevelILInstruction, as_ast: bool, instr_index: InstructionIndex) None¶
- Parameters:
function (HighLevelILFunction) –
expr_index (ExpressionIndex) –
core_instr (CoreHighLevelILInstruction) –
as_ast (bool) –
instr_index (InstructionIndex) –
- Return type:
None
- property body: List[HighLevelILInstruction]¶
- property detailed_operands: List[Tuple[str, 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.
HighLevelILBoolToInt¶
- class HighLevelILBoolToInt[source]¶
Bases:
HighLevelILUnaryBaseHighLevelILBoolToInt(function: ‘HighLevelILFunction’, expr_index: binaryninja.highlevelil.ExpressionIndex, core_instr: binaryninja.highlevelil.CoreHighLevelILInstruction, as_ast: bool, instr_index: binaryninja.highlevelil.InstructionIndex)
- __init__(function: HighLevelILFunction, expr_index: ExpressionIndex, core_instr: CoreHighLevelILInstruction, as_ast: bool, instr_index: InstructionIndex) None¶
- Parameters:
function (HighLevelILFunction) –
expr_index (ExpressionIndex) –
core_instr (CoreHighLevelILInstruction) –
as_ast (bool) –
instr_index (InstructionIndex) –
- Return type:
None
HighLevelILBp¶
- class HighLevelILBp[source]¶
Bases:
HighLevelILInstruction,TerminalHighLevelILBp(function: ‘HighLevelILFunction’, expr_index: binaryninja.highlevelil.ExpressionIndex, core_instr: binaryninja.highlevelil.CoreHighLevelILInstruction, as_ast: bool, instr_index: binaryninja.highlevelil.InstructionIndex)
- __init__(function: HighLevelILFunction, expr_index: ExpressionIndex, core_instr: CoreHighLevelILInstruction, as_ast: bool, instr_index: InstructionIndex) None¶
- Parameters:
function (HighLevelILFunction) –
expr_index (ExpressionIndex) –
core_instr (CoreHighLevelILInstruction) –
as_ast (bool) –
instr_index (InstructionIndex) –
- Return type:
None
HighLevelILBreak¶
- class HighLevelILBreak[source]¶
Bases:
HighLevelILInstruction,TerminalHighLevelILBreak(function: ‘HighLevelILFunction’, expr_index: binaryninja.highlevelil.ExpressionIndex, core_instr: binaryninja.highlevelil.CoreHighLevelILInstruction, as_ast: bool, instr_index: binaryninja.highlevelil.InstructionIndex)
- __init__(function: HighLevelILFunction, expr_index: ExpressionIndex, core_instr: CoreHighLevelILInstruction, as_ast: bool, instr_index: InstructionIndex) None¶
- Parameters:
function (HighLevelILFunction) –
expr_index (ExpressionIndex) –
core_instr (CoreHighLevelILInstruction) –
as_ast (bool) –
instr_index (InstructionIndex) –
- Return type:
None
HighLevelILCall¶
- class HighLevelILCall[source]¶
Bases:
HighLevelILInstruction,LocalcallHighLevelILCall(function: ‘HighLevelILFunction’, expr_index: binaryninja.highlevelil.ExpressionIndex, core_instr: binaryninja.highlevelil.CoreHighLevelILInstruction, as_ast: bool, instr_index: binaryninja.highlevelil.InstructionIndex)
- __init__(function: HighLevelILFunction, expr_index: ExpressionIndex, core_instr: CoreHighLevelILInstruction, as_ast: bool, instr_index: InstructionIndex) None¶
- Parameters:
function (HighLevelILFunction) –
expr_index (ExpressionIndex) –
core_instr (CoreHighLevelILInstruction) –
as_ast (bool) –
instr_index (InstructionIndex) –
- Return type:
None
- property dest: HighLevelILInstruction¶
- property detailed_operands: List[Tuple[str, 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.
- property params: List[HighLevelILInstruction]¶
HighLevelILCallSsa¶
- class HighLevelILCallSsa[source]¶
Bases:
HighLevelILInstruction,Localcall,SSAHighLevelILCallSsa(function: ‘HighLevelILFunction’, expr_index: binaryninja.highlevelil.ExpressionIndex, core_instr: binaryninja.highlevelil.CoreHighLevelILInstruction, as_ast: bool, instr_index: binaryninja.highlevelil.InstructionIndex)
- __init__(function: HighLevelILFunction, expr_index: ExpressionIndex, core_instr: CoreHighLevelILInstruction, as_ast: bool, instr_index: InstructionIndex) None¶
- Parameters:
function (HighLevelILFunction) –
expr_index (ExpressionIndex) –
core_instr (CoreHighLevelILInstruction) –
as_ast (bool) –
instr_index (InstructionIndex) –
- Return type:
None
- property dest: HighLevelILInstruction¶
- property detailed_operands: List[Tuple[str, 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.
- property params: List[HighLevelILInstruction]¶
HighLevelILCarryBase¶
- class HighLevelILCarryBase[source]¶
Bases:
HighLevelILInstruction,ArithmeticHighLevelILCarryBase(function: ‘HighLevelILFunction’, expr_index: binaryninja.highlevelil.ExpressionIndex, core_instr: binaryninja.highlevelil.CoreHighLevelILInstruction, as_ast: bool, instr_index: binaryninja.highlevelil.InstructionIndex)
- __init__(function: HighLevelILFunction, expr_index: ExpressionIndex, core_instr: CoreHighLevelILInstruction, as_ast: bool, instr_index: InstructionIndex) None¶
- Parameters:
function (HighLevelILFunction) –
expr_index (ExpressionIndex) –
core_instr (CoreHighLevelILInstruction) –
as_ast (bool) –
instr_index (InstructionIndex) –
- Return type:
None
- property carry: HighLevelILInstruction¶
- property detailed_operands: List[Tuple[str, 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.
- property left: HighLevelILInstruction¶
- property right: HighLevelILInstruction¶
HighLevelILCase¶
- class HighLevelILCase[source]¶
Bases:
HighLevelILInstructionHighLevelILCase(function: ‘HighLevelILFunction’, expr_index: binaryninja.highlevelil.ExpressionIndex, core_instr: binaryninja.highlevelil.CoreHighLevelILInstruction, as_ast: bool, instr_index: binaryninja.highlevelil.InstructionIndex)
- __init__(function: HighLevelILFunction, expr_index: ExpressionIndex, core_instr: CoreHighLevelILInstruction, as_ast: bool, instr_index: InstructionIndex) None¶
- Parameters:
function (HighLevelILFunction) –
expr_index (ExpressionIndex) –
core_instr (CoreHighLevelILInstruction) –
as_ast (bool) –
instr_index (InstructionIndex) –
- Return type:
None
- property body: HighLevelILInstruction¶
- property detailed_operands: List[Tuple[str, 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.
- property values: List[HighLevelILInstruction]¶
HighLevelILCeil¶
- class HighLevelILCeil[source]¶
Bases:
HighLevelILUnaryBase,FloatingPointHighLevelILCeil(function: ‘HighLevelILFunction’, expr_index: binaryninja.highlevelil.ExpressionIndex, core_instr: binaryninja.highlevelil.CoreHighLevelILInstruction, as_ast: bool, instr_index: binaryninja.highlevelil.InstructionIndex)
- __init__(function: HighLevelILFunction, expr_index: ExpressionIndex, core_instr: CoreHighLevelILInstruction, as_ast: bool, instr_index: InstructionIndex) None¶
- Parameters:
function (HighLevelILFunction) –
expr_index (ExpressionIndex) –
core_instr (CoreHighLevelILInstruction) –
as_ast (bool) –
instr_index (InstructionIndex) –
- Return type:
None
HighLevelILCmpE¶
- class HighLevelILCmpE[source]¶
Bases:
HighLevelILComparisonBaseHighLevelILCmpE(function: ‘HighLevelILFunction’, expr_index: binaryninja.highlevelil.ExpressionIndex, core_instr: binaryninja.highlevelil.CoreHighLevelILInstruction, as_ast: bool, instr_index: binaryninja.highlevelil.InstructionIndex)
- __init__(function: HighLevelILFunction, expr_index: ExpressionIndex, core_instr: CoreHighLevelILInstruction, as_ast: bool, instr_index: InstructionIndex) None¶
- Parameters:
function (HighLevelILFunction) –
expr_index (ExpressionIndex) –
core_instr (CoreHighLevelILInstruction) –
as_ast (bool) –
instr_index (InstructionIndex) –
- Return type:
None
HighLevelILCmpNe¶
- class HighLevelILCmpNe[source]¶
Bases:
HighLevelILComparisonBaseHighLevelILCmpNe(function: ‘HighLevelILFunction’, expr_index: binaryninja.highlevelil.ExpressionIndex, core_instr: binaryninja.highlevelil.CoreHighLevelILInstruction, as_ast: bool, instr_index: binaryninja.highlevelil.InstructionIndex)
- __init__(function: HighLevelILFunction, expr_index: ExpressionIndex, core_instr: CoreHighLevelILInstruction, as_ast: bool, instr_index: InstructionIndex) None¶
- Parameters:
function (HighLevelILFunction) –
expr_index (ExpressionIndex) –
core_instr (CoreHighLevelILInstruction) –
as_ast (bool) –
instr_index (InstructionIndex) –
- Return type:
None
HighLevelILCmpSge¶
- class HighLevelILCmpSge[source]¶
Bases:
HighLevelILComparisonBase,SignedHighLevelILCmpSge(function: ‘HighLevelILFunction’, expr_index: binaryninja.highlevelil.ExpressionIndex, core_instr: binaryninja.highlevelil.CoreHighLevelILInstruction, as_ast: bool, instr_index: binaryninja.highlevelil.InstructionIndex)
- __init__(function: HighLevelILFunction, expr_index: ExpressionIndex, core_instr: CoreHighLevelILInstruction, as_ast: bool, instr_index: InstructionIndex) None¶
- Parameters:
function (HighLevelILFunction) –
expr_index (ExpressionIndex) –
core_instr (CoreHighLevelILInstruction) –
as_ast (bool) –
instr_index (InstructionIndex) –
- Return type:
None
HighLevelILCmpSgt¶
- class HighLevelILCmpSgt[source]¶
Bases:
HighLevelILComparisonBase,SignedHighLevelILCmpSgt(function: ‘HighLevelILFunction’, expr_index: binaryninja.highlevelil.ExpressionIndex, core_instr: binaryninja.highlevelil.CoreHighLevelILInstruction, as_ast: bool, instr_index: binaryninja.highlevelil.InstructionIndex)
- __init__(function: HighLevelILFunction, expr_index: ExpressionIndex, core_instr: CoreHighLevelILInstruction, as_ast: bool, instr_index: InstructionIndex) None¶
- Parameters:
function (HighLevelILFunction) –
expr_index (ExpressionIndex) –
core_instr (CoreHighLevelILInstruction) –
as_ast (bool) –
instr_index (InstructionIndex) –
- Return type:
None
HighLevelILCmpSle¶
- class HighLevelILCmpSle[source]¶
Bases:
HighLevelILComparisonBase,SignedHighLevelILCmpSle(function: ‘HighLevelILFunction’, expr_index: binaryninja.highlevelil.ExpressionIndex, core_instr: binaryninja.highlevelil.CoreHighLevelILInstruction, as_ast: bool, instr_index: binaryninja.highlevelil.InstructionIndex)
- __init__(function: HighLevelILFunction, expr_index: ExpressionIndex, core_instr: CoreHighLevelILInstruction, as_ast: bool, instr_index: InstructionIndex) None¶
- Parameters:
function (HighLevelILFunction) –
expr_index (ExpressionIndex) –
core_instr (CoreHighLevelILInstruction) –
as_ast (bool) –
instr_index (InstructionIndex) –
- Return type:
None
HighLevelILCmpSlt¶
- class HighLevelILCmpSlt[source]¶
Bases:
HighLevelILComparisonBase,SignedHighLevelILCmpSlt(function: ‘HighLevelILFunction’, expr_index: binaryninja.highlevelil.ExpressionIndex, core_instr: binaryninja.highlevelil.CoreHighLevelILInstruction, as_ast: bool, instr_index: binaryninja.highlevelil.InstructionIndex)
- __init__(function: HighLevelILFunction, expr_index: ExpressionIndex, core_instr: CoreHighLevelILInstruction, as_ast: bool, instr_index: InstructionIndex) None¶
- Parameters:
function (HighLevelILFunction) –
expr_index (ExpressionIndex) –
core_instr (CoreHighLevelILInstruction) –
as_ast (bool) –
instr_index (InstructionIndex) –
- Return type:
None
HighLevelILCmpUge¶
- class HighLevelILCmpUge[source]¶
Bases:
HighLevelILComparisonBaseHighLevelILCmpUge(function: ‘HighLevelILFunction’, expr_index: binaryninja.highlevelil.ExpressionIndex, core_instr: binaryninja.highlevelil.CoreHighLevelILInstruction, as_ast: bool, instr_index: binaryninja.highlevelil.InstructionIndex)
- __init__(function: HighLevelILFunction, expr_index: ExpressionIndex, core_instr: CoreHighLevelILInstruction, as_ast: bool, instr_index: InstructionIndex) None¶
- Parameters:
function (HighLevelILFunction) –
expr_index (ExpressionIndex) –
core_instr (CoreHighLevelILInstruction) –
as_ast (bool) –
instr_index (InstructionIndex) –
- Return type:
None
HighLevelILCmpUgt¶
- class HighLevelILCmpUgt[source]¶
Bases:
HighLevelILComparisonBaseHighLevelILCmpUgt(function: ‘HighLevelILFunction’, expr_index: binaryninja.highlevelil.ExpressionIndex, core_instr: binaryninja.highlevelil.CoreHighLevelILInstruction, as_ast: bool, instr_index: binaryninja.highlevelil.InstructionIndex)
- __init__(function: HighLevelILFunction, expr_index: ExpressionIndex, core_instr: CoreHighLevelILInstruction, as_ast: bool, instr_index: InstructionIndex) None¶
- Parameters:
function (HighLevelILFunction) –
expr_index (ExpressionIndex) –
core_instr (CoreHighLevelILInstruction) –
as_ast (bool) –
instr_index (InstructionIndex) –
- Return type:
None
HighLevelILCmpUle¶
- class HighLevelILCmpUle[source]¶
Bases:
HighLevelILComparisonBaseHighLevelILCmpUle(function: ‘HighLevelILFunction’, expr_index: binaryninja.highlevelil.ExpressionIndex, core_instr: binaryninja.highlevelil.CoreHighLevelILInstruction, as_ast: bool, instr_index: binaryninja.highlevelil.InstructionIndex)
- __init__(function: HighLevelILFunction, expr_index: ExpressionIndex, core_instr: CoreHighLevelILInstruction, as_ast: bool, instr_index: InstructionIndex) None¶
- Parameters:
function (HighLevelILFunction) –
expr_index (ExpressionIndex) –
core_instr (CoreHighLevelILInstruction) –
as_ast (bool) –
instr_index (InstructionIndex) –
- Return type:
None
HighLevelILCmpUlt¶
- class HighLevelILCmpUlt[source]¶
Bases:
HighLevelILComparisonBaseHighLevelILCmpUlt(function: ‘HighLevelILFunction’, expr_index: binaryninja.highlevelil.ExpressionIndex, core_instr: binaryninja.highlevelil.CoreHighLevelILInstruction, as_ast: bool, instr_index: binaryninja.highlevelil.InstructionIndex)
- __init__(function: HighLevelILFunction, expr_index: ExpressionIndex, core_instr: CoreHighLevelILInstruction, as_ast: bool, instr_index: InstructionIndex) None¶
- Parameters:
function (HighLevelILFunction) –
expr_index (ExpressionIndex) –
core_instr (CoreHighLevelILInstruction) –
as_ast (bool) –
instr_index (InstructionIndex) –
- Return type:
None
HighLevelILComparisonBase¶
- class HighLevelILComparisonBase[source]¶
Bases:
HighLevelILBinaryBase,ComparisonHighLevelILComparisonBase(function: ‘HighLevelILFunction’, expr_index: binaryninja.highlevelil.ExpressionIndex, core_instr: binaryninja.highlevelil.CoreHighLevelILInstruction, as_ast: bool, instr_index: binaryninja.highlevelil.InstructionIndex)
- __init__(function: HighLevelILFunction, expr_index: ExpressionIndex, core_instr: CoreHighLevelILInstruction, as_ast: bool, instr_index: InstructionIndex) None¶
- Parameters:
function (HighLevelILFunction) –
expr_index (ExpressionIndex) –
core_instr (CoreHighLevelILInstruction) –
as_ast (bool) –
instr_index (InstructionIndex) –
- Return type:
None
HighLevelILConst¶
- class HighLevelILConst[source]¶
Bases:
HighLevelILInstruction,ConstantHighLevelILConst(function: ‘HighLevelILFunction’, expr_index: binaryninja.highlevelil.ExpressionIndex, core_instr: binaryninja.highlevelil.CoreHighLevelILInstruction, as_ast: bool, instr_index: binaryninja.highlevelil.InstructionIndex)
- __init__(function: HighLevelILFunction, expr_index: ExpressionIndex, core_instr: CoreHighLevelILInstruction, as_ast: bool, instr_index: InstructionIndex) None¶
- Parameters:
function (HighLevelILFunction) –
expr_index (ExpressionIndex) –
core_instr (CoreHighLevelILInstruction) –
as_ast (bool) –
instr_index (InstructionIndex) –
- Return type:
None
- property detailed_operands: List[Tuple[str, 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.
HighLevelILConstData¶
- class HighLevelILConstData[source]¶
Bases:
HighLevelILInstruction,ConstantHighLevelILConstData(function: ‘HighLevelILFunction’, expr_index: binaryninja.highlevelil.ExpressionIndex, core_instr: binaryninja.highlevelil.CoreHighLevelILInstruction, as_ast: bool, instr_index: binaryninja.highlevelil.InstructionIndex)
- __init__(function: HighLevelILFunction, expr_index: ExpressionIndex, core_instr: CoreHighLevelILInstruction, as_ast: bool, instr_index: InstructionIndex) None¶
- Parameters:
function (HighLevelILFunction) –
expr_index (ExpressionIndex) –
core_instr (CoreHighLevelILInstruction) –
as_ast (bool) –
instr_index (InstructionIndex) –
- Return type:
None
- property constant: ConstantData¶
- property constant_data: ConstantData¶
- property detailed_operands: List[Tuple[str, 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.
HighLevelILConstPtr¶
- class HighLevelILConstPtr[source]¶
Bases:
HighLevelILInstruction,ConstantHighLevelILConstPtr(function: ‘HighLevelILFunction’, expr_index: binaryninja.highlevelil.ExpressionIndex, core_instr: binaryninja.highlevelil.CoreHighLevelILInstruction, as_ast: bool, instr_index: binaryninja.highlevelil.InstructionIndex)
- __init__(function: HighLevelILFunction, expr_index: ExpressionIndex, core_instr: CoreHighLevelILInstruction, as_ast: bool, instr_index: InstructionIndex) None¶
- Parameters:
function (HighLevelILFunction) –
expr_index (ExpressionIndex) –
core_instr (CoreHighLevelILInstruction) –
as_ast (bool) –
instr_index (InstructionIndex) –
- Return type:
None
- property detailed_operands: List[Tuple[str, 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.
- property string: Tuple[str, StringType] | None¶
HighLevelILContinue¶
- class HighLevelILContinue[source]¶
Bases:
HighLevelILInstruction,ControlFlowHighLevelILContinue(function: ‘HighLevelILFunction’, expr_index: binaryninja.highlevelil.ExpressionIndex, core_instr: binaryninja.highlevelil.CoreHighLevelILInstruction, as_ast: bool, instr_index: binaryninja.highlevelil.InstructionIndex)
- __init__(function: HighLevelILFunction, expr_index: ExpressionIndex, core_instr: CoreHighLevelILInstruction, as_ast: bool, instr_index: InstructionIndex) None¶
- Parameters:
function (HighLevelILFunction) –
expr_index (ExpressionIndex) –
core_instr (CoreHighLevelILInstruction) –
as_ast (bool) –
instr_index (InstructionIndex) –
- Return type:
None
HighLevelILDeref¶
- class HighLevelILDeref[source]¶
Bases:
HighLevelILUnaryBaseHighLevelILDeref(function: ‘HighLevelILFunction’, expr_index: binaryninja.highlevelil.ExpressionIndex, core_instr: binaryninja.highlevelil.CoreHighLevelILInstruction, as_ast: bool, instr_index: binaryninja.highlevelil.InstructionIndex)
- __init__(function: HighLevelILFunction, expr_index: ExpressionIndex, core_instr: CoreHighLevelILInstruction, as_ast: bool, instr_index: InstructionIndex) None¶
- Parameters:
function (HighLevelILFunction) –
expr_index (ExpressionIndex) –
core_instr (CoreHighLevelILInstruction) –
as_ast (bool) –
instr_index (InstructionIndex) –
- Return type:
None
HighLevelILDerefField¶
- class HighLevelILDerefField[source]¶
Bases:
HighLevelILInstructionHighLevelILDerefField(function: ‘HighLevelILFunction’, expr_index: binaryninja.highlevelil.ExpressionIndex, core_instr: binaryninja.highlevelil.CoreHighLevelILInstruction, as_ast: bool, instr_index: binaryninja.highlevelil.InstructionIndex)
- __init__(function: HighLevelILFunction, expr_index: ExpressionIndex, core_instr: CoreHighLevelILInstruction, as_ast: bool, instr_index: InstructionIndex) None¶
- Parameters:
function (HighLevelILFunction) –
expr_index (ExpressionIndex) –
core_instr (CoreHighLevelILInstruction) –
as_ast (bool) –
instr_index (InstructionIndex) –
- Return type:
None
- property detailed_operands: List[Tuple[str, 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.
- property src: HighLevelILInstruction¶
HighLevelILDerefFieldSsa¶
- class HighLevelILDerefFieldSsa[source]¶
Bases:
HighLevelILInstruction,SSAHighLevelILDerefFieldSsa(function: ‘HighLevelILFunction’, expr_index: binaryninja.highlevelil.ExpressionIndex, core_instr: binaryninja.highlevelil.CoreHighLevelILInstruction, as_ast: bool, instr_index: binaryninja.highlevelil.InstructionIndex)
- __init__(function: HighLevelILFunction, expr_index: ExpressionIndex, core_instr: CoreHighLevelILInstruction, as_ast: bool, instr_index: InstructionIndex) None¶
- Parameters:
function (HighLevelILFunction) –
expr_index (ExpressionIndex) –
core_instr (CoreHighLevelILInstruction) –
as_ast (bool) –
instr_index (InstructionIndex) –
- Return type:
None
- property detailed_operands: List[Tuple[str, 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.
- property src: HighLevelILInstruction¶
HighLevelILDerefSsa¶
- class HighLevelILDerefSsa[source]¶
Bases:
HighLevelILInstruction,SSAHighLevelILDerefSsa(function: ‘HighLevelILFunction’, expr_index: binaryninja.highlevelil.ExpressionIndex, core_instr: binaryninja.highlevelil.CoreHighLevelILInstruction, as_ast: bool, instr_index: binaryninja.highlevelil.InstructionIndex)
- __init__(function: HighLevelILFunction, expr_index: ExpressionIndex, core_instr: CoreHighLevelILInstruction, as_ast: bool, instr_index: InstructionIndex) None¶
- Parameters:
function (HighLevelILFunction) –
expr_index (ExpressionIndex) –
core_instr (CoreHighLevelILInstruction) –
as_ast (bool) –
instr_index (InstructionIndex) –
- Return type:
None
- property detailed_operands: List[Tuple[str, 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.
- property src: HighLevelILInstruction¶
HighLevelILDivs¶
- class HighLevelILDivs[source]¶
Bases:
HighLevelILBinaryBase,SignedHighLevelILDivs(function: ‘HighLevelILFunction’, expr_index: binaryninja.highlevelil.ExpressionIndex, core_instr: binaryninja.highlevelil.CoreHighLevelILInstruction, as_ast: bool, instr_index: binaryninja.highlevelil.InstructionIndex)
- __init__(function: HighLevelILFunction, expr_index: ExpressionIndex, core_instr: CoreHighLevelILInstruction, as_ast: bool, instr_index: InstructionIndex) None¶
- Parameters:
function (HighLevelILFunction) –
expr_index (ExpressionIndex) –
core_instr (CoreHighLevelILInstruction) –
as_ast (bool) –
instr_index (InstructionIndex) –
- Return type:
None
HighLevelILDivsDp¶
- class HighLevelILDivsDp[source]¶
Bases:
HighLevelILBinaryBase,Signed,DoublePrecisionHighLevelILDivsDp(function: ‘HighLevelILFunction’, expr_index: binaryninja.highlevelil.ExpressionIndex, core_instr: binaryninja.highlevelil.CoreHighLevelILInstruction, as_ast: bool, instr_index: binaryninja.highlevelil.InstructionIndex)
- __init__(function: HighLevelILFunction, expr_index: ExpressionIndex, core_instr: CoreHighLevelILInstruction, as_ast: bool, instr_index: InstructionIndex) None¶
- Parameters:
function (HighLevelILFunction) –
expr_index (ExpressionIndex) –
core_instr (CoreHighLevelILInstruction) –
as_ast (bool) –
instr_index (InstructionIndex) –
- Return type:
None
HighLevelILDivu¶
- class HighLevelILDivu[source]¶
Bases:
HighLevelILBinaryBase,ArithmeticHighLevelILDivu(function: ‘HighLevelILFunction’, expr_index: binaryninja.highlevelil.ExpressionIndex, core_instr: binaryninja.highlevelil.CoreHighLevelILInstruction, as_ast: bool, instr_index: binaryninja.highlevelil.InstructionIndex)
- __init__(function: HighLevelILFunction, expr_index: ExpressionIndex, core_instr: CoreHighLevelILInstruction, as_ast: bool, instr_index: InstructionIndex) None¶
- Parameters:
function (HighLevelILFunction) –
expr_index (ExpressionIndex) –
core_instr (CoreHighLevelILInstruction) –
as_ast (bool) –
instr_index (InstructionIndex) –
- Return type:
None
HighLevelILDivuDp¶
- class HighLevelILDivuDp[source]¶
Bases:
HighLevelILBinaryBase,DoublePrecisionHighLevelILDivuDp(function: ‘HighLevelILFunction’, expr_index: binaryninja.highlevelil.ExpressionIndex, core_instr: binaryninja.highlevelil.CoreHighLevelILInstruction, as_ast: bool, instr_index: binaryninja.highlevelil.InstructionIndex)
- __init__(function: HighLevelILFunction, expr_index: ExpressionIndex, core_instr: CoreHighLevelILInstruction, as_ast: bool, instr_index: InstructionIndex) None¶
- Parameters:
function (HighLevelILFunction) –
expr_index (ExpressionIndex) –
core_instr (CoreHighLevelILInstruction) –
as_ast (bool) –
instr_index (InstructionIndex) –
- Return type:
None
HighLevelILDoWhile¶
- class HighLevelILDoWhile[source]¶
Bases:
HighLevelILInstruction,LoopHighLevelILDoWhile(function: ‘HighLevelILFunction’, expr_index: binaryninja.highlevelil.ExpressionIndex, core_instr: binaryninja.highlevelil.CoreHighLevelILInstruction, as_ast: bool, instr_index: binaryninja.highlevelil.InstructionIndex)
- __init__(function: HighLevelILFunction, expr_index: ExpressionIndex, core_instr: CoreHighLevelILInstruction, as_ast: bool, instr_index: InstructionIndex) None¶
- Parameters:
function (HighLevelILFunction) –
expr_index (ExpressionIndex) –
core_instr (CoreHighLevelILInstruction) –
as_ast (bool) –
instr_index (InstructionIndex) –
- Return type:
None
- property body: HighLevelILInstruction¶
- property condition: HighLevelILInstruction¶
- property detailed_operands: List[Tuple[str, 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.
HighLevelILDoWhileSsa¶
- class HighLevelILDoWhileSsa[source]¶
Bases:
HighLevelILInstruction,Loop,SSAHighLevelILDoWhileSsa(function: ‘HighLevelILFunction’, expr_index: binaryninja.highlevelil.ExpressionIndex, core_instr: binaryninja.highlevelil.CoreHighLevelILInstruction, as_ast: bool, instr_index: binaryninja.highlevelil.InstructionIndex)
- __init__(function: HighLevelILFunction, expr_index: ExpressionIndex, core_instr: CoreHighLevelILInstruction, as_ast: bool, instr_index: InstructionIndex) None¶
- Parameters:
function (HighLevelILFunction) –
expr_index (ExpressionIndex) –
core_instr (CoreHighLevelILInstruction) –
as_ast (bool) –
instr_index (InstructionIndex) –
- Return type:
None
- property body: HighLevelILInstruction¶
- property condition: HighLevelILInstruction¶
- property condition_phi: HighLevelILInstruction¶
- property detailed_operands: List[Tuple[str, 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.
HighLevelILExternPtr¶
- class HighLevelILExternPtr[source]¶
Bases:
HighLevelILInstruction,ConstantHighLevelILExternPtr(function: ‘HighLevelILFunction’, expr_index: binaryninja.highlevelil.ExpressionIndex, core_instr: binaryninja.highlevelil.CoreHighLevelILInstruction, as_ast: bool, instr_index: binaryninja.highlevelil.InstructionIndex)
- __init__(function: HighLevelILFunction, expr_index: ExpressionIndex, core_instr: CoreHighLevelILInstruction, as_ast: bool, instr_index: InstructionIndex) None¶
- Parameters:
function (HighLevelILFunction) –
expr_index (ExpressionIndex) –
core_instr (CoreHighLevelILInstruction) –
as_ast (bool) –
instr_index (InstructionIndex) –
- Return type:
None
- property detailed_operands: List[Tuple[str, 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.
HighLevelILFabs¶
- class HighLevelILFabs[source]¶
Bases:
HighLevelILUnaryBase,FloatingPointHighLevelILFabs(function: ‘HighLevelILFunction’, expr_index: binaryninja.highlevelil.ExpressionIndex, core_instr: binaryninja.highlevelil.CoreHighLevelILInstruction, as_ast: bool, instr_index: binaryninja.highlevelil.InstructionIndex)
- __init__(function: HighLevelILFunction, expr_index: ExpressionIndex, core_instr: CoreHighLevelILInstruction, as_ast: bool, instr_index: InstructionIndex) None¶
- Parameters:
function (HighLevelILFunction) –
expr_index (ExpressionIndex) –
core_instr (CoreHighLevelILInstruction) –
as_ast (bool) –
instr_index (InstructionIndex) –
- Return type:
None
HighLevelILFadd¶
- class HighLevelILFadd[source]¶
Bases:
HighLevelILBinaryBase,FloatingPointHighLevelILFadd(function: ‘HighLevelILFunction’, expr_index: binaryninja.highlevelil.ExpressionIndex, core_instr: binaryninja.highlevelil.CoreHighLevelILInstruction, as_ast: bool, instr_index: binaryninja.highlevelil.InstructionIndex)
- __init__(function: HighLevelILFunction, expr_index: ExpressionIndex, core_instr: CoreHighLevelILInstruction, as_ast: bool, instr_index: InstructionIndex) None¶
- Parameters:
function (HighLevelILFunction) –
expr_index (ExpressionIndex) –
core_instr (CoreHighLevelILInstruction) –
as_ast (bool) –
instr_index (InstructionIndex) –
- Return type:
None
HighLevelILFcmpE¶
- class HighLevelILFcmpE[source]¶
Bases:
HighLevelILComparisonBase,FloatingPointHighLevelILFcmpE(function: ‘HighLevelILFunction’, expr_index: binaryninja.highlevelil.ExpressionIndex, core_instr: binaryninja.highlevelil.CoreHighLevelILInstruction, as_ast: bool, instr_index: binaryninja.highlevelil.InstructionIndex)
- __init__(function: HighLevelILFunction, expr_index: ExpressionIndex, core_instr: CoreHighLevelILInstruction, as_ast: bool, instr_index: InstructionIndex) None¶
- Parameters:
function (HighLevelILFunction) –
expr_index (ExpressionIndex) –
core_instr (CoreHighLevelILInstruction) –
as_ast (bool) –
instr_index (InstructionIndex) –
- Return type:
None
HighLevelILFcmpGe¶
- class HighLevelILFcmpGe[source]¶
Bases:
HighLevelILComparisonBase,FloatingPointHighLevelILFcmpGe(function: ‘HighLevelILFunction’, expr_index: binaryninja.highlevelil.ExpressionIndex, core_instr: binaryninja.highlevelil.CoreHighLevelILInstruction, as_ast: bool, instr_index: binaryninja.highlevelil.InstructionIndex)
- __init__(function: HighLevelILFunction, expr_index: ExpressionIndex, core_instr: CoreHighLevelILInstruction, as_ast: bool, instr_index: InstructionIndex) None¶
- Parameters:
function (HighLevelILFunction) –
expr_index (ExpressionIndex) –
core_instr (CoreHighLevelILInstruction) –
as_ast (bool) –
instr_index (InstructionIndex) –
- Return type:
None
HighLevelILFcmpGt¶
- class HighLevelILFcmpGt[source]¶
Bases:
HighLevelILComparisonBase,FloatingPointHighLevelILFcmpGt(function: ‘HighLevelILFunction’, expr_index: binaryninja.highlevelil.ExpressionIndex, core_instr: binaryninja.highlevelil.CoreHighLevelILInstruction, as_ast: bool, instr_index: binaryninja.highlevelil.InstructionIndex)
- __init__(function: HighLevelILFunction, expr_index: ExpressionIndex, core_instr: CoreHighLevelILInstruction, as_ast: bool, instr_index: InstructionIndex) None¶
- Parameters:
function (HighLevelILFunction) –
expr_index (ExpressionIndex) –
core_instr (CoreHighLevelILInstruction) –
as_ast (bool) –
instr_index (InstructionIndex) –
- Return type:
None
HighLevelILFcmpLe¶
- class HighLevelILFcmpLe[source]¶
Bases:
HighLevelILComparisonBase,FloatingPointHighLevelILFcmpLe(function: ‘HighLevelILFunction’, expr_index: binaryninja.highlevelil.ExpressionIndex, core_instr: binaryninja.highlevelil.CoreHighLevelILInstruction, as_ast: bool, instr_index: binaryninja.highlevelil.InstructionIndex)
- __init__(function: HighLevelILFunction, expr_index: ExpressionIndex, core_instr: CoreHighLevelILInstruction, as_ast: bool, instr_index: InstructionIndex) None¶
- Parameters:
function (HighLevelILFunction) –
expr_index (ExpressionIndex) –
core_instr (CoreHighLevelILInstruction) –
as_ast (bool) –
instr_index (InstructionIndex) –
- Return type:
None
HighLevelILFcmpLt¶
- class HighLevelILFcmpLt[source]¶
Bases:
HighLevelILComparisonBase,FloatingPointHighLevelILFcmpLt(function: ‘HighLevelILFunction’, expr_index: binaryninja.highlevelil.ExpressionIndex, core_instr: binaryninja.highlevelil.CoreHighLevelILInstruction, as_ast: bool, instr_index: binaryninja.highlevelil.InstructionIndex)
- __init__(function: HighLevelILFunction, expr_index: ExpressionIndex, core_instr: CoreHighLevelILInstruction, as_ast: bool, instr_index: InstructionIndex) None¶
- Parameters:
function (HighLevelILFunction) –
expr_index (ExpressionIndex) –
core_instr (CoreHighLevelILInstruction) –
as_ast (bool) –
instr_index (InstructionIndex) –
- Return type:
None
HighLevelILFcmpNe¶
- class HighLevelILFcmpNe[source]¶
Bases:
HighLevelILComparisonBase,FloatingPointHighLevelILFcmpNe(function: ‘HighLevelILFunction’, expr_index: binaryninja.highlevelil.ExpressionIndex, core_instr: binaryninja.highlevelil.CoreHighLevelILInstruction, as_ast: bool, instr_index: binaryninja.highlevelil.InstructionIndex)
- __init__(function: HighLevelILFunction, expr_index: ExpressionIndex, core_instr: CoreHighLevelILInstruction, as_ast: bool, instr_index: InstructionIndex) None¶
- Parameters:
function (HighLevelILFunction) –
expr_index (ExpressionIndex) –
core_instr (CoreHighLevelILInstruction) –
as_ast (bool) –
instr_index (InstructionIndex) –
- Return type:
None
HighLevelILFcmpO¶
- class HighLevelILFcmpO[source]¶
Bases:
HighLevelILComparisonBase,FloatingPointHighLevelILFcmpO(function: ‘HighLevelILFunction’, expr_index: binaryninja.highlevelil.ExpressionIndex, core_instr: binaryninja.highlevelil.CoreHighLevelILInstruction, as_ast: bool, instr_index: binaryninja.highlevelil.InstructionIndex)
- __init__(function: HighLevelILFunction, expr_index: ExpressionIndex, core_instr: CoreHighLevelILInstruction, as_ast: bool, instr_index: InstructionIndex) None¶
- Parameters:
function (HighLevelILFunction) –
expr_index (ExpressionIndex) –
core_instr (CoreHighLevelILInstruction) –
as_ast (bool) –
instr_index (InstructionIndex) –
- Return type:
None
HighLevelILFcmpUo¶
- class HighLevelILFcmpUo[source]¶
Bases:
HighLevelILComparisonBase,FloatingPointHighLevelILFcmpUo(function: ‘HighLevelILFunction’, expr_index: binaryninja.highlevelil.ExpressionIndex, core_instr: binaryninja.highlevelil.CoreHighLevelILInstruction, as_ast: bool, instr_index: binaryninja.highlevelil.InstructionIndex)
- __init__(function: HighLevelILFunction, expr_index: ExpressionIndex, core_instr: CoreHighLevelILInstruction, as_ast: bool, instr_index: InstructionIndex) None¶
- Parameters:
function (HighLevelILFunction) –
expr_index (ExpressionIndex) –
core_instr (CoreHighLevelILInstruction) –
as_ast (bool) –
instr_index (InstructionIndex) –
- Return type:
None
HighLevelILFdiv¶
- class HighLevelILFdiv[source]¶
Bases:
HighLevelILBinaryBase,FloatingPointHighLevelILFdiv(function: ‘HighLevelILFunction’, expr_index: binaryninja.highlevelil.ExpressionIndex, core_instr: binaryninja.highlevelil.CoreHighLevelILInstruction, as_ast: bool, instr_index: binaryninja.highlevelil.InstructionIndex)
- __init__(function: HighLevelILFunction, expr_index: ExpressionIndex, core_instr: CoreHighLevelILInstruction, as_ast: bool, instr_index: InstructionIndex) None¶
- Parameters:
function (HighLevelILFunction) –
expr_index (ExpressionIndex) –
core_instr (CoreHighLevelILInstruction) –
as_ast (bool) –
instr_index (InstructionIndex) –
- Return type:
None
HighLevelILFloatConst¶
- class HighLevelILFloatConst[source]¶
Bases:
HighLevelILInstruction,ConstantHighLevelILFloatConst(function: ‘HighLevelILFunction’, expr_index: binaryninja.highlevelil.ExpressionIndex, core_instr: binaryninja.highlevelil.CoreHighLevelILInstruction, as_ast: bool, instr_index: binaryninja.highlevelil.InstructionIndex)
- __init__(function: HighLevelILFunction, expr_index: ExpressionIndex, core_instr: CoreHighLevelILInstruction, as_ast: bool, instr_index: InstructionIndex) None¶
- Parameters:
function (HighLevelILFunction) –
expr_index (ExpressionIndex) –
core_instr (CoreHighLevelILInstruction) –
as_ast (bool) –
instr_index (InstructionIndex) –
- Return type:
None
- property detailed_operands: List[Tuple[str, 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.
HighLevelILFloatConv¶
- class HighLevelILFloatConv[source]¶
Bases:
HighLevelILUnaryBase,FloatingPointHighLevelILFloatConv(function: ‘HighLevelILFunction’, expr_index: binaryninja.highlevelil.ExpressionIndex, core_instr: binaryninja.highlevelil.CoreHighLevelILInstruction, as_ast: bool, instr_index: binaryninja.highlevelil.InstructionIndex)
- __init__(function: HighLevelILFunction, expr_index: ExpressionIndex, core_instr: CoreHighLevelILInstruction, as_ast: bool, instr_index: InstructionIndex) None¶
- Parameters:
function (HighLevelILFunction) –
expr_index (ExpressionIndex) –
core_instr (CoreHighLevelILInstruction) –
as_ast (bool) –
instr_index (InstructionIndex) –
- Return type:
None
HighLevelILFloatToInt¶
- class HighLevelILFloatToInt[source]¶
Bases:
HighLevelILUnaryBase,FloatingPointHighLevelILFloatToInt(function: ‘HighLevelILFunction’, expr_index: binaryninja.highlevelil.ExpressionIndex, core_instr: binaryninja.highlevelil.CoreHighLevelILInstruction, as_ast: bool, instr_index: binaryninja.highlevelil.InstructionIndex)
- __init__(function: HighLevelILFunction, expr_index: ExpressionIndex, core_instr: CoreHighLevelILInstruction, as_ast: bool, instr_index: InstructionIndex) None¶
- Parameters:
function (HighLevelILFunction) –
expr_index (ExpressionIndex) –
core_instr (CoreHighLevelILInstruction) –
as_ast (bool) –
instr_index (InstructionIndex) –
- Return type:
None
HighLevelILFloor¶
- class HighLevelILFloor[source]¶
Bases:
HighLevelILUnaryBase,FloatingPointHighLevelILFloor(function: ‘HighLevelILFunction’, expr_index: binaryninja.highlevelil.ExpressionIndex, core_instr: binaryninja.highlevelil.CoreHighLevelILInstruction, as_ast: bool, instr_index: binaryninja.highlevelil.InstructionIndex)
- __init__(function: HighLevelILFunction, expr_index: ExpressionIndex, core_instr: CoreHighLevelILInstruction, as_ast: bool, instr_index: InstructionIndex) None¶
- Parameters:
function (HighLevelILFunction) –
expr_index (ExpressionIndex) –
core_instr (CoreHighLevelILInstruction) –
as_ast (bool) –
instr_index (InstructionIndex) –
- Return type:
None
HighLevelILFmul¶
- class HighLevelILFmul[source]¶
Bases:
HighLevelILBinaryBase,FloatingPointHighLevelILFmul(function: ‘HighLevelILFunction’, expr_index: binaryninja.highlevelil.ExpressionIndex, core_instr: binaryninja.highlevelil.CoreHighLevelILInstruction, as_ast: bool, instr_index: binaryninja.highlevelil.InstructionIndex)
- __init__(function: HighLevelILFunction, expr_index: ExpressionIndex, core_instr: CoreHighLevelILInstruction, as_ast: bool, instr_index: InstructionIndex) None¶
- Parameters:
function (HighLevelILFunction) –
expr_index (ExpressionIndex) –
core_instr (CoreHighLevelILInstruction) –
as_ast (bool) –
instr_index (InstructionIndex) –
- Return type:
None
HighLevelILFneg¶
- class HighLevelILFneg[source]¶
Bases:
HighLevelILUnaryBase,FloatingPointHighLevelILFneg(function: ‘HighLevelILFunction’, expr_index: binaryninja.highlevelil.ExpressionIndex, core_instr: binaryninja.highlevelil.CoreHighLevelILInstruction, as_ast: bool, instr_index: binaryninja.highlevelil.InstructionIndex)
- __init__(function: HighLevelILFunction, expr_index: ExpressionIndex, core_instr: CoreHighLevelILInstruction, as_ast: bool, instr_index: InstructionIndex) None¶
- Parameters:
function (HighLevelILFunction) –
expr_index (ExpressionIndex) –
core_instr (CoreHighLevelILInstruction) –
as_ast (bool) –
instr_index (InstructionIndex) –
- Return type:
None
HighLevelILFor¶
- class HighLevelILFor[source]¶
Bases:
HighLevelILInstruction,LoopHighLevelILFor(function: ‘HighLevelILFunction’, expr_index: binaryninja.highlevelil.ExpressionIndex, core_instr: binaryninja.highlevelil.CoreHighLevelILInstruction, as_ast: bool, instr_index: binaryninja.highlevelil.InstructionIndex)
- __init__(function: HighLevelILFunction, expr_index: ExpressionIndex, core_instr: CoreHighLevelILInstruction, as_ast: bool, instr_index: InstructionIndex) None¶
- Parameters:
function (HighLevelILFunction) –
expr_index (ExpressionIndex) –
core_instr (CoreHighLevelILInstruction) –
as_ast (bool) –
instr_index (InstructionIndex) –
- Return type:
None
- property body: HighLevelILInstruction¶
- property condition: HighLevelILInstruction¶
- property detailed_operands: List[Tuple[str, 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.
- property init: HighLevelILInstruction¶
- property update: HighLevelILInstruction¶
HighLevelILForSsa¶
- class HighLevelILForSsa[source]¶
Bases:
HighLevelILInstruction,Loop,SSAHighLevelILForSsa(function: ‘HighLevelILFunction’, expr_index: binaryninja.highlevelil.ExpressionIndex, core_instr: binaryninja.highlevelil.CoreHighLevelILInstruction, as_ast: bool, instr_index: binaryninja.highlevelil.InstructionIndex)
- __init__(function: HighLevelILFunction, expr_index: ExpressionIndex, core_instr: CoreHighLevelILInstruction, as_ast: bool, instr_index: InstructionIndex) None¶
- Parameters:
function (HighLevelILFunction) –
expr_index (ExpressionIndex) –
core_instr (CoreHighLevelILInstruction) –
as_ast (bool) –
instr_index (InstructionIndex) –
- Return type:
None
- property body: HighLevelILInstruction¶
- property condition: HighLevelILInstruction¶
- property condition_phi: HighLevelILInstruction¶
- property detailed_operands: List[Tuple[str, 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.
- property init: HighLevelILInstruction¶
- property update: HighLevelILInstruction¶
HighLevelILForceVer¶
- class HighLevelILForceVer[source]¶
Bases:
HighLevelILInstructionHighLevelILForceVer(function: ‘HighLevelILFunction’, expr_index: binaryninja.highlevelil.ExpressionIndex, core_instr: binaryninja.highlevelil.CoreHighLevelILInstruction, as_ast: bool, instr_index: binaryninja.highlevelil.InstructionIndex)
- __init__(function: HighLevelILFunction, expr_index: ExpressionIndex, core_instr: CoreHighLevelILInstruction, as_ast: bool, instr_index: InstructionIndex) None¶
- Parameters:
function (HighLevelILFunction) –
expr_index (ExpressionIndex) –
core_instr (CoreHighLevelILInstruction) –
as_ast (bool) –
instr_index (InstructionIndex) –
- Return type:
None
HighLevelILForceVerSsa¶
- class HighLevelILForceVerSsa[source]¶
Bases:
HighLevelILInstruction,SSAHighLevelILForceVerSsa(function: ‘HighLevelILFunction’, expr_index: binaryninja.highlevelil.ExpressionIndex, core_instr: binaryninja.highlevelil.CoreHighLevelILInstruction, as_ast: bool, instr_index: binaryninja.highlevelil.InstructionIndex)
- __init__(function: HighLevelILFunction, expr_index: ExpressionIndex, core_instr: CoreHighLevelILInstruction, as_ast: bool, instr_index: InstructionIndex) None¶
- Parameters:
function (HighLevelILFunction) –
expr_index (ExpressionIndex) –
core_instr (CoreHighLevelILInstruction) –
as_ast (bool) –
instr_index (InstructionIndex) –
- Return type:
None
- property dest: SSAVariable¶
- property src: SSAVariable¶
HighLevelILFsqrt¶
- class HighLevelILFsqrt[source]¶
Bases:
HighLevelILUnaryBase,FloatingPointHighLevelILFsqrt(function: ‘HighLevelILFunction’, expr_index: binaryninja.highlevelil.ExpressionIndex, core_instr: binaryninja.highlevelil.CoreHighLevelILInstruction, as_ast: bool, instr_index: binaryninja.highlevelil.InstructionIndex)
- __init__(function: HighLevelILFunction, expr_index: ExpressionIndex, core_instr: CoreHighLevelILInstruction, as_ast: bool, instr_index: InstructionIndex) None¶
- Parameters:
function (HighLevelILFunction) –
expr_index (ExpressionIndex) –
core_instr (CoreHighLevelILInstruction) –
as_ast (bool) –
instr_index (InstructionIndex) –
- Return type:
None
HighLevelILFsub¶
- class HighLevelILFsub[source]¶
Bases:
HighLevelILBinaryBase,FloatingPointHighLevelILFsub(function: ‘HighLevelILFunction’, expr_index: binaryninja.highlevelil.ExpressionIndex, core_instr: binaryninja.highlevelil.CoreHighLevelILInstruction, as_ast: bool, instr_index: binaryninja.highlevelil.InstructionIndex)
- __init__(function: HighLevelILFunction, expr_index: ExpressionIndex, core_instr: CoreHighLevelILInstruction, as_ast: bool, instr_index: InstructionIndex) None¶
- Parameters:
function (HighLevelILFunction) –
expr_index (ExpressionIndex) –
core_instr (CoreHighLevelILInstruction) –
as_ast (bool) –
instr_index (InstructionIndex) –
- Return type:
None
HighLevelILFtrunc¶
- class HighLevelILFtrunc[source]¶
Bases:
HighLevelILUnaryBase,FloatingPointHighLevelILFtrunc(function: ‘HighLevelILFunction’, expr_index: binaryninja.highlevelil.ExpressionIndex, core_instr: binaryninja.highlevelil.CoreHighLevelILInstruction, as_ast: bool, instr_index: binaryninja.highlevelil.InstructionIndex)
- __init__(function: HighLevelILFunction, expr_index: ExpressionIndex, core_instr: CoreHighLevelILInstruction, as_ast: bool, instr_index: InstructionIndex) None¶
- Parameters:
function (HighLevelILFunction) –
expr_index (ExpressionIndex) –
core_instr (CoreHighLevelILInstruction) –
as_ast (bool) –
instr_index (InstructionIndex) –
- Return type:
None
HighLevelILFunction¶
- class HighLevelILFunction[source]¶
Bases:
objectclass HighLevelILFunctioncontains the a HighLevelILInstruction object that makes up the abstract syntax tree of a function.- __init__(arch: Architecture | None = None, handle: BNHighLevelILFunction | None = None, source_func: Function | None = None)[source]¶
- Parameters:
arch (Architecture | None) –
handle (BNHighLevelILFunction | None) –
source_func (Function | None) –
- add(size: int, a: ExpressionIndex, b: ExpressionIndex, loc: ILSourceLocation | None = None) ExpressionIndex[source]¶
addadds expressionato expressionbreturning an expression ofsizebytes- Parameters:
size (int) – the size of the result in bytes
a (ExpressionIndex) – LHS expression
b (ExpressionIndex) – RHS expression
loc (ILSourceLocation) – location of returned expression
- Returns:
The expression
add.<size>(a, b)- Return type:
ExpressionIndex
- add_carry(size: int, a: ExpressionIndex, b: ExpressionIndex, carry: ExpressionIndex, loc: ILSourceLocation | None = None) ExpressionIndex[source]¶
add_carryadds expressionato expressionbwith carry fromcarryreturning an expression ofsizebytes- Parameters:
size (int) – the size of the result in bytes
a (ExpressionIndex) – LHS expression
b (ExpressionIndex) – RHS expression
carry (ExpressionIndex) – Carried value expression
loc (ILSourceLocation) – location of returned expression
- Returns:
The expression
adc.<size>(a, b, carry)- Return type:
ExpressionIndex
- add_operand_list(operands: List[int]) ExpressionIndex[source]¶
add_operand_listreturns an operand list expression for the given list of integer operands.
- address_of(src: ExpressionIndex, loc: ILSourceLocation | None = None) ExpressionIndex[source]¶
address_oftakes the address ofsrc- Parameters:
src (ExpressionIndex) – the expression having its address taken
loc (ILSourceLocation) – location of returned expression
- Returns:
The expression
&src- Return type:
ExpressionIndex
- and_expr(size: int, a: ExpressionIndex, b: ExpressionIndex, loc: ILSourceLocation | None = None) ExpressionIndex[source]¶
and_exprbitwise and’s expressionaand expressionbreturning an expression ofsizebytes- Parameters:
size (int) – the size of the result in bytes
a (ExpressionIndex) – LHS expression
b (ExpressionIndex) – RHS expression
loc (ILSourceLocation) – location of returned expression
- Returns:
The expression
and.<size>(a, b)- Return type:
ExpressionIndex
- arith_shift_right(size: int, a: ExpressionIndex, b: ExpressionIndex, loc: ILSourceLocation | None = None) ExpressionIndex[source]¶
arith_shift_rightarithmetically right shifts expressionaby expressionbreturning an expression ofsizebytes- Parameters:
size (int) – the size of the result in bytes
a (ExpressionIndex) – LHS expression
b (ExpressionIndex) – RHS expression
loc (ILSourceLocation) – location of returned expression
- Returns:
The expression
asr.<size>(a, b)- Return type:
ExpressionIndex
- array_index(size: int, src: ExpressionIndex, idx: ExpressionIndex, loc: ILSourceLocation | None = None) ExpressionIndex[source]¶
array_indexreferences an item at indexidxin the array insrcof sizesize- Parameters:
size (int) – size of the item in the array
src (ExpressionIndex) – expression for the array
idx (ExpressionIndex) – expression for the index into the array
loc (ILSourceLocation) – location of returned expression
- Returns:
The expression
src[idx].size- Return type:
ExpressionIndex
- assign(size: int, dest: ExpressionIndex, src: ExpressionIndex, loc: ILSourceLocation | None = None) ExpressionIndex[source]¶
assignassign expressionsrcto expressiondest- Parameters:
size (int) – size of the expression
dest (ExpressionIndex) – expression being assigned
src (ExpressionIndex) – value being assigned to the expression
loc (ILSourceLocation) – location of returned expression
- Returns:
The expression
dest = src- Return type:
ExpressionIndex
- assign_unpack(size: int, output: List[ExpressionIndex], src: ExpressionIndex, loc: ILSourceLocation | None = None) ExpressionIndex[source]¶
assign_unpackassign expressionsrcto a list of expressions inoutputof sizesize- Parameters:
size (int) – size of the expression
output (List[ExpressionIndex]) – expressions being assigned
src (ExpressionIndex) – value being assigned to the expressions
loc (ILSourceLocation) – location of returned expression
- Returns:
The expression
output... = src- Return type:
ExpressionIndex
- block(exprs: List[ExpressionIndex], loc: ILSourceLocation | None = None) ExpressionIndex[source]¶
blocka block expression containing multiple child expressions- Parameters:
exprs (List[ExpressionIndex]) – child expressions in the block
loc (ILSourceLocation) – location of returned expression
- Returns:
The expression `` { exprs… } ``
- Return type:
ExpressionIndex
- bool_to_int(size: int, a: ExpressionIndex, loc: ILSourceLocation | None = None) ExpressionIndex[source]¶
bool_to_intreturns an expression of sizesizeconverting the boolean expressionato an integer- Parameters:
size (int) – size in bytes
a (ExpressionIndex) – boolean expression to be converted
loc (ILSourceLocation) – location of returned expression
- Returns:
the converted integer expression.
- Return type:
ExpressionIndex
- break_expr(loc: ILSourceLocation | None = None) ExpressionIndex[source]¶
breakbreak out of a loop or switch statement- Parameters:
loc (ILSourceLocation) – location of returned expression
- Returns:
The expression
break- Return type:
ExpressionIndex
- breakpoint(loc: ILSourceLocation | None = None) ExpressionIndex[source]¶
breakpointreturns a processor breakpoint expression.- Parameters:
loc (ILSourceLocation) – location of returned expression
- Returns:
a breakpoint expression.
- Return type:
ExpressionIndex
- call(dest: ExpressionIndex, params: List[ExpressionIndex], loc: ILSourceLocation | None = None) ExpressionIndex[source]¶
callreturns an expression which calls the function in the expressiondestwith the parameters defined inparams- Parameters:
dest (ExpressionIndex) – the expression to call
params (List[ExpressionIndex]) – parameter variables
loc (ILSourceLocation) – location of returned expression
- Returns:
The expression
call(dest, params...)- Return type:
ExpressionIndex
- case(values: List[ExpressionIndex], expr: ExpressionIndex, loc: ILSourceLocation | None = None) ExpressionIndex[source]¶
casea switch case for valuesvalueswith bodyexpr- Parameters:
values (List[ExpressionIndex]) – matched values for the case
expr (ExpressionIndex) – body of switch case
loc (ILSourceLocation) – location of returned expression
- Returns:
The expression
case values...: { expr }- Return type:
ExpressionIndex
- ceil(size: int, value: ExpressionIndex, loc: ILSourceLocation | None = None) ExpressionIndex[source]¶
ceilrounds a floating point value to an integer towards positive infinity- Parameters:
size (int) – the size of the result in bytes
value (ExpressionIndex) – the expression to round up
loc (ILSourceLocation) – location of returned expression
- Returns:
The expression
roundint.<size>(value)- Return type:
ExpressionIndex
- compare_equal(size: int, a: ExpressionIndex, b: ExpressionIndex, loc: ILSourceLocation | None = None) ExpressionIndex[source]¶
compare_equalreturns comparison expression of sizesizechecking if expressionais equal to expressionb- Parameters:
size (int) – size in bytes
a (ExpressionIndex) – LHS of comparison
b (ExpressionIndex) – RHS of comparison
loc (ILSourceLocation) – location of returned expression
- Returns:
a comparison expression.
- Return type:
ExpressionIndex
- compare_not_equal(size: int, a: ExpressionIndex, b: ExpressionIndex, loc: ILSourceLocation | None = None) ExpressionIndex[source]¶
compare_not_equalreturns comparison expression of sizesizechecking if expressionais not equal to expressionb- Parameters:
size (int) – size in bytes
a (ExpressionIndex) – LHS of comparison
b (ExpressionIndex) – RHS of comparison
loc (ILSourceLocation) – location of returned expression
- Returns:
a comparison expression.
- Return type:
ExpressionIndex
- compare_signed_greater_equal(size: int, a: ExpressionIndex, b: ExpressionIndex, loc: ILSourceLocation | None = None) ExpressionIndex[source]¶
compare_signed_greater_equalreturns comparison expression of sizesizechecking if expressionais signed greater than or equal to expressionb- Parameters:
size (int) – size in bytes
a (ExpressionIndex) – LHS of comparison
b (ExpressionIndex) – RHS of comparison
loc (ILSourceLocation) – location of returned expression
- Returns:
a comparison expression.
- Return type:
ExpressionIndex
- compare_signed_greater_than(size: int, a: ExpressionIndex, b: ExpressionIndex, loc: ILSourceLocation | None = None) ExpressionIndex[source]¶
compare_signed_greater_thanreturns comparison expression of sizesizechecking if expressionais signed greater than or equal to expressionb- Parameters:
size (int) – size in bytes
a (ExpressionIndex) – LHS of comparison
b (ExpressionIndex) – RHS of comparison
loc (ILSourceLocation) – location of returned expression
- Returns:
a comparison expression.
- Return type:
ExpressionIndex
- compare_signed_less_equal(size: int, a: ExpressionIndex, b: ExpressionIndex, loc: ILSourceLocation | None = None) ExpressionIndex[source]¶
compare_signed_less_equalreturns comparison expression of sizesizechecking if expressionais signed less than or equal to expressionb- Parameters:
size (int) – size in bytes
a (ExpressionIndex) – LHS of comparison
b (ExpressionIndex) – RHS of comparison
loc (ILSourceLocation) – location of returned expression
- Returns:
a comparison expression.
- Return type:
ExpressionIndex
- compare_signed_less_than(size: int, a: ExpressionIndex, b: ExpressionIndex, loc: ILSourceLocation | None = None) ExpressionIndex[source]¶
compare_signed_less_thanreturns comparison expression of sizesizechecking if expressionais signed less than expressionb- Parameters:
size (int) – size in bytes
a (ExpressionIndex) – LHS of comparison
b (ExpressionIndex) – RHS of comparison
loc (ILSourceLocation) – location of returned expression
- Returns:
a comparison expression.
- Return type:
ExpressionIndex
- compare_unsigned_greater_equal(size: int, a: ExpressionIndex, b: ExpressionIndex, loc: ILSourceLocation | None = None) ExpressionIndex[source]¶
compare_unsigned_greater_equalreturns comparison expression of sizesizechecking if expressionais unsigned greater than or equal to expressionb- Parameters:
size (int) – size in bytes
a (ExpressionIndex) – LHS of comparison
b (ExpressionIndex) – RHS of comparison
loc (ILSourceLocation) – location of returned expression
- Returns:
a comparison expression.
- Return type:
ExpressionIndex
- compare_unsigned_greater_than(size: int, a: ExpressionIndex, b: ExpressionIndex, loc: ILSourceLocation | None = None) ExpressionIndex[source]¶
compare_unsigned_greater_thanreturns comparison expression of sizesizechecking if expressionais unsigned greater than or equal to expressionb- Parameters:
size (int) – size in bytes
a (ExpressionIndex) – LHS of comparison
b (ExpressionIndex) – RHS of comparison
loc (ILSourceLocation) – location of returned expression
- Returns:
a comparison expression.
- Return type:
ExpressionIndex
- compare_unsigned_less_equal(size: int, a: ExpressionIndex, b: ExpressionIndex, loc: ILSourceLocation | None = None) ExpressionIndex[source]¶
compare_unsigned_less_equalreturns comparison expression of sizesizechecking if expressionais unsigned less than or equal to expressionb- Parameters:
size (int) – size in bytes
a (ExpressionIndex) – LHS of comparison
b (ExpressionIndex) – RHS of comparison
loc (ILSourceLocation) – location of returned expression
- Returns:
a comparison expression.
- Return type:
ExpressionIndex
- compare_unsigned_less_than(size: int, a: ExpressionIndex, b: ExpressionIndex, loc: ILSourceLocation | None = None) ExpressionIndex[source]¶
compare_unsigned_less_thanreturns comparison expression of sizesizechecking if expressionais unsigned less than expressionb- Parameters:
size (int) – size in bytes
a (ExpressionIndex) – LHS of comparison
b (ExpressionIndex) – RHS of comparison
loc (ILSourceLocation) – location of returned expression
- Returns:
a comparison expression.
- Return type:
ExpressionIndex
- const(size: int, value: int, loc: ILSourceLocation | None = None) ExpressionIndex[source]¶
constreturns an expression for the constant integervalueof sizesize- Parameters:
size (int) – the size of the constant in bytes
value (int) – integer value of the constant
loc (ILSourceLocation) – location of returned expression
- Returns:
A constant expression of given value and size
- Return type:
ExpressionIndex
- const_data(size: int, data: ConstantData, loc: ILSourceLocation | None = None) ExpressionIndex[source]¶
const_datareturns an expression for the constant datadata- Parameters:
size (int) – size of the data
data (ConstantData) – value of the data
loc (ILSourceLocation) – location of returned expression
- Returns:
A constant expression of given value and size
- Return type:
ExpressionIndex
- const_pointer(size: int, value: int, loc: ILSourceLocation | None = None) ExpressionIndex[source]¶
const_pointerreturns an expression for the constant pointervalueof sizesize- Parameters:
size (int) – the size of the pointer in bytes
value (int) – address referenced by the pointer
loc (ILSourceLocation) – location of returned expression
- Returns:
A constant expression of given value and size
- Return type:
ExpressionIndex
- continue_expr(loc: ILSourceLocation | None = None) ExpressionIndex[source]¶
continuecontinue to the top of a loop statement- Parameters:
loc (ILSourceLocation) – location of returned expression
- Returns:
The expression
continue- Return type:
ExpressionIndex
- copy_expr(original: HighLevelILInstruction) ExpressionIndex[source]¶
copy_expradds an expression to the function which is equivalent to the given expression- Parameters:
original (HighLevelILInstruction) – the original IL Instruction you want to copy
- Returns:
The index of the newly copied expression
- Return type:
ExpressionIndex
- create_graph(settings: DisassemblySettings | None = None) CoreFlowGraph[source]¶
- Parameters:
settings (DisassemblySettings | None) –
- Return type:
- create_graph_immediate(settings: DisassemblySettings | None = None) CoreFlowGraph[source]¶
- Parameters:
settings (DisassemblySettings | None) –
- Return type:
- deref(size: int, src: ExpressionIndex, loc: ILSourceLocation | None) ExpressionIndex[source]¶
derefdereferences expressionsrcand reads a value of sizesize- Parameters:
size (int) – size of the read
src (ExpressionIndex) – expression being read
loc (ILSourceLocation) – location of returned expression
- Returns:
The expression
(*src).size- Return type:
ExpressionIndex
- deref_field(size: int, src: ExpressionIndex, offset: int, member_index: int, loc: ILSourceLocation | None) ExpressionIndex[source]¶
deref_fielddereferences structure field in expressionsrcat offsetoffsetand indexmember_indexof sizesize- Parameters:
size (int) – size of the read
src (ExpressionIndex) – expression of structure being read
offset (int) – offset of field in the structure
member_index (int) – index of field in the structure
loc (ILSourceLocation) – location of returned expression
- Returns:
The expression
src->offset.size- Return type:
ExpressionIndex
- div_double_prec_signed(size: int, a: ExpressionIndex, b: ExpressionIndex, loc: ILSourceLocation | None = None) ExpressionIndex[source]¶
div_double_prec_signedsigned divides double precision expressionaby expressionband returns an expression. The first operand is of size2*sizebytes and the other operand and return value are of sizesizebytes.- Parameters:
size (int) – the size of the result and input operands, in bytes
a (ExpressionIndex) – LHS expression
b (ExpressionIndex) – RHS expression
loc (ILSourceLocation) – location of returned expression
- Returns:
The expression
divs.dp.<size>(a, b)- Return type:
ExpressionIndex
- div_double_prec_unsigned(size: int, a: ExpressionIndex, b: ExpressionIndex, loc: ILSourceLocation | None = None) ExpressionIndex[source]¶
div_double_prec_unsignedunsigned divides double precision expressionaby expressionband returns an expression. The first operand is of size2*sizebytes and the other operand and return value are of sizesizebytes.- Parameters:
size (int) – the size of the result and input operands, in bytes
a (ExpressionIndex) – LHS expression
b (ExpressionIndex) – RHS expression
loc (ILSourceLocation) – location of returned expression
- Returns:
The expression
divu.dp.<size>(a, b)- Return type:
ExpressionIndex
- div_signed(size: int, a: ExpressionIndex, b: ExpressionIndex, loc: ILSourceLocation | None = None) ExpressionIndex[source]¶
div_signedsigned divides expressionaby expressionband returns an expression. Both the operands and return value aresizebytes.- Parameters:
size (int) – the size of the result and input operands, in bytes
a (ExpressionIndex) – LHS expression
b (ExpressionIndex) – RHS expression
loc (ILSourceLocation) – location of returned expression
- Returns:
The expression
divs.<size>(a, b)- Return type:
ExpressionIndex
- div_unsigned(size: int, a: ExpressionIndex, b: ExpressionIndex, loc: ILSourceLocation | None = None) ExpressionIndex[source]¶
div_unsignedunsigned divides expressionaby expressionband returns an expression. Both the operands and return value aresizebytes.- Parameters:
size (int) – the size of the result and input operands, in bytes
a (ExpressionIndex) – LHS expression
b (ExpressionIndex) – RHS expression
loc (ILSourceLocation) – location of returned expression
- Returns:
The expression
divu.<size>(a, b)- Return type:
ExpressionIndex
- do_while_expr(condition: ExpressionIndex, loop_expr: ExpressionIndex, loc: ILSourceLocation | None = None) ExpressionIndex[source]¶
do_while_expra do-while-loop expression with a condition and loop body.- Parameters:
condition (ExpressionIndex) – expression for the loop condition
loop_expr (ExpressionIndex) – expression for the loop body
loc (ILSourceLocation) – location of returned expression
- Returns:
The expression
do { loop_expr } while (condition)- Return type:
ExpressionIndex
- expr(operation: str | HighLevelILOperation, a: int = 0, b: int = 0, c: int = 0, d: int = 0, e: int = 0, size: int = 0, source_location: ILSourceLocation | None = None) ExpressionIndex[source]¶
- Parameters:
operation (str | HighLevelILOperation) –
a (int) –
b (int) –
c (int) –
d (int) –
e (int) –
size (int) –
source_location (ILSourceLocation | None) –
- Return type:
ExpressionIndex
- extern_pointer(size: int, value: int, offset: int, loc: ILSourceLocation | None = None) ExpressionIndex[source]¶
extern_pointerreturns an expression for the external pointervalueat offsetoffsetof sizesize- Parameters:
size (int) – the size of the pointer in bytes
value (int) – address referenced by the pointer
offset (int) – offset applied to the address
loc (ILSourceLocation | None) – location of returned expression
- Returns:
A constant expression of given value and size
- Return type:
ExpressionIndex
- finalize() None[source]¶
finalizeends the function and computes the list of basic blocks.- Return type:
None
- float_abs(size: int, value: ExpressionIndex, loc: ILSourceLocation | None = None) ExpressionIndex[source]¶
float_absreturns absolute value of floating point expressionvalueof sizesize- Parameters:
size (int) – the size of the result in bytes
value (ExpressionIndex) – the expression to get the absolute value of
loc (ILSourceLocation) – location of returned expression
- Returns:
The expression
fabs.<size>(value)- Return type:
ExpressionIndex
- float_add(size: int, a: ExpressionIndex, b: ExpressionIndex, loc: ILSourceLocation | None = None) ExpressionIndex[source]¶
float_addadds floating point expressionato expressionband returning an expression ofsizebytes.- Parameters:
size (int) – the size of the result in bytes
a (ExpressionIndex) – LHS expression
b (ExpressionIndex) – RHS expression
loc (ILSourceLocation) – location of returned expression
- Returns:
The expression
fadd.<size>(a, b)- Return type:
ExpressionIndex
- float_compare_equal(size: int, a: ExpressionIndex, b: ExpressionIndex, loc: ILSourceLocation | None = None) ExpressionIndex[source]¶
float_compare_equalreturns floating point comparison expression of sizesizechecking if expressionais equal to expressionb- Parameters:
size (int) – the size of the operands in bytes
a (ExpressionIndex) – LHS expression
b (ExpressionIndex) – RHS expression
loc (ILSourceLocation) – location of returned expression
- Returns:
The expression
a f== b- Return type:
ExpressionIndex
- float_compare_greater_equal(size: int, a: ExpressionIndex, b: ExpressionIndex, loc: ILSourceLocation | None = None) ExpressionIndex[source]¶
float_compare_greater_equalreturns floating point comparison expression of sizesizechecking if expressionais greater than or equal to expressionb- Parameters:
size (int) – the size of the operands in bytes
a (ExpressionIndex) – LHS expression
b (ExpressionIndex) – RHS expression
loc (ILSourceLocation) – location of returned expression
- Returns:
The expression
a f>= b- Return type:
ExpressionIndex
- float_compare_greater_than(size: int, a: ExpressionIndex, b: ExpressionIndex, loc: ILSourceLocation | None = None) ExpressionIndex[source]¶
float_compare_greater_thanreturns floating point comparison expression of sizesizechecking if expressionais greater than expressionb- Parameters:
size (int) – the size of the operands in bytes
a (ExpressionIndex) – LHS expression
b (ExpressionIndex) – RHS expression
loc (ILSourceLocation) – location of returned expression
- Returns:
The expression
a f> b- Return type:
ExpressionIndex
- float_compare_less_equal(size: int, a: ExpressionIndex, b: ExpressionIndex, loc: ILSourceLocation | None = None) ExpressionIndex[source]¶
float_compare_less_equalreturns floating point comparison expression of sizesizechecking if expressionais less than or equal to expressionb- Parameters:
size (int) – the size of the operands in bytes
a (ExpressionIndex) – LHS expression
b (ExpressionIndex) – RHS expression
loc (ILSourceLocation) – location of returned expression
- Returns:
The expression
a f<= b- Return type:
ExpressionIndex
- float_compare_less_than(size: int, a: ExpressionIndex, b: ExpressionIndex, loc: ILSourceLocation | None = None) ExpressionIndex[source]¶
float_compare_less_thanreturns floating point comparison expression of sizesizechecking if expressionais less than expressionb- Parameters:
size (int) – the size of the operands in bytes
a (ExpressionIndex) – LHS expression
b (ExpressionIndex) – RHS expression
loc (ILSourceLocation) – location of returned expression
- Returns:
The expression
a f< b- Return type:
ExpressionIndex
- float_compare_not_equal(size: int, a: ExpressionIndex, b: ExpressionIndex, loc: ILSourceLocation | None = None) ExpressionIndex[source]¶
float_compare_not_equalreturns floating point comparison expression of sizesizechecking if expressionais not equal to expressionb- Parameters:
size (int) – the size of the operands in bytes
a (ExpressionIndex) – LHS expression
b (ExpressionIndex) – RHS expression
loc (ILSourceLocation) – location of returned expression
- Returns:
The expression
a f!= b- Return type:
ExpressionIndex
- float_compare_ordered(size: int, a: ExpressionIndex, b: ExpressionIndex, loc: ILSourceLocation | None = None) ExpressionIndex[source]¶
float_compare_orderedreturns floating point comparison expression of sizesizechecking if expressionais ordered relative to expressionb- Parameters:
size (int) – the size of the operands in bytes
a (ExpressionIndex) – LHS expression
b (ExpressionIndex) – RHS expression
loc (ILSourceLocation) – location of returned expression
- Returns:
The expression
is_ordered(a, b)- Return type:
ExpressionIndex
- float_compare_unordered(size: int, a: ExpressionIndex, b: ExpressionIndex, loc: ILSourceLocation | None = None) ExpressionIndex[source]¶
float_compare_unorderedreturns floating point comparison expression of sizesizechecking if expressionais unordered relative to expressionb- Parameters:
size (int) – the size of the operands in bytes
a (ExpressionIndex) – LHS expression
b (ExpressionIndex) – RHS expression
loc (ILSourceLocation) – location of returned expression
- Returns:
The expression
is_unordered(a, b)- Return type:
ExpressionIndex
- float_const_double(value: float, loc: ILSourceLocation | None = None) ExpressionIndex[source]¶
float_const_doublereturns an expression for the double precision floating point valuevalue- Parameters:
value (float) – float value for the constant
loc (ILSourceLocation) – location of returned expression
- Returns:
A constant expression of given value and size
- Return type:
ExpressionIndex
- float_const_raw(size: int, value: int, loc: ILSourceLocation | None = None) ExpressionIndex[source]¶
float_const_rawreturns an expression for the constant raw binary floating point valuevaluewith sizesize- Parameters:
size (int) – the size of the constant in bytes
value (int) – integer value for the raw binary representation of the constant
loc (ILSourceLocation) – location of returned expression
- Returns:
A constant expression of given value and size
- Return type:
ExpressionIndex
- float_const_single(value: float, loc: ILSourceLocation | None = None) ExpressionIndex[source]¶
float_const_singlereturns an expression for the single precision floating point valuevalue- Parameters:
value (float) – float value for the constant
loc (ILSourceLocation) – location of returned expression
- Returns:
A constant expression of given value and size
- Return type:
ExpressionIndex
- float_convert(size: int, value: ExpressionIndex, loc: ILSourceLocation | None = None) ExpressionIndex[source]¶
int_to_floatconverts floating point value of expressionvalueto sizesize- Parameters:
size (int) – the size of the result in bytes
value (ExpressionIndex) – the expression to negate
loc (ILSourceLocation) – location of returned expression
- Returns:
The expression
fconvert.<size>(value)- Return type:
ExpressionIndex
- float_div(size: int, a: ExpressionIndex, b: ExpressionIndex, loc: ILSourceLocation | None = None) ExpressionIndex[source]¶
float_divdivides floating point expressionaby expressionband returning an expression ofsizebytes.- Parameters:
size (int) – the size of the result in bytes
a (ExpressionIndex) – LHS expression
b (ExpressionIndex) – RHS expression
loc (ILSourceLocation) – location of returned expression
- Returns:
The expression
fdiv.<size>(a, b)- Return type:
ExpressionIndex
- float_mult(size: int, a: ExpressionIndex, b: ExpressionIndex, loc: ILSourceLocation | None = None) ExpressionIndex[source]¶
float_multmultiplies floating point expressionaby expressionband returning an expression ofsizebytes.- Parameters:
size (int) – the size of the result in bytes
a (ExpressionIndex) – LHS expression
b (ExpressionIndex) – RHS expression
loc (ILSourceLocation) – location of returned expression
- Returns:
The expression
fmul.<size>(a, b)- Return type:
ExpressionIndex
- float_neg(size: int, value: ExpressionIndex, loc: ILSourceLocation | None = None) ExpressionIndex[source]¶
float_negreturns sign negation of floating point expressionvalueof sizesize- Parameters:
size (int) – the size of the result in bytes
value (ExpressionIndex) – the expression to negate
loc (ILSourceLocation) – location of returned expression
- Returns:
The expression
fneg.<size>(value)- Return type:
ExpressionIndex
- float_sqrt(size: int, value: ExpressionIndex, loc: ILSourceLocation | None = None) ExpressionIndex[source]¶
float_sqrtreturns square root of floating point expressionvalueof sizesize- Parameters:
size (int) – the size of the result in bytes
value (ExpressionIndex) – the expression to calculate the square root of
loc (ILSourceLocation) – location of returned expression
- Returns:
The expression
sqrt.<size>(value)- Return type:
ExpressionIndex
- float_sub(size: int, a: ExpressionIndex, b: ExpressionIndex, loc: ILSourceLocation | None = None) ExpressionIndex[source]¶
float_subsubtracts floating point expressionbfrom expressionaand returning an expression ofsizebytes.- Parameters:
size (int) – the size of the result in bytes
a (ExpressionIndex) – LHS expression
b (ExpressionIndex) – RHS expression
loc (ILSourceLocation) – location of returned expression
- Returns:
The expression
fsub.<size>(a, b)- Return type:
ExpressionIndex
- float_to_int(size: int, value: ExpressionIndex, loc: ILSourceLocation | None = None) ExpressionIndex[source]¶
float_to_intreturns integer value of floating point expressionvalueof sizesize- Parameters:
size (int) – the size of the result in bytes
value (ExpressionIndex) – the expression to convert to an int
loc (ILSourceLocation) – location of returned expression
- Returns:
The expression
int.<size>(value)- Return type:
ExpressionIndex
- float_trunc(size: int, value: ExpressionIndex, loc: ILSourceLocation | None = None) ExpressionIndex[source]¶
float_truncrounds a floating point value to an integer towards zero- Parameters:
size (int) – the size of the result in bytes
value (ExpressionIndex) – the expression to truncate
loc (ILSourceLocation) – location of returned expression
- Returns:
The expression
roundint.<size>(value)- Return type:
ExpressionIndex
- floor(size: int, value: ExpressionIndex, loc: ILSourceLocation | None = None) ExpressionIndex[source]¶
floorrounds a floating point value to an integer towards negative infinity- Parameters:
size (int) – the size of the result in bytes
value (ExpressionIndex) – the expression to round down
loc (ILSourceLocation) – location of returned expression
- Returns:
The expression
roundint.<size>(value)- Return type:
ExpressionIndex
- for_expr(init_expr: ExpressionIndex, condition: ExpressionIndex, update_expr: ExpressionIndex, loop_expr: ExpressionIndex, loc: ILSourceLocation | None = None) ExpressionIndex[source]¶
for-expra for-loop expression with an initializer, condition, updater, and loop body.- Parameters:
init_expr (ExpressionIndex) – expression for the loop initializer
condition (ExpressionIndex) – expression for the loop condition
update_expr (ExpressionIndex) – expression for the loop updater
loop_expr (ExpressionIndex) – expression for the loop body
loc (ILSourceLocation) – location of returned expression
- Returns:
The expression
for (init_expr ; condition ; update_expr) { loop_expr }- Return type:
ExpressionIndex
- generate_ssa_form(variables: List[Variable] | None = None) None[source]¶
generate_ssa_formgenerate SSA form given the current HLIL
- get_basic_block_at(index: int) HighLevelILBasicBlock | None[source]¶
get_basic_block_atreturns 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: x86@19-26>
- Return type:
HighLevelILBasicBlock | None
- get_expr(index: ExpressionIndex, as_ast: bool = True) HighLevelILInstruction | None[source]¶
get_exprretrieves the IL expression at a given expression index in the function.Warning
Not all IL expressions are valid, even if their index is within the bounds of the function, they might not be used by the function and might not contain properly structured data.
- Parameters:
index (ExpressionIndex) – Index of desired expression in function
as_ast (bool) – Whether to return the expression as a full AST or a single instruction (defaults to AST)
- Returns:
A HighLevelILInstruction object for the expression, if it exists. Otherwise, None
- Return type:
HighLevelILInstruction | None
- get_expr_count() int[source]¶
get_expr_countgives a the total number of expressions in this IL functionYou can use this to enumerate all expressions in conjunction with
get_exprWarning
Not all IL expressions are valid, even if their index is within the bounds of the function, they might not be used by the function and might not contain properly structured data.
- Returns:
The number of expressions in the function
- Return type:
- get_expr_index_for_instruction(instr: InstructionIndex) ExpressionIndex[source]¶
- Parameters:
instr (InstructionIndex) –
- Return type:
ExpressionIndex
- get_expr_type(expr_index: int) Type | None[source]¶
Get type of expression
- Parameters:
expr_index (int) – index of the expression to retrieve
- Return type:
Optional[’types.Type’]
- get_instruction_index_for_expr(expr: ExpressionIndex) InstructionIndex | None[source]¶
- Parameters:
expr (ExpressionIndex) –
- Return type:
InstructionIndex | None
- get_label(label_idx: int) HighLevelILInstruction | None[source]¶
- Parameters:
label_idx (int) –
- Return type:
HighLevelILInstruction | None
- get_label_uses(label_idx: int) List[HighLevelILInstruction][source]¶
- Parameters:
label_idx (int) –
- Return type:
- get_medium_level_il_expr_index(expr: ExpressionIndex) ExpressionIndex | None[source]¶
- Parameters:
expr (ExpressionIndex) –
- Return type:
ExpressionIndex | None
- get_medium_level_il_expr_indexes(expr: ExpressionIndex) List[ExpressionIndex][source]¶
- Parameters:
expr (ExpressionIndex) –
- Return type:
List[ExpressionIndex]
- get_ssa_memory_definition(version: int) HighLevelILInstruction | None[source]¶
- Parameters:
version (int) –
- Return type:
HighLevelILInstruction | None
- get_ssa_memory_uses(version: int) List[HighLevelILInstruction][source]¶
- Parameters:
version (int) –
- Return type:
- get_ssa_var_definition(ssa_var: SSAVariable | HighLevelILVarSsa) HighLevelILInstruction | None[source]¶
Gets the instruction that contains the given SSA variable’s definition.
Since SSA variables can only be defined once, this will return the single instruction where that occurs. For SSA variable version 0s, which don’t have definitions, this will return None instead.
- Parameters:
ssa_var (SSAVariable | HighLevelILVarSsa) –
- Return type:
HighLevelILInstruction | None
- get_ssa_var_uses(ssa_var: SSAVariable | HighLevelILVarSsa) List[HighLevelILInstruction][source]¶
Gets all the instructions that use the given SSA variable.
- Parameters:
ssa_var (SSAVariable | HighLevelILVarSsa) –
- 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:
- goto(target: int, loc: ILSourceLocation | None = None) ExpressionIndex[source]¶
gotounconditionally branch to a label- Parameters:
target (int) – target of the goto
loc (ILSourceLocation) – location of returned expression
- Returns:
The expression
goto(target)- Return type:
ExpressionIndex
- if_expr(condition: ExpressionIndex, true_expr: ExpressionIndex, false_expr: ExpressionIndex, loc: ILSourceLocation | None = None) ExpressionIndex[source]¶
if_expran if-statement expression with a condition and true/false branches. Anelsestatement is included if the false_expr is not a NOP expression- Parameters:
condition (ExpressionIndex) – expression for the condition to test
true_expr (ExpressionIndex) – expression for the true branch
false_expr (ExpressionIndex) – expression for the false branch
loc (ILSourceLocation) – location of returned expression
- Returns:
The expression
if (condition) { true_expr } else { false_expr }- Return type:
ExpressionIndex
- imported_address(size: int, value: int, loc: ILSourceLocation | None = None) ExpressionIndex[source]¶
imported_addressreturns an expression for an imported value with addressvalueand sizesize- Parameters:
size (int) – size of the imported value
value (int) – address of the imported value
loc (ILSourceLocation) – location of returned expression
- Returns:
A constant expression of given value and size
- Return type:
ExpressionIndex
- int_to_float(size: int, value: ExpressionIndex, loc: ILSourceLocation | None = None) ExpressionIndex[source]¶
int_to_floatreturns floating point value of integer expressionvalueof sizesize- Parameters:
size (int) – the size of the result in bytes
value (ExpressionIndex) – the expression to convert to a float
loc (ILSourceLocation) – location of returned expression
- Returns:
The expression
float.<size>(value)- Return type:
ExpressionIndex
- intrinsic(intrinsic: IntrinsicName | ILIntrinsic | IntrinsicIndex, params: List[ExpressionIndex], loc: ILSourceLocation | None = None)[source]¶
intrinsicreturn an intrinsic expression.- Parameters:
intrinsic (IntrinsicType) – which intrinsic to call
params (List[ExpressionIndex]) – parameters to intrinsic
loc (ILSourceLocation) – location of returned expression
- Returns:
an intrinsic expression.
- Return type:
ExpressionIndex
- is_ssa_var_live(ssa_var: SSAVariable) bool[source]¶
is_ssa_var_livedetermines ifssa_varis live at any point in the function- Parameters:
ssa_var (SSAVariable) – the SSA variable to query
- Returns:
whether the variable is live at any point in the function
- Return type:
- is_ssa_var_live_at(ssa_var: SSAVariable, instr: InstructionIndex) bool[source]¶
is_ssa_var_live_atdetermines ifssa_varis live at a given point in the function; counts phi’s as uses- Parameters:
ssa_var (SSAVariable) –
instr (InstructionIndex) –
- Return type:
- is_var_live_at(var: Variable, instr: InstructionIndex) bool[source]¶
is_var_live_atdetermines ifvaris live at a given point in the function
- jump(dest: ExpressionIndex, loc: ILSourceLocation | None = None) ExpressionIndex[source]¶
jumpunconditionally branch to an expression by value- Parameters:
dest (ExpressionIndex) – target of the jump
loc (ILSourceLocation) – location of returned expression
- Returns:
The expression
jump(dest)- Return type:
ExpressionIndex
- label(target: int, loc: ILSourceLocation | None = None) ExpressionIndex[source]¶
labelcreate a label expression at a target- Parameters:
target (int) – target of the label
loc (ILSourceLocation) – location of returned expression
- Returns:
The expression
target:- Return type:
ExpressionIndex
- logical_shift_right(size: int, a: ExpressionIndex, b: ExpressionIndex, loc: ILSourceLocation | None = None) ExpressionIndex[source]¶
logical_shift_rightlogically right shifts expressionaby expressionbreturning an expression ofsizebytes- Parameters:
size (int) – the size of the result in bytes
a (ExpressionIndex) – LHS expression
b (ExpressionIndex) – RHS expression
loc (ILSourceLocation) – location of returned expression
- Returns:
The expression
lsr.<size>(a, b)- Return type:
ExpressionIndex
- low_part(size: int, value: ExpressionIndex, loc: ILSourceLocation | None = None) ExpressionIndex[source]¶
low_parttruncates the expression invaluetosizebytes- Parameters:
size (int) – the size of the result in bytes
value (ExpressionIndex) – the expression to zero extend
loc (ILSourceLocation) – location of returned expression
- Returns:
The expression
(value).<size>- Return type:
ExpressionIndex
- mod_double_prec_signed(size: int, a: ExpressionIndex, b: ExpressionIndex, loc: ILSourceLocation | None = None) ExpressionIndex[source]¶
mod_double_prec_signedsigned modulus double precision expressionaby expressionband returns an expression. The first operand is of size2*sizebytes and the other operand and return value are of sizesizebytes.- Parameters:
size (int) – the size of the result and input operands, in bytes
a (ExpressionIndex) – LHS expression
b (ExpressionIndex) – RHS expression
loc (ILSourceLocation) – location of returned expression
- Returns:
The expression
mods.dp.<size>(a, b)- Return type:
ExpressionIndex
- mod_double_prec_unsigned(size: int, a: ExpressionIndex, b: ExpressionIndex, loc: ILSourceLocation | None = None) ExpressionIndex[source]¶
mod_double_prec_unsignedunsigned modulus double precision expressionaby expressionband returns an expression. The first operand is of size2*sizebytes and the other operand and return value are of sizesizebytes.- Parameters:
size (int) – the size of the result and input operands, in bytes
a (ExpressionIndex) – LHS expression
b (ExpressionIndex) – RHS expression
loc (ILSourceLocation) – location of returned expression
- Returns:
The expression
modu.dp.<size>(a, b)- Return type:
ExpressionIndex
- mod_signed(size: int, a: ExpressionIndex, b: ExpressionIndex, loc: ILSourceLocation | None = None) ExpressionIndex[source]¶
mod_signedsigned modulus expressionaby expressionband returns an expression. Both the operands and return value aresizebytes.- Parameters:
size (int) – the size of the result and input operands, in bytes
a (ExpressionIndex) – LHS expression
b (ExpressionIndex) – RHS expression
loc (ILSourceLocation) – location of returned expression
- Returns:
The expression
mods.<size>(a, b)- Return type:
ExpressionIndex
- mod_unsigned(size: int, a: ExpressionIndex, b: ExpressionIndex, loc: ILSourceLocation | None = None) ExpressionIndex[source]¶
mod_unsignedunsigned modulus expressionaby expressionband returns an expression. Both the operands and return value aresizebytes.- Parameters:
size (int) – the size of the result and input operands, in bytes
a (ExpressionIndex) – LHS expression
b (ExpressionIndex) – RHS expression
loc (ILSourceLocation) – location of returned expression
- Returns:
The expression
modu.<size>(a, b)- Return type:
ExpressionIndex
- mult(size: int, a: ExpressionIndex, b: ExpressionIndex, loc: ILSourceLocation | None = None) ExpressionIndex[source]¶
multmultiplies expressionaby expressionband returns an expression. Both the operands and return value aresizebytes as the product’s upper half is discarded.- Parameters:
size (int) – the size of the result and input operands, in bytes
a (ExpressionIndex) – LHS expression
b (ExpressionIndex) – RHS expression
loc (ILSourceLocation) – location of returned expression
- Returns:
The expression
mult.<size>(a, b)- Return type:
ExpressionIndex
- mult_double_prec_signed(size: int, a: ExpressionIndex, b: ExpressionIndex, loc: ILSourceLocation | None = None) ExpressionIndex[source]¶
mult_double_prec_signedsigned multiplies expressionaby expressionband returns an expression. Both the operands aresizebytes and the returned expression is of size2*sizebytes.- Parameters:
size (int) – the size of the result and input operands, in bytes
a (ExpressionIndex) – LHS expression
b (ExpressionIndex) – RHS expression
loc (ILSourceLocation) – location of returned expression
- Returns:
The expression
muls.dp.<2*size>(a, b)- Return type:
ExpressionIndex
- mult_double_prec_unsigned(size: int, a: ExpressionIndex, b: ExpressionIndex, loc: ILSourceLocation | None = None) ExpressionIndex[source]¶
mult_double_prec_unsignedunsigned multiplies expressionaby expressionband returnisan expression. Both the operands aresizebytes and the returned expression is of size2*sizebytes.- Parameters:
size (int) – the size of the result and input operands, in bytes
a (ExpressionIndex) – LHS expression
b (ExpressionIndex) – RHS expression
loc (ILSourceLocation) – location of returned expression
- Returns:
The expression
mulu.dp.<2*size>(a, b)- Return type:
ExpressionIndex
- neg_expr(size: int, value: ExpressionIndex, loc: ILSourceLocation | None = None) ExpressionIndex[source]¶
neg_exprtwo’s complement sign negation of expressionvalueof sizesize- Parameters:
size (int) – the size of the result in bytes
value (ExpressionIndex) – the expression to negate
loc (ILSourceLocation) – location of returned expression
- Returns:
The expression
neg.<size>(value)- Return type:
ExpressionIndex
- no_ret(loc: ILSourceLocation | None = None) ExpressionIndex[source]¶
no_retreturns an expression that halts execution- Parameters:
loc (ILSourceLocation) – location of returned expression
- Returns:
The expression
noreturn- Return type:
ExpressionIndex
- nop(loc: ILSourceLocation | None = None) ExpressionIndex[source]¶
nopno operation, this instruction does nothing- Parameters:
loc (ILSourceLocation) – Location of expression
- Returns:
The no operation expression
- Return type:
ExpressionIndex
- not_expr(size: int, value: ExpressionIndex, loc: ILSourceLocation | None = None) ExpressionIndex[source]¶
not_exprbitwise inversion of expressionvalueof sizesize- Parameters:
size (int) – the size of the result in bytes
value (ExpressionIndex) – the expression to bitwise invert
loc (ILSourceLocation) – location of returned expression
- Returns:
The expression
not.<size>(value)- Return type:
ExpressionIndex
- or_expr(size: int, a: ExpressionIndex, b: ExpressionIndex, loc: ILSourceLocation | None = None) ExpressionIndex[source]¶
or_exprbitwise or’s expressionaand expressionbreturning an expression ofsizebytes- Parameters:
size (int) – the size of the result in bytes
a (ExpressionIndex) – LHS expression
b (ExpressionIndex) – RHS expression
loc (ILSourceLocation) – location of returned expression
- Returns:
The expression
or.<size>(a, b)- Return type:
ExpressionIndex
- remove_derived_string_reference_for_expr(expr: HighLevelILInstruction | ExpressionIndex | InstructionIndex)[source]¶
- Parameters:
expr (HighLevelILInstruction | ExpressionIndex | InstructionIndex) –
- replace_expr(original: HighLevelILInstruction | ExpressionIndex | InstructionIndex, new: HighLevelILInstruction | ExpressionIndex | InstructionIndex) None[source]¶
replace_exprallows 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
- ret(sources: List[ExpressionIndex], loc: ILSourceLocation | None = None) ExpressionIndex[source]¶
retreturns an expression which jumps (branches) to the calling function, returning a result specified by the expressions insources.- Parameters:
sources (List[ExpressionIndex]) – list of returned expressions
loc (ILSourceLocation) – location of returned expression
- Returns:
The expression
return sources...- Return type:
ExpressionIndex
- rotate_left(size: int, a: ExpressionIndex, b: ExpressionIndex, loc: ILSourceLocation | None = None) ExpressionIndex[source]¶
rotate_leftbitwise rotates left expressionaby expressionbreturning an expression ofsizebytes- Parameters:
size (int) – the size of the result in bytes
a (ExpressionIndex) – LHS expression
b (ExpressionIndex) – RHS expression
loc (ILSourceLocation) – location of returned expression
- Returns:
The expression
rol.<size>(a, b)- Return type:
ExpressionIndex
- rotate_left_carry(size: int, a: ExpressionIndex, b: ExpressionIndex, carry: ExpressionIndex, loc: ILSourceLocation | None = None) ExpressionIndex[source]¶
rotate_left_carrybitwise rotates left expressionaby expressionbwith carry fromcarryreturning an expression ofsizebytes- Parameters:
size (int) – the size of the result in bytes
a (ExpressionIndex) – LHS expression
b (ExpressionIndex) – RHS expression
carry (ExpressionIndex) – Carried value expression
loc (ILSourceLocation) – location of returned expression
- Returns:
The expression
rlc.<size>(a, b, carry)- Return type:
ExpressionIndex
- rotate_right(size: int, a: ExpressionIndex, b: ExpressionIndex, loc: ILSourceLocation | None = None) ExpressionIndex[source]¶
rotate_rightbitwise rotates right expressionaby expressionbreturning an expression ofsizebytes- Parameters:
size (int) – the size of the result in bytes
a (ExpressionIndex) – LHS expression
b (ExpressionIndex) – RHS expression
loc (ILSourceLocation) – location of returned expression
- Returns:
The expression
ror.<size>(a, b)- Return type:
ExpressionIndex
- rotate_right_carry(size: int, a: ExpressionIndex, b: ExpressionIndex, carry: ExpressionIndex, loc: ILSourceLocation | None = None) ExpressionIndex[source]¶
rotate_right_carrybitwise rotates right expressionaby expressionbwith carry fromcarryreturning an expression ofsizebytes- Parameters:
size (int) – the size of the result in bytes
a (ExpressionIndex) – LHS expression
b (ExpressionIndex) – RHS expression
carry (ExpressionIndex) – Carried value expression
loc (ILSourceLocation) – location of returned expression
- Returns:
The expression
rrc.<size>(a, b, carry)- Return type:
ExpressionIndex
- round_to_int(size: int, value: ExpressionIndex, loc: ILSourceLocation | None = None) ExpressionIndex[source]¶
round_to_introunds a floating point value to the nearest integer- Parameters:
size (int) – the size of the result in bytes
value (ExpressionIndex) – the expression to round to the nearest integer
loc (ILSourceLocation) – location of returned expression
- Returns:
The expression
roundint.<size>(value)- Return type:
ExpressionIndex
- set_current_address(value: int, arch: Architecture | None = None) None[source]¶
- Parameters:
value (int) –
arch (Architecture | None) –
- Return type:
None
- set_derived_string_reference_for_expr(expr: HighLevelILInstruction | ExpressionIndex | InstructionIndex, str: DerivedString)[source]¶
- Parameters:
expr (HighLevelILInstruction | ExpressionIndex | InstructionIndex) –
str (DerivedString) –
- set_expr_attributes(expr: HighLevelILInstruction | ExpressionIndex | InstructionIndex, value: Set[ILInstructionAttribute] | List[ILInstructionAttribute])[source]¶
set_expr_attributesallows modification of instruction attributes but ONLY during lifting.Warning
This function should ONLY be called as a part of a lifter. It will otherwise not do anything useful as there’s no way to trigger re-analysis of IL levels at this time.
- Parameters:
expr (ExpressionIndex) – the ExpressionIndex to replace (may also be an expression index)
value (set(ILInstructionAttribute)) – the set of attributes to place on the instruction
- Return type:
None
- set_expr_type(expr_index: int, expr_type: str | Type | TypeBuilder) None[source]¶
Set type of expression
This API is only meant for workflows or for debugging purposes, since the changes they make are not persistent and get lost after a database save and reload. To make persistent changes to the analysis, one should use other APIs to, for example, change the type of variables. The analysis will then propagate the type of the variable and update the type of related expressions.
- Parameters:
expr_index (int) – index of the expression to set
StringOrType – new type of the expression
expr_type (str | Type | TypeBuilder) –
- Return type:
None
- shift_left(size: int, a: ExpressionIndex, b: ExpressionIndex, loc: ILSourceLocation | None = None) ExpressionIndex[source]¶
shift_leftleft shifts expressionaby expressionbreturning an expression ofsizebytes- Parameters:
size (int) – the size of the result in bytes
a (ExpressionIndex) – LHS expression
b (ExpressionIndex) – RHS expression
loc (ILSourceLocation) – location of returned expression
- Returns:
The expression
lsl.<size>(a, b)- Return type:
ExpressionIndex
- sign_extend(size: int, value: ExpressionIndex, loc: ILSourceLocation | None = None) ExpressionIndex[source]¶
sign_extendtwo’s complement sign-extends the expression invaluetosizebytes- Parameters:
size (int) – the size of the result in bytes
value (ExpressionIndex) – the expression to sign extend
loc (ILSourceLocation) – location of returned expression
- Returns:
The expression
sx.<size>(value)- Return type:
ExpressionIndex
- split(size: int, hi: ExpressionIndex, lo: ExpressionIndex, loc: ILSourceLocation | None = None) ExpressionIndex[source]¶
var_splitcombines expressionshiandloof sizesizeinto an expression of size2*size- Parameters:
size (int) – the size of each expression in bytes
hi (ExpressionIndex) – the expression holding high part of value
lo (ExpressionIndex) – the expression holding low part of value
loc (ILSourceLocation) – location of returned expression
- Returns:
The expression
hi:lo- Return type:
ExpressionIndex
- struct_field(size: int, src: ExpressionIndex, offset: int, member_index: int, loc: ILSourceLocation | None = None) ExpressionIndex[source]¶
struct_fieldreturns the structure field at offsetoffsetand indexmember_indexfrom expressionsrcof sizesize- Parameters:
size (int) – the size of the field in bytes
src (ExpressionIndex) – the expression being read
offset (int) – offset of field in the structure
member_index (int) – index of field in the structure
loc (ILSourceLocation) – location of returned expression
- Returns:
The expression
src:offset.size- Return type:
ExpressionIndex
- sub(size: int, a: ExpressionIndex, b: ExpressionIndex, loc: ILSourceLocation | None = None) ExpressionIndex[source]¶
subsubtracts expressionato expressionbreturning an expression ofsizebytes- Parameters:
size (int) – the size of the result in bytes
a (ExpressionIndex) – LHS expression
b (ExpressionIndex) – RHS expression
loc (ILSourceLocation) – location of returned expression
- Returns:
The expression
sub.<size>(a, b)- Return type:
ExpressionIndex
- sub_borrow(size: int, a: ExpressionIndex, b: ExpressionIndex, carry: ExpressionIndex, loc: ILSourceLocation | None = None) ExpressionIndex[source]¶
sub_borrowsubtracts expressionato expressionbwith borrow fromcarryreturning an expression ofsizebytes- Parameters:
size (int) – the size of the result in bytes
a (ExpressionIndex) – LHS expression
b (ExpressionIndex) – RHS expression
carry (ExpressionIndex) – Carried value expression
loc (ILSourceLocation) – location of returned expression
- Returns:
The expression
sbb.<size>(a, b, carry)- Return type:
ExpressionIndex
- switch(condition: ExpressionIndex, default_expr: ExpressionIndex, cases: List[ExpressionIndex], loc: ILSourceLocation | None = None) ExpressionIndex[source]¶
switcha switch expression with a condition, cases, and default case- Parameters:
condition (ExpressionIndex) – expression for the switch condition
default_expr (ExpressionIndex) – expression for the default branch
cases (List[ExpressionIndex]) – list of expressions for the switch cases
loc (ILSourceLocation) – location of returned expression
- Returns:
The expression
switch (condition) { cases...: ... default: default_expr }- Return type:
ExpressionIndex
- system_call(params: List[ExpressionIndex], loc: ILSourceLocation | None = None) ExpressionIndex[source]¶
system_callreturns an expression which performs a system call with the parameters defined inparams- Parameters:
params (List[ExpressionIndex]) – parameter variables
loc (ILSourceLocation) – location of returned expression
- Returns:
The expression
syscall(dest, params...)- Return type:
ExpressionIndex
- tailcall(dest: ExpressionIndex, params: List[ExpressionIndex], loc: ILSourceLocation | None = None) ExpressionIndex[source]¶
tailcallreturns an expression which tailcalls the function in the expressiondestwith the parameters defined inparams- Parameters:
dest (ExpressionIndex) – the expression to call
params (List[ExpressionIndex]) – parameter variables
loc (ILSourceLocation) – location of returned expression
- Returns:
The expression
tailcall(dest, params...)- Return type:
ExpressionIndex
- test_bit(size: int, a: ExpressionIndex, b: ExpressionIndex, loc: ILSourceLocation | None = None) ExpressionIndex[source]¶
test_bitreturns an expression of sizesizethat tells whether expressionahas its bit with an index of the expressionbis set- Parameters:
size (int) – size in bytes
a (ExpressionIndex) – an expression to be tested
b (ExpressionIndex) – an expression for the index of the big
loc (ILSourceLocation) – location of returned expression
- Returns:
the result expression.
- Return type:
ExpressionIndex
- trap(value: int, loc: ILSourceLocation | None = None) ExpressionIndex[source]¶
trapreturns a processor trap (interrupt) expression of the given integervalue.- Parameters:
value (int) – trap (interrupt) number
loc (ILSourceLocation) – location of returned expression
- Returns:
a trap expression.
- Return type:
ExpressionIndex
- traverse(cb: Callable[[HighLevelILInstruction, Any], Any], *args: Any, **kwargs: Any) Iterator[Any][source]¶
traverseiterates through all the instructions in the HighLevelILFunction and calls the callback function for each instruction and sub-instruction. See the Developer Docs for more examples.- Parameters:
cb (Callable[[HighLevelILInstruction, Any], Any]) – The callback function to call for each node in the HighLevelILInstruction
args (Any) – Custom user-defined arguments
kwargs (Any) – Custom user-defined keyword arguments
cb –
- Returns:
An iterator of the results of the callback function
- Return type:
Iterator[Any]
- Example:
>>> # find all calls to memcpy where the third parameter is not a constant >>> def find_non_constant_memcpy(i, target) -> HighLevelILInstruction: ... match i: ... case Localcall(dest=Constant(constant=c), params=[_, _, p]) if c == target and not isinstance(p, Constant): ... return i >>> target_address = bv.get_symbol_by_raw_name('_memcpy').address >>> for result in current_il_function.traverse(find_non_constant_memcpy, target_address): ... print(f"Found suspicious memcpy: {repr(i)}")
- undefined(loc: ILSourceLocation | None = None) ExpressionIndex[source]¶
undefinedreturns the undefined expression. This should be used for instructions which perform functions but aren’t important for dataflow or partial emulation purposes.- Parameters:
loc (ILSourceLocation) – location of returned expression
- Returns:
the undefined expression.
- Return type:
ExpressionIndex
- unimplemented(loc: ILSourceLocation | None = None) ExpressionIndex[source]¶
unimplementedreturns the unimplemented expression. This should be used for all instructions which aren’t implemented.- Parameters:
loc (ILSourceLocation) – location of returned expression
- Returns:
the unimplemented expression.
- Return type:
ExpressionIndex
- unimplemented_memory_ref(size: int, addr: ExpressionIndex, loc: ILSourceLocation | None = None) ExpressionIndex[source]¶
unimplemented_memory_refa memory reference to expressionaddrof sizesizewith unimplemented operation.- Parameters:
size (int) – size in bytes of the memory reference
addr (ExpressionIndex) – expression to reference memory
loc (ILSourceLocation) – location of returned expression
- Returns:
the unimplemented memory reference expression.
- Return type:
ExpressionIndex
- unreachable(loc: ILSourceLocation | None = None) ExpressionIndex[source]¶
unreachablereturns an expression that is unreachable and should be omitted during analysis- Parameters:
loc (ILSourceLocation) – location of returned expression
- Returns:
The expression
unreachable- Return type:
ExpressionIndex
- var(size: int, src: Variable, loc: ILSourceLocation | None = None) ExpressionIndex[source]¶
varreturns the variablesrcof sizesize- Parameters:
size (int) – the size of the variable in bytes
src (Variable) – the variable being read
loc (ILSourceLocation) – location of returned expression
- Returns:
An expression for the given variable
- Return type:
ExpressionIndex
- var_declare(var: Variable, loc: ILSourceLocation | None = None) ExpressionIndex[source]¶
var_declaredeclare a variable in the current scope- Parameters:
var (Variable) – location of variable being declared
loc (ILSourceLocation) – location of returned expression
- Returns:
The expression
var(no assignment or anything)- Return type:
ExpressionIndex
- var_init(size: int, dest: Variable, src: ExpressionIndex, loc: ILSourceLocation | None = None) ExpressionIndex[source]¶
var_initdeclare and assign a variable in the current scope of sizesize- Parameters:
size (int) – size of the variable
dest (Variable) – location of variable being declared
src (ExpressionIndex) – value being assigned to the variable
loc (ILSourceLocation) – location of returned expression
- Returns:
The expression
dest = src- Return type:
ExpressionIndex
- visit(cb: Callable[[str, HighLevelILInstruction | ILIntrinsic | Variable | SSAVariable | List[int] | List[Variable] | List[SSAVariable] | List[HighLevelILInstruction] | int | None | float | GotoLabel | ConstantData | DataBuffer, str, HighLevelILInstruction | None], bool]) bool[source]¶
Iterates over all the instructions in the function and calls the callback function for each instruction and each sub-instruction.
- Parameters:
cb (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:
Deprecated since version 4.0.4907: Use
HighLevelILFunction.traverseinstead.
- visit_all(cb: Callable[[str, HighLevelILInstruction | ILIntrinsic | Variable | SSAVariable | List[int] | List[Variable] | List[SSAVariable] | List[HighLevelILInstruction] | int | None | float | GotoLabel | ConstantData | DataBuffer, str, HighLevelILInstruction | None], bool]) bool[source]¶
Iterates over all the instructions in the function and calls the callback function for each instruction and their operands.
- Parameters:
cb (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:
Deprecated since version 4.0.4907: Use
HighLevelILFunction.traverseinstead.
- visit_operands(cb: Callable[[str, HighLevelILInstruction | ILIntrinsic | Variable | SSAVariable | List[int] | List[Variable] | List[SSAVariable] | List[HighLevelILInstruction] | int | None | float | GotoLabel | ConstantData | DataBuffer, str, HighLevelILInstruction | None], bool]) bool[source]¶
- Iterates over all the instructions in the function and calls the callback function for each operand and
the operands of each sub-instruction.
- Parameters:
cb (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:
Deprecated since version 4.0.4907: Use
HighLevelILFunction.traverseinstead.
- while_expr(condition: ExpressionIndex, loop_expr: ExpressionIndex, loc: ILSourceLocation | None = None) ExpressionIndex[source]¶
while_expra while-loop expression with a condition and loop body.- Parameters:
condition (ExpressionIndex) – expression for the loop condition
loop_expr (ExpressionIndex) – expression for the loop body
loc (ILSourceLocation) – location of returned expression
- Returns:
The expression
while (condition) { loop_expr }- Return type:
ExpressionIndex
- xor_expr(size: int, a: ExpressionIndex, b: ExpressionIndex, loc: ILSourceLocation | None = None) ExpressionIndex[source]¶
xor_exprxor’s expressionaand expressionbreturning an expression ofsizebytes- Parameters:
size (int) – the size of the result in bytes
a (ExpressionIndex) – LHS expression
b (ExpressionIndex) – RHS expression
loc (ILSourceLocation) – location of returned expression
- Returns:
The expression
xor.<size>(a, b)- Return type:
ExpressionIndex
- zero_extend(size: int, value: ExpressionIndex, loc: ILSourceLocation | None = None) ExpressionIndex[source]¶
zero_extendzero-extends the expression invaluetosizebytes- Parameters:
size (int) – the size of the result in bytes
value (ExpressionIndex) – the expression to zero extend
loc (ILSourceLocation) – location of returned expression
- Returns:
The expression
zx.<size>(value)- Return type:
ExpressionIndex
- property aliased_vars: List[Variable]¶
This returns a list of Variables that are taken reference to and used elsewhere. You may also wish to consider 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: MediumLevelILFunction | None¶
Medium level IL for this function
- property mlil: MediumLevelILFunction | None¶
Alias for medium_level_il
- property non_ssa_form: HighLevelILFunction | None¶
High level IL in non-SSA (default) form (read-only)
- property root: HighLevelILInstruction | None¶
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: 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¶
HighLevelILGoto¶
- class HighLevelILGoto[source]¶
Bases:
HighLevelILInstruction,TerminalHighLevelILGoto(function: ‘HighLevelILFunction’, expr_index: binaryninja.highlevelil.ExpressionIndex, core_instr: binaryninja.highlevelil.CoreHighLevelILInstruction, as_ast: bool, instr_index: binaryninja.highlevelil.InstructionIndex)
- __init__(function: HighLevelILFunction, expr_index: ExpressionIndex, core_instr: CoreHighLevelILInstruction, as_ast: bool, instr_index: InstructionIndex) None¶
- Parameters:
function (HighLevelILFunction) –
expr_index (ExpressionIndex) –
core_instr (CoreHighLevelILInstruction) –
as_ast (bool) –
instr_index (InstructionIndex) –
- Return type:
None
- property detailed_operands: List[Tuple[str, 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.
HighLevelILIf¶
- class HighLevelILIf[source]¶
Bases:
HighLevelILInstruction,ControlFlowHighLevelILIf(function: ‘HighLevelILFunction’, expr_index: binaryninja.highlevelil.ExpressionIndex, core_instr: binaryninja.highlevelil.CoreHighLevelILInstruction, as_ast: bool, instr_index: binaryninja.highlevelil.InstructionIndex)
- __init__(function: HighLevelILFunction, expr_index: ExpressionIndex, core_instr: CoreHighLevelILInstruction, as_ast: bool, instr_index: InstructionIndex) None¶
- Parameters:
function (HighLevelILFunction) –
expr_index (ExpressionIndex) –
core_instr (CoreHighLevelILInstruction) –
as_ast (bool) –
instr_index (InstructionIndex) –
- Return type:
None
- property condition: HighLevelILInstruction¶
- property detailed_operands: List[Tuple[str, 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.
- property false: HighLevelILInstruction¶
- property true: HighLevelILInstruction¶
HighLevelILImport¶
- class HighLevelILImport[source]¶
Bases:
HighLevelILInstruction,ConstantHighLevelILImport(function: ‘HighLevelILFunction’, expr_index: binaryninja.highlevelil.ExpressionIndex, core_instr: binaryninja.highlevelil.CoreHighLevelILInstruction, as_ast: bool, instr_index: binaryninja.highlevelil.InstructionIndex)
- __init__(function: HighLevelILFunction, expr_index: ExpressionIndex, core_instr: CoreHighLevelILInstruction, as_ast: bool, instr_index: InstructionIndex) None¶
- Parameters:
function (HighLevelILFunction) –
expr_index (ExpressionIndex) –
core_instr (CoreHighLevelILInstruction) –
as_ast (bool) –
instr_index (InstructionIndex) –
- Return type:
None
- property detailed_operands: List[Tuple[str, 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.
HighLevelILInstruction¶
- class HighLevelILInstruction[source]¶
Bases:
BaseILInstructionclass HighLevelILInstructionHigh 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.- __init__(function: HighLevelILFunction, expr_index: ExpressionIndex, core_instr: CoreHighLevelILInstruction, as_ast: bool, instr_index: InstructionIndex) None¶
- Parameters:
function (HighLevelILFunction) –
expr_index (ExpressionIndex) –
core_instr (CoreHighLevelILInstruction) –
as_ast (bool) –
instr_index (InstructionIndex) –
- Return type:
None
- classmethod create(func: HighLevelILFunction, expr_index: ExpressionIndex, as_ast: bool = True, instr_index: InstructionIndex | None = None) HighLevelILInstruction[source]¶
- Parameters:
func (HighLevelILFunction) –
expr_index (ExpressionIndex) –
as_ast (bool) –
instr_index (InstructionIndex | None) –
- Return type:
- get_constant_data(operand_index1: int, operand_index2: int) ConstantData[source]¶
- Parameters:
- Return type:
- get_constraint(operand_index: int) PossibleValueSet[source]¶
- Parameters:
operand_index (int) –
- 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_instruction_hash(discriminator: int) int[source]¶
Hash of instruction matching the C++ HighLevelILInstruction::GetInstructionHash, used for collapsed region matching. :param discriminator: Extra value to include in the hash to differentiate regions
- get_intrinsic(operand_index: int) ILIntrinsic[source]¶
- Parameters:
operand_index (int) –
- Return type:
- get_lines(settings: DisassemblySettings | None = None) Generator[DisassemblyTextLine, None, None][source]¶
Gets HLIL text lines with optional settings
- Parameters:
settings (DisassemblySettings | None) –
- Return type:
Generator[DisassemblyTextLine, None, None]
- get_possible_values(options: List[DataFlowQueryOption] | None = None) PossibleValueSet[source]¶
- Parameters:
options (List[DataFlowQueryOption] | None) –
- 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.
- traverse(cb: Callable[[HighLevelILInstruction, Any], Any], *args: Any, shallow: bool = True, **kwargs: Any) Iterator[Any][source]¶
traverseis a generator that allows you to traverse the HLIL AST in a depth-first manner. It will yield the result of the callback function for each node in the AST. Arguments can be passed to the callback function usingargsandkwargs. See the Developer Docs for more examples.- Parameters:
cb (Callable[[HighLevelILInstruction, Any], Any]) – The callback function to call for each node in the HighLevelILInstruction
args (Any) – Custom user-defined arguments
shallow (bool) – Whether traversal occurs on block instructions
kwargs (Any) – Custom user-defined keyword arguments
cb –
- Returns:
An iterator of the results of the callback function
- Return type:
Iterator[Any]
- Example:
>>> def get_constant_less_than_value(inst: HighLevelILInstruction, value: int) -> int: ... if isinstance(inst, Constant) and inst.constant < value: ... return inst.constant >>> >>> for result in inst.traverse(get_constant_less_than_value, 10): ... print(f"Found a constant {result} < 10 in {repr(inst)}")
- Example:
>>> def get_import_data_var_with_name(inst: HighLevelILInstruction, name: str) -> Optional['DataVariable']: ... if isinstance(inst, HighLevelILImport): ... if bv.get_symbol_at(inst.constant).name == name: ... return bv.get_data_var_at(inst.constant) >>> >>> for result in inst.traverse(get_import_data_var_with_name, "__cxa_finalize", shallow=False): ... print(f"Found import at {result} in {repr(inst)}")
- visit(cb: Callable[[str, HighLevelILInstruction | ILIntrinsic | Variable | SSAVariable | List[int] | List[Variable] | List[SSAVariable] | List[HighLevelILInstruction] | int | None | float | GotoLabel | ConstantData | DataBuffer, str, HighLevelILInstruction | None], bool], name: str = 'root', parent: HighLevelILInstruction | None = None) bool[source]¶
Visits all HighLevelILInstructions in the operands of this instruction and any sub-instructions. In the callback you provide, you likely only need to interact with the second argument (see the example below).
- Parameters:
cb (HighLevelILVisitorCallback) – Callback function that takes the name of the operand, the operand, operand type, and parent instruction
name (str) –
parent (HighLevelILInstruction | None) –
- Returns:
True if all instructions were visited, False if the callback returned False
- Example:
>>> def visitor(_a, inst, _c, _d) -> bool: >>> if isinstance(inst, Constant): >>> print(f"Found constant: {inst.constant}") >>> return False # Stop recursion (once we find a constant, don't recurse in to any sub-instructions (which there won't actually be any...)) >>> # Otherwise, keep recursing the subexpressions of this instruction; if no return value is provided, it'll keep descending >>> >>> # Finds all constants used in the program >>> for inst in bv.hlil_instructions: >>> inst.visit(visitor)
- Return type:
Deprecated since version 4.0.4907: Use
HighLevelILInstruction.traverseinstead.
- visit_all(cb: Callable[[str, HighLevelILInstruction | ILIntrinsic | Variable | SSAVariable | List[int] | List[Variable] | List[SSAVariable] | List[HighLevelILInstruction] | int | None | float | GotoLabel | ConstantData | DataBuffer, str, HighLevelILInstruction | None], bool], name: str = 'root', parent: HighLevelILInstruction | None = 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 (HighLevelILInstruction | None) –
- Returns:
True if all instructions were visited, False if the callback returned False
- Return type:
Deprecated since version 4.0.4907: Use
HighLevelILInstruction.traverseinstead.
- visit_operands(cb: Callable[[str, HighLevelILInstruction | ILIntrinsic | Variable | SSAVariable | List[int] | List[Variable] | List[SSAVariable] | List[HighLevelILInstruction] | int | None | float | GotoLabel | ConstantData | DataBuffer, str, HighLevelILInstruction | None], bool], name: str = 'root', parent: HighLevelILInstruction | None = 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 (HighLevelILInstruction | None) –
- Returns:
True if all instructions were visited, False if the callback returned False
- Return type:
Deprecated since version 4.0.4907: Use
HighLevelILInstruction.traverseinstead.
- 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', 'ConstantData')], 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 derived_string_reference: DerivedString | None¶
- property detailed_operands: List[Tuple[str, 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: HighLevelILBasicBlock | None¶
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: LowLevelILInstruction | None¶
Alias for low_level_il
- property low_level_il: LowLevelILInstruction | None¶
Low level IL form of this expression
- property medium_level_il: MediumLevelILInstruction | None¶
Medium level IL form of this expression
- property mlil: MediumLevelILInstruction | None¶
Alias for medium_level_il
- property mlils: List[MediumLevelILInstruction] | None¶
- property non_ast: HighLevelILInstruction¶
This expression without full AST printing (read-only)
- property non_ssa_form: HighLevelILInstruction | None¶
Non-SSA form of expression (read-only)
- property operands: List[HighLevelILInstruction | ILIntrinsic | Variable | SSAVariable | List[int] | List[Variable] | List[SSAVariable] | List[HighLevelILInstruction] | int | None | float | GotoLabel | ConstantData | DataBuffer]¶
Operands for the instruction
Consider using more specific APIs for
src,dest,params, etc where appropriate.
- property operation: HighLevelILOperation¶
- property parent: HighLevelILInstruction | None¶
- property possible_values: PossibleValueSet¶
Possible values of expression using path-sensitive static data flow analysis (read-only)
- property postfix_operands: List[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[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 raw_operands: Tuple[ExpressionIndex, ExpressionIndex, ExpressionIndex, ExpressionIndex, ExpressionIndex]¶
Raw operand expression indices as specified by the core structure (read-only)
- property source_location: ILSourceLocation¶
- property source_operand: ExpressionIndex¶
- property ssa_form: 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[SSAVariable | Variable]¶
Non-unique list of variables read by instruction
- property vars_address_taken: List[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[SSAVariable | Variable]¶
Non-unique list of variables whose value is read by this instruction
- property vars_written: List[SSAVariable | Variable]¶
List of variables value is written by this instruction
HighLevelILIntToFloat¶
- class HighLevelILIntToFloat[source]¶
Bases:
HighLevelILUnaryBase,FloatingPointHighLevelILIntToFloat(function: ‘HighLevelILFunction’, expr_index: binaryninja.highlevelil.ExpressionIndex, core_instr: binaryninja.highlevelil.CoreHighLevelILInstruction, as_ast: bool, instr_index: binaryninja.highlevelil.InstructionIndex)
- __init__(function: HighLevelILFunction, expr_index: ExpressionIndex, core_instr: CoreHighLevelILInstruction, as_ast: bool, instr_index: InstructionIndex) None¶
- Parameters:
function (HighLevelILFunction) –
expr_index (ExpressionIndex) –
core_instr (CoreHighLevelILInstruction) –
as_ast (bool) –
instr_index (InstructionIndex) –
- Return type:
None
HighLevelILIntrinsic¶
- class HighLevelILIntrinsic[source]¶
Bases:
HighLevelILInstruction,IntrinsicHighLevelILIntrinsic(function: ‘HighLevelILFunction’, expr_index: binaryninja.highlevelil.ExpressionIndex, core_instr: binaryninja.highlevelil.CoreHighLevelILInstruction, as_ast: bool, instr_index: binaryninja.highlevelil.InstructionIndex)
- __init__(function: HighLevelILFunction, expr_index: ExpressionIndex, core_instr: CoreHighLevelILInstruction, as_ast: bool, instr_index: InstructionIndex) None¶
- Parameters:
function (HighLevelILFunction) –
expr_index (ExpressionIndex) –
core_instr (CoreHighLevelILInstruction) –
as_ast (bool) –
instr_index (InstructionIndex) –
- Return type:
None
- property detailed_operands: List[Tuple[str, 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.
- property intrinsic: ILIntrinsic¶
- property params: List[HighLevelILInstruction]¶
HighLevelILIntrinsicSsa¶
- class HighLevelILIntrinsicSsa[source]¶
Bases:
HighLevelILInstruction,SSAHighLevelILIntrinsicSsa(function: ‘HighLevelILFunction’, expr_index: binaryninja.highlevelil.ExpressionIndex, core_instr: binaryninja.highlevelil.CoreHighLevelILInstruction, as_ast: bool, instr_index: binaryninja.highlevelil.InstructionIndex)
- __init__(function: HighLevelILFunction, expr_index: ExpressionIndex, core_instr: CoreHighLevelILInstruction, as_ast: bool, instr_index: InstructionIndex) None¶
- Parameters:
function (HighLevelILFunction) –
expr_index (ExpressionIndex) –
core_instr (CoreHighLevelILInstruction) –
as_ast (bool) –
instr_index (InstructionIndex) –
- Return type:
None
- property detailed_operands: List[Tuple[str, 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.
- property intrinsic: ILIntrinsic¶
- property params: List[HighLevelILInstruction]¶
HighLevelILJump¶
- class HighLevelILJump[source]¶
Bases:
HighLevelILInstruction,TerminalHighLevelILJump(function: ‘HighLevelILFunction’, expr_index: binaryninja.highlevelil.ExpressionIndex, core_instr: binaryninja.highlevelil.CoreHighLevelILInstruction, as_ast: bool, instr_index: binaryninja.highlevelil.InstructionIndex)
- __init__(function: HighLevelILFunction, expr_index: ExpressionIndex, core_instr: CoreHighLevelILInstruction, as_ast: bool, instr_index: InstructionIndex) None¶
- Parameters:
function (HighLevelILFunction) –
expr_index (ExpressionIndex) –
core_instr (CoreHighLevelILInstruction) –
as_ast (bool) –
instr_index (InstructionIndex) –
- Return type:
None
- property dest: HighLevelILInstruction¶
- property detailed_operands: List[Tuple[str, 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.
HighLevelILLabel¶
- class HighLevelILLabel[source]¶
Bases:
HighLevelILInstructionHighLevelILLabel(function: ‘HighLevelILFunction’, expr_index: binaryninja.highlevelil.ExpressionIndex, core_instr: binaryninja.highlevelil.CoreHighLevelILInstruction, as_ast: bool, instr_index: binaryninja.highlevelil.InstructionIndex)
- __init__(function: HighLevelILFunction, expr_index: ExpressionIndex, core_instr: CoreHighLevelILInstruction, as_ast: bool, instr_index: InstructionIndex) None¶
- Parameters:
function (HighLevelILFunction) –
expr_index (ExpressionIndex) –
core_instr (CoreHighLevelILInstruction) –
as_ast (bool) –
instr_index (InstructionIndex) –
- Return type:
None
- property detailed_operands: List[Tuple[str, 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.
HighLevelILLowPart¶
- class HighLevelILLowPart[source]¶
Bases:
HighLevelILUnaryBase,ArithmeticHighLevelILLowPart(function: ‘HighLevelILFunction’, expr_index: binaryninja.highlevelil.ExpressionIndex, core_instr: binaryninja.highlevelil.CoreHighLevelILInstruction, as_ast: bool, instr_index: binaryninja.highlevelil.InstructionIndex)
- __init__(function: HighLevelILFunction, expr_index: ExpressionIndex, core_instr: CoreHighLevelILInstruction, as_ast: bool, instr_index: InstructionIndex) None¶
- Parameters:
function (HighLevelILFunction) –
expr_index (ExpressionIndex) –
core_instr (CoreHighLevelILInstruction) –
as_ast (bool) –
instr_index (InstructionIndex) –
- Return type:
None
HighLevelILLsl¶
- class HighLevelILLsl[source]¶
Bases:
HighLevelILBinaryBase,ArithmeticHighLevelILLsl(function: ‘HighLevelILFunction’, expr_index: binaryninja.highlevelil.ExpressionIndex, core_instr: binaryninja.highlevelil.CoreHighLevelILInstruction, as_ast: bool, instr_index: binaryninja.highlevelil.InstructionIndex)
- __init__(function: HighLevelILFunction, expr_index: ExpressionIndex, core_instr: CoreHighLevelILInstruction, as_ast: bool, instr_index: InstructionIndex) None¶
- Parameters:
function (HighLevelILFunction) –
expr_index (ExpressionIndex) –
core_instr (CoreHighLevelILInstruction) –
as_ast (bool) –
instr_index (InstructionIndex) –
- Return type:
None
HighLevelILLsr¶
- class HighLevelILLsr[source]¶
Bases:
HighLevelILBinaryBase,ArithmeticHighLevelILLsr(function: ‘HighLevelILFunction’, expr_index: binaryninja.highlevelil.ExpressionIndex, core_instr: binaryninja.highlevelil.CoreHighLevelILInstruction, as_ast: bool, instr_index: binaryninja.highlevelil.InstructionIndex)
- __init__(function: HighLevelILFunction, expr_index: ExpressionIndex, core_instr: CoreHighLevelILInstruction, as_ast: bool, instr_index: InstructionIndex) None¶
- Parameters:
function (HighLevelILFunction) –
expr_index (ExpressionIndex) –
core_instr (CoreHighLevelILInstruction) –
as_ast (bool) –
instr_index (InstructionIndex) –
- Return type:
None
HighLevelILMemPhi¶
- class HighLevelILMemPhi[source]¶
Bases:
HighLevelILInstruction,Memory,PhiHighLevelILMemPhi(function: ‘HighLevelILFunction’, expr_index: binaryninja.highlevelil.ExpressionIndex, core_instr: binaryninja.highlevelil.CoreHighLevelILInstruction, as_ast: bool, instr_index: binaryninja.highlevelil.InstructionIndex)
- __init__(function: HighLevelILFunction, expr_index: ExpressionIndex, core_instr: CoreHighLevelILInstruction, as_ast: bool, instr_index: InstructionIndex) None¶
- Parameters:
function (HighLevelILFunction) –
expr_index (ExpressionIndex) –
core_instr (CoreHighLevelILInstruction) –
as_ast (bool) –
instr_index (InstructionIndex) –
- Return type:
None
- property detailed_operands: List[Tuple[str, 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.
HighLevelILMods¶
- class HighLevelILMods[source]¶
Bases:
HighLevelILBinaryBase,SignedHighLevelILMods(function: ‘HighLevelILFunction’, expr_index: binaryninja.highlevelil.ExpressionIndex, core_instr: binaryninja.highlevelil.CoreHighLevelILInstruction, as_ast: bool, instr_index: binaryninja.highlevelil.InstructionIndex)
- __init__(function: HighLevelILFunction, expr_index: ExpressionIndex, core_instr: CoreHighLevelILInstruction, as_ast: bool, instr_index: InstructionIndex) None¶
- Parameters:
function (HighLevelILFunction) –
expr_index (ExpressionIndex) –
core_instr (CoreHighLevelILInstruction) –
as_ast (bool) –
instr_index (InstructionIndex) –
- Return type:
None
HighLevelILModsDp¶
- class HighLevelILModsDp[source]¶
Bases:
HighLevelILBinaryBase,Signed,DoublePrecisionHighLevelILModsDp(function: ‘HighLevelILFunction’, expr_index: binaryninja.highlevelil.ExpressionIndex, core_instr: binaryninja.highlevelil.CoreHighLevelILInstruction, as_ast: bool, instr_index: binaryninja.highlevelil.InstructionIndex)
- __init__(function: HighLevelILFunction, expr_index: ExpressionIndex, core_instr: CoreHighLevelILInstruction, as_ast: bool, instr_index: InstructionIndex) None¶
- Parameters:
function (HighLevelILFunction) –
expr_index (ExpressionIndex) –
core_instr (CoreHighLevelILInstruction) –
as_ast (bool) –
instr_index (InstructionIndex) –
- Return type:
None
HighLevelILModu¶
- class HighLevelILModu[source]¶
Bases:
HighLevelILBinaryBase,ArithmeticHighLevelILModu(function: ‘HighLevelILFunction’, expr_index: binaryninja.highlevelil.ExpressionIndex, core_instr: binaryninja.highlevelil.CoreHighLevelILInstruction, as_ast: bool, instr_index: binaryninja.highlevelil.InstructionIndex)
- __init__(function: HighLevelILFunction, expr_index: ExpressionIndex, core_instr: CoreHighLevelILInstruction, as_ast: bool, instr_index: InstructionIndex) None¶
- Parameters:
function (HighLevelILFunction) –
expr_index (ExpressionIndex) –
core_instr (CoreHighLevelILInstruction) –
as_ast (bool) –
instr_index (InstructionIndex) –
- Return type:
None
HighLevelILModuDp¶
- class HighLevelILModuDp[source]¶
Bases:
HighLevelILBinaryBase,DoublePrecisionHighLevelILModuDp(function: ‘HighLevelILFunction’, expr_index: binaryninja.highlevelil.ExpressionIndex, core_instr: binaryninja.highlevelil.CoreHighLevelILInstruction, as_ast: bool, instr_index: binaryninja.highlevelil.InstructionIndex)
- __init__(function: HighLevelILFunction, expr_index: ExpressionIndex, core_instr: CoreHighLevelILInstruction, as_ast: bool, instr_index: InstructionIndex) None¶
- Parameters:
function (HighLevelILFunction) –
expr_index (ExpressionIndex) –
core_instr (CoreHighLevelILInstruction) –
as_ast (bool) –
instr_index (InstructionIndex) –
- Return type:
None
HighLevelILMul¶
- class HighLevelILMul[source]¶
Bases:
HighLevelILBinaryBase,ArithmeticHighLevelILMul(function: ‘HighLevelILFunction’, expr_index: binaryninja.highlevelil.ExpressionIndex, core_instr: binaryninja.highlevelil.CoreHighLevelILInstruction, as_ast: bool, instr_index: binaryninja.highlevelil.InstructionIndex)
- __init__(function: HighLevelILFunction, expr_index: ExpressionIndex, core_instr: CoreHighLevelILInstruction, as_ast: bool, instr_index: InstructionIndex) None¶
- Parameters:
function (HighLevelILFunction) –
expr_index (ExpressionIndex) –
core_instr (CoreHighLevelILInstruction) –
as_ast (bool) –
instr_index (InstructionIndex) –
- Return type:
None
HighLevelILMulsDp¶
- class HighLevelILMulsDp[source]¶
Bases:
Signed,HighLevelILBinaryBase,DoublePrecisionHighLevelILMulsDp(function: ‘HighLevelILFunction’, expr_index: binaryninja.highlevelil.ExpressionIndex, core_instr: binaryninja.highlevelil.CoreHighLevelILInstruction, as_ast: bool, instr_index: binaryninja.highlevelil.InstructionIndex)
- __init__(function: HighLevelILFunction, expr_index: ExpressionIndex, core_instr: CoreHighLevelILInstruction, as_ast: bool, instr_index: InstructionIndex) None¶
- Parameters:
function (HighLevelILFunction) –
expr_index (ExpressionIndex) –
core_instr (CoreHighLevelILInstruction) –
as_ast (bool) –
instr_index (InstructionIndex) –
- Return type:
None
HighLevelILMuluDp¶
- class HighLevelILMuluDp[source]¶
Bases:
HighLevelILBinaryBase,DoublePrecisionHighLevelILMuluDp(function: ‘HighLevelILFunction’, expr_index: binaryninja.highlevelil.ExpressionIndex, core_instr: binaryninja.highlevelil.CoreHighLevelILInstruction, as_ast: bool, instr_index: binaryninja.highlevelil.InstructionIndex)
- __init__(function: HighLevelILFunction, expr_index: ExpressionIndex, core_instr: CoreHighLevelILInstruction, as_ast: bool, instr_index: InstructionIndex) None¶
- Parameters:
function (HighLevelILFunction) –
expr_index (ExpressionIndex) –
core_instr (CoreHighLevelILInstruction) –
as_ast (bool) –
instr_index (InstructionIndex) –
- Return type:
None
HighLevelILNeg¶
- class HighLevelILNeg[source]¶
Bases:
HighLevelILUnaryBase,ArithmeticHighLevelILNeg(function: ‘HighLevelILFunction’, expr_index: binaryninja.highlevelil.ExpressionIndex, core_instr: binaryninja.highlevelil.CoreHighLevelILInstruction, as_ast: bool, instr_index: binaryninja.highlevelil.InstructionIndex)
- __init__(function: HighLevelILFunction, expr_index: ExpressionIndex, core_instr: CoreHighLevelILInstruction, as_ast: bool, instr_index: InstructionIndex) None¶
- Parameters:
function (HighLevelILFunction) –
expr_index (ExpressionIndex) –
core_instr (CoreHighLevelILInstruction) –
as_ast (bool) –
instr_index (InstructionIndex) –
- Return type:
None
HighLevelILNop¶
- class HighLevelILNop[source]¶
Bases:
HighLevelILInstructionHighLevelILNop(function: ‘HighLevelILFunction’, expr_index: binaryninja.highlevelil.ExpressionIndex, core_instr: binaryninja.highlevelil.CoreHighLevelILInstruction, as_ast: bool, instr_index: binaryninja.highlevelil.InstructionIndex)
- __init__(function: HighLevelILFunction, expr_index: ExpressionIndex, core_instr: CoreHighLevelILInstruction, as_ast: bool, instr_index: InstructionIndex) None¶
- Parameters:
function (HighLevelILFunction) –
expr_index (ExpressionIndex) –
core_instr (CoreHighLevelILInstruction) –
as_ast (bool) –
instr_index (InstructionIndex) –
- Return type:
None
HighLevelILNoret¶
- class HighLevelILNoret[source]¶
Bases:
HighLevelILInstruction,TerminalHighLevelILNoret(function: ‘HighLevelILFunction’, expr_index: binaryninja.highlevelil.ExpressionIndex, core_instr: binaryninja.highlevelil.CoreHighLevelILInstruction, as_ast: bool, instr_index: binaryninja.highlevelil.InstructionIndex)
- __init__(function: HighLevelILFunction, expr_index: ExpressionIndex, core_instr: CoreHighLevelILInstruction, as_ast: bool, instr_index: InstructionIndex) None¶
- Parameters:
function (HighLevelILFunction) –
expr_index (ExpressionIndex) –
core_instr (CoreHighLevelILInstruction) –
as_ast (bool) –
instr_index (InstructionIndex) –
- Return type:
None
HighLevelILNot¶
- class HighLevelILNot[source]¶
Bases:
HighLevelILUnaryBase,ArithmeticHighLevelILNot(function: ‘HighLevelILFunction’, expr_index: binaryninja.highlevelil.ExpressionIndex, core_instr: binaryninja.highlevelil.CoreHighLevelILInstruction, as_ast: bool, instr_index: binaryninja.highlevelil.InstructionIndex)
- __init__(function: HighLevelILFunction, expr_index: ExpressionIndex, core_instr: CoreHighLevelILInstruction, as_ast: bool, instr_index: InstructionIndex) None¶
- Parameters:
function (HighLevelILFunction) –
expr_index (ExpressionIndex) –
core_instr (CoreHighLevelILInstruction) –
as_ast (bool) –
instr_index (InstructionIndex) –
- Return type:
None
HighLevelILOperationAndSize¶
- class HighLevelILOperationAndSize[source]¶
Bases:
objectHighLevelILOperationAndSize(operation: binaryninja.enums.HighLevelILOperation, size: int)
- __init__(operation: HighLevelILOperation, size: int) None¶
- Parameters:
operation (HighLevelILOperation) –
size (int) –
- Return type:
None
- operation: HighLevelILOperation¶
HighLevelILOr¶
- class HighLevelILOr[source]¶
Bases:
HighLevelILBinaryBase,ArithmeticHighLevelILOr(function: ‘HighLevelILFunction’, expr_index: binaryninja.highlevelil.ExpressionIndex, core_instr: binaryninja.highlevelil.CoreHighLevelILInstruction, as_ast: bool, instr_index: binaryninja.highlevelil.InstructionIndex)
- __init__(function: HighLevelILFunction, expr_index: ExpressionIndex, core_instr: CoreHighLevelILInstruction, as_ast: bool, instr_index: InstructionIndex) None¶
- Parameters:
function (HighLevelILFunction) –
expr_index (ExpressionIndex) –
core_instr (CoreHighLevelILInstruction) –
as_ast (bool) –
instr_index (InstructionIndex) –
- Return type:
None
HighLevelILRet¶
- class HighLevelILRet[source]¶
Bases:
HighLevelILInstruction,ReturnHighLevelILRet(function: ‘HighLevelILFunction’, expr_index: binaryninja.highlevelil.ExpressionIndex, core_instr: binaryninja.highlevelil.CoreHighLevelILInstruction, as_ast: bool, instr_index: binaryninja.highlevelil.InstructionIndex)
- __init__(function: HighLevelILFunction, expr_index: ExpressionIndex, core_instr: CoreHighLevelILInstruction, as_ast: bool, instr_index: InstructionIndex) None¶
- Parameters:
function (HighLevelILFunction) –
expr_index (ExpressionIndex) –
core_instr (CoreHighLevelILInstruction) –
as_ast (bool) –
instr_index (InstructionIndex) –
- Return type:
None
- property detailed_operands: List[Tuple[str, 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.
- property src: List[HighLevelILInstruction]¶
HighLevelILRlc¶
- class HighLevelILRlc[source]¶
Bases:
HighLevelILCarryBaseHighLevelILRlc(function: ‘HighLevelILFunction’, expr_index: binaryninja.highlevelil.ExpressionIndex, core_instr: binaryninja.highlevelil.CoreHighLevelILInstruction, as_ast: bool, instr_index: binaryninja.highlevelil.InstructionIndex)
- __init__(function: HighLevelILFunction, expr_index: ExpressionIndex, core_instr: CoreHighLevelILInstruction, as_ast: bool, instr_index: InstructionIndex) None¶
- Parameters:
function (HighLevelILFunction) –
expr_index (ExpressionIndex) –
core_instr (CoreHighLevelILInstruction) –
as_ast (bool) –
instr_index (InstructionIndex) –
- Return type:
None
HighLevelILRol¶
- class HighLevelILRol[source]¶
Bases:
HighLevelILBinaryBase,ArithmeticHighLevelILRol(function: ‘HighLevelILFunction’, expr_index: binaryninja.highlevelil.ExpressionIndex, core_instr: binaryninja.highlevelil.CoreHighLevelILInstruction, as_ast: bool, instr_index: binaryninja.highlevelil.InstructionIndex)
- __init__(function: HighLevelILFunction, expr_index: ExpressionIndex, core_instr: CoreHighLevelILInstruction, as_ast: bool, instr_index: InstructionIndex) None¶
- Parameters:
function (HighLevelILFunction) –
expr_index (ExpressionIndex) –
core_instr (CoreHighLevelILInstruction) –
as_ast (bool) –
instr_index (InstructionIndex) –
- Return type:
None
HighLevelILRor¶
- class HighLevelILRor[source]¶
Bases:
HighLevelILCarryBaseHighLevelILRor(function: ‘HighLevelILFunction’, expr_index: binaryninja.highlevelil.ExpressionIndex, core_instr: binaryninja.highlevelil.CoreHighLevelILInstruction, as_ast: bool, instr_index: binaryninja.highlevelil.InstructionIndex)
- __init__(function: HighLevelILFunction, expr_index: ExpressionIndex, core_instr: CoreHighLevelILInstruction, as_ast: bool, instr_index: InstructionIndex) None¶
- Parameters:
function (HighLevelILFunction) –
expr_index (ExpressionIndex) –
core_instr (CoreHighLevelILInstruction) –
as_ast (bool) –
instr_index (InstructionIndex) –
- Return type:
None
HighLevelILRoundToInt¶
- class HighLevelILRoundToInt[source]¶
Bases:
HighLevelILUnaryBase,FloatingPointHighLevelILRoundToInt(function: ‘HighLevelILFunction’, expr_index: binaryninja.highlevelil.ExpressionIndex, core_instr: binaryninja.highlevelil.CoreHighLevelILInstruction, as_ast: bool, instr_index: binaryninja.highlevelil.InstructionIndex)
- __init__(function: HighLevelILFunction, expr_index: ExpressionIndex, core_instr: CoreHighLevelILInstruction, as_ast: bool, instr_index: InstructionIndex) None¶
- Parameters:
function (HighLevelILFunction) –
expr_index (ExpressionIndex) –
core_instr (CoreHighLevelILInstruction) –
as_ast (bool) –
instr_index (InstructionIndex) –
- Return type:
None
HighLevelILRrc¶
- class HighLevelILRrc[source]¶
Bases:
HighLevelILCarryBaseHighLevelILRrc(function: ‘HighLevelILFunction’, expr_index: binaryninja.highlevelil.ExpressionIndex, core_instr: binaryninja.highlevelil.CoreHighLevelILInstruction, as_ast: bool, instr_index: binaryninja.highlevelil.InstructionIndex)
- __init__(function: HighLevelILFunction, expr_index: ExpressionIndex, core_instr: CoreHighLevelILInstruction, as_ast: bool, instr_index: InstructionIndex) None¶
- Parameters:
function (HighLevelILFunction) –
expr_index (ExpressionIndex) –
core_instr (CoreHighLevelILInstruction) –
as_ast (bool) –
instr_index (InstructionIndex) –
- Return type:
None
HighLevelILSbb¶
- class HighLevelILSbb[source]¶
Bases:
HighLevelILCarryBaseHighLevelILSbb(function: ‘HighLevelILFunction’, expr_index: binaryninja.highlevelil.ExpressionIndex, core_instr: binaryninja.highlevelil.CoreHighLevelILInstruction, as_ast: bool, instr_index: binaryninja.highlevelil.InstructionIndex)
- __init__(function: HighLevelILFunction, expr_index: ExpressionIndex, core_instr: CoreHighLevelILInstruction, as_ast: bool, instr_index: InstructionIndex) None¶
- Parameters:
function (HighLevelILFunction) –
expr_index (ExpressionIndex) –
core_instr (CoreHighLevelILInstruction) –
as_ast (bool) –
instr_index (InstructionIndex) –
- Return type:
None
HighLevelILSplit¶
- class HighLevelILSplit[source]¶
Bases:
HighLevelILInstructionHighLevelILSplit(function: ‘HighLevelILFunction’, expr_index: binaryninja.highlevelil.ExpressionIndex, core_instr: binaryninja.highlevelil.CoreHighLevelILInstruction, as_ast: bool, instr_index: binaryninja.highlevelil.InstructionIndex)
- __init__(function: HighLevelILFunction, expr_index: ExpressionIndex, core_instr: CoreHighLevelILInstruction, as_ast: bool, instr_index: InstructionIndex) None¶
- Parameters:
function (HighLevelILFunction) –
expr_index (ExpressionIndex) –
core_instr (CoreHighLevelILInstruction) –
as_ast (bool) –
instr_index (InstructionIndex) –
- Return type:
None
- property detailed_operands: List[Tuple[str, 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.
- property high: HighLevelILInstruction¶
- property low: HighLevelILInstruction¶
HighLevelILStructField¶
- class HighLevelILStructField[source]¶
Bases:
HighLevelILInstructionHighLevelILStructField(function: ‘HighLevelILFunction’, expr_index: binaryninja.highlevelil.ExpressionIndex, core_instr: binaryninja.highlevelil.CoreHighLevelILInstruction, as_ast: bool, instr_index: binaryninja.highlevelil.InstructionIndex)
- __init__(function: HighLevelILFunction, expr_index: ExpressionIndex, core_instr: CoreHighLevelILInstruction, as_ast: bool, instr_index: InstructionIndex) None¶
- Parameters:
function (HighLevelILFunction) –
expr_index (ExpressionIndex) –
core_instr (CoreHighLevelILInstruction) –
as_ast (bool) –
instr_index (InstructionIndex) –
- Return type:
None
- property detailed_operands: List[Tuple[str, 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.
- property src: HighLevelILInstruction¶
HighLevelILSub¶
- class HighLevelILSub[source]¶
Bases:
HighLevelILBinaryBase,ArithmeticHighLevelILSub(function: ‘HighLevelILFunction’, expr_index: binaryninja.highlevelil.ExpressionIndex, core_instr: binaryninja.highlevelil.CoreHighLevelILInstruction, as_ast: bool, instr_index: binaryninja.highlevelil.InstructionIndex)
- __init__(function: HighLevelILFunction, expr_index: ExpressionIndex, core_instr: CoreHighLevelILInstruction, as_ast: bool, instr_index: InstructionIndex) None¶
- Parameters:
function (HighLevelILFunction) –
expr_index (ExpressionIndex) –
core_instr (CoreHighLevelILInstruction) –
as_ast (bool) –
instr_index (InstructionIndex) –
- Return type:
None
HighLevelILSwitch¶
- class HighLevelILSwitch[source]¶
Bases:
HighLevelILInstruction,ControlFlowHighLevelILSwitch(function: ‘HighLevelILFunction’, expr_index: binaryninja.highlevelil.ExpressionIndex, core_instr: binaryninja.highlevelil.CoreHighLevelILInstruction, as_ast: bool, instr_index: binaryninja.highlevelil.InstructionIndex)
- __init__(function: HighLevelILFunction, expr_index: ExpressionIndex, core_instr: CoreHighLevelILInstruction, as_ast: bool, instr_index: InstructionIndex) None¶
- Parameters:
function (HighLevelILFunction) –
expr_index (ExpressionIndex) –
core_instr (CoreHighLevelILInstruction) –
as_ast (bool) –
instr_index (InstructionIndex) –
- Return type:
None
- property cases: List[HighLevelILInstruction]¶
- property condition: HighLevelILInstruction¶
- property default: HighLevelILInstruction¶
- property detailed_operands: List[Tuple[str, 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.
HighLevelILSx¶
- class HighLevelILSx[source]¶
Bases:
HighLevelILUnaryBase,ArithmeticHighLevelILSx(function: ‘HighLevelILFunction’, expr_index: binaryninja.highlevelil.ExpressionIndex, core_instr: binaryninja.highlevelil.CoreHighLevelILInstruction, as_ast: bool, instr_index: binaryninja.highlevelil.InstructionIndex)
- __init__(function: HighLevelILFunction, expr_index: ExpressionIndex, core_instr: CoreHighLevelILInstruction, as_ast: bool, instr_index: InstructionIndex) None¶
- Parameters:
function (HighLevelILFunction) –
expr_index (ExpressionIndex) –
core_instr (CoreHighLevelILInstruction) –
as_ast (bool) –
instr_index (InstructionIndex) –
- Return type:
None
HighLevelILSyscall¶
- class HighLevelILSyscall[source]¶
Bases:
HighLevelILInstruction,SyscallHighLevelILSyscall(function: ‘HighLevelILFunction’, expr_index: binaryninja.highlevelil.ExpressionIndex, core_instr: binaryninja.highlevelil.CoreHighLevelILInstruction, as_ast: bool, instr_index: binaryninja.highlevelil.InstructionIndex)
- __init__(function: HighLevelILFunction, expr_index: ExpressionIndex, core_instr: CoreHighLevelILInstruction, as_ast: bool, instr_index: InstructionIndex) None¶
- Parameters:
function (HighLevelILFunction) –
expr_index (ExpressionIndex) –
core_instr (CoreHighLevelILInstruction) –
as_ast (bool) –
instr_index (InstructionIndex) –
- Return type:
None
- property detailed_operands: List[Tuple[str, 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.
- property params: List[HighLevelILInstruction]¶
HighLevelILSyscallSsa¶
- class HighLevelILSyscallSsa[source]¶
Bases:
HighLevelILInstruction,Syscall,SSAHighLevelILSyscallSsa(function: ‘HighLevelILFunction’, expr_index: binaryninja.highlevelil.ExpressionIndex, core_instr: binaryninja.highlevelil.CoreHighLevelILInstruction, as_ast: bool, instr_index: binaryninja.highlevelil.InstructionIndex)
- __init__(function: HighLevelILFunction, expr_index: ExpressionIndex, core_instr: CoreHighLevelILInstruction, as_ast: bool, instr_index: InstructionIndex) None¶
- Parameters:
function (HighLevelILFunction) –
expr_index (ExpressionIndex) –
core_instr (CoreHighLevelILInstruction) –
as_ast (bool) –
instr_index (InstructionIndex) –
- Return type:
None
- property detailed_operands: List[Tuple[str, 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.
- property params: List[HighLevelILInstruction]¶
HighLevelILTailcall¶
- class HighLevelILTailcall[source]¶
Bases:
HighLevelILInstruction,TailcallHighLevelILTailcall(function: ‘HighLevelILFunction’, expr_index: binaryninja.highlevelil.ExpressionIndex, core_instr: binaryninja.highlevelil.CoreHighLevelILInstruction, as_ast: bool, instr_index: binaryninja.highlevelil.InstructionIndex)
- __init__(function: HighLevelILFunction, expr_index: ExpressionIndex, core_instr: CoreHighLevelILInstruction, as_ast: bool, instr_index: InstructionIndex) None¶
- Parameters:
function (HighLevelILFunction) –
expr_index (ExpressionIndex) –
core_instr (CoreHighLevelILInstruction) –
as_ast (bool) –
instr_index (InstructionIndex) –
- Return type:
None
- property dest: HighLevelILInstruction¶
- property detailed_operands: List[Tuple[str, 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.
- property params: List[HighLevelILInstruction]¶
HighLevelILTestBit¶
- class HighLevelILTestBit[source]¶
Bases:
HighLevelILComparisonBaseHighLevelILTestBit(function: ‘HighLevelILFunction’, expr_index: binaryninja.highlevelil.ExpressionIndex, core_instr: binaryninja.highlevelil.CoreHighLevelILInstruction, as_ast: bool, instr_index: binaryninja.highlevelil.InstructionIndex)
- __init__(function: HighLevelILFunction, expr_index: ExpressionIndex, core_instr: CoreHighLevelILInstruction, as_ast: bool, instr_index: InstructionIndex) None¶
- Parameters:
function (HighLevelILFunction) –
expr_index (ExpressionIndex) –
core_instr (CoreHighLevelILInstruction) –
as_ast (bool) –
instr_index (InstructionIndex) –
- Return type:
None
HighLevelILTrap¶
- class HighLevelILTrap[source]¶
Bases:
HighLevelILInstruction,TerminalHighLevelILTrap(function: ‘HighLevelILFunction’, expr_index: binaryninja.highlevelil.ExpressionIndex, core_instr: binaryninja.highlevelil.CoreHighLevelILInstruction, as_ast: bool, instr_index: binaryninja.highlevelil.InstructionIndex)
- __init__(function: HighLevelILFunction, expr_index: ExpressionIndex, core_instr: CoreHighLevelILInstruction, as_ast: bool, instr_index: InstructionIndex) None¶
- Parameters:
function (HighLevelILFunction) –
expr_index (ExpressionIndex) –
core_instr (CoreHighLevelILInstruction) –
as_ast (bool) –
instr_index (InstructionIndex) –
- Return type:
None
- property detailed_operands: List[Tuple[str, 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.
HighLevelILUnaryBase¶
- class HighLevelILUnaryBase[source]¶
Bases:
HighLevelILInstruction,UnaryOperationHighLevelILUnaryBase(function: ‘HighLevelILFunction’, expr_index: binaryninja.highlevelil.ExpressionIndex, core_instr: binaryninja.highlevelil.CoreHighLevelILInstruction, as_ast: bool, instr_index: binaryninja.highlevelil.InstructionIndex)
- __init__(function: HighLevelILFunction, expr_index: ExpressionIndex, core_instr: CoreHighLevelILInstruction, as_ast: bool, instr_index: InstructionIndex) None¶
- Parameters:
function (HighLevelILFunction) –
expr_index (ExpressionIndex) –
core_instr (CoreHighLevelILInstruction) –
as_ast (bool) –
instr_index (InstructionIndex) –
- Return type:
None
- property detailed_operands: List[Tuple[str, 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.
- property src: HighLevelILInstruction¶
HighLevelILUndef¶
- class HighLevelILUndef[source]¶
Bases:
HighLevelILInstruction,TerminalHighLevelILUndef(function: ‘HighLevelILFunction’, expr_index: binaryninja.highlevelil.ExpressionIndex, core_instr: binaryninja.highlevelil.CoreHighLevelILInstruction, as_ast: bool, instr_index: binaryninja.highlevelil.InstructionIndex)
- __init__(function: HighLevelILFunction, expr_index: ExpressionIndex, core_instr: CoreHighLevelILInstruction, as_ast: bool, instr_index: InstructionIndex) None¶
- Parameters:
function (HighLevelILFunction) –
expr_index (ExpressionIndex) –
core_instr (CoreHighLevelILInstruction) –
as_ast (bool) –
instr_index (InstructionIndex) –
- Return type:
None
HighLevelILUnimpl¶
- class HighLevelILUnimpl[source]¶
Bases:
HighLevelILInstructionHighLevelILUnimpl(function: ‘HighLevelILFunction’, expr_index: binaryninja.highlevelil.ExpressionIndex, core_instr: binaryninja.highlevelil.CoreHighLevelILInstruction, as_ast: bool, instr_index: binaryninja.highlevelil.InstructionIndex)
- __init__(function: HighLevelILFunction, expr_index: ExpressionIndex, core_instr: CoreHighLevelILInstruction, as_ast: bool, instr_index: InstructionIndex) None¶
- Parameters:
function (HighLevelILFunction) –
expr_index (ExpressionIndex) –
core_instr (CoreHighLevelILInstruction) –
as_ast (bool) –
instr_index (InstructionIndex) –
- Return type:
None
HighLevelILUnimplMem¶
- class HighLevelILUnimplMem[source]¶
Bases:
HighLevelILUnaryBase,MemoryHighLevelILUnimplMem(function: ‘HighLevelILFunction’, expr_index: binaryninja.highlevelil.ExpressionIndex, core_instr: binaryninja.highlevelil.CoreHighLevelILInstruction, as_ast: bool, instr_index: binaryninja.highlevelil.InstructionIndex)
- __init__(function: HighLevelILFunction, expr_index: ExpressionIndex, core_instr: CoreHighLevelILInstruction, as_ast: bool, instr_index: InstructionIndex) None¶
- Parameters:
function (HighLevelILFunction) –
expr_index (ExpressionIndex) –
core_instr (CoreHighLevelILInstruction) –
as_ast (bool) –
instr_index (InstructionIndex) –
- Return type:
None
HighLevelILUnreachable¶
- class HighLevelILUnreachable[source]¶
Bases:
HighLevelILInstruction,TerminalHighLevelILUnreachable(function: ‘HighLevelILFunction’, expr_index: binaryninja.highlevelil.ExpressionIndex, core_instr: binaryninja.highlevelil.CoreHighLevelILInstruction, as_ast: bool, instr_index: binaryninja.highlevelil.InstructionIndex)
- __init__(function: HighLevelILFunction, expr_index: ExpressionIndex, core_instr: CoreHighLevelILInstruction, as_ast: bool, instr_index: InstructionIndex) None¶
- Parameters:
function (HighLevelILFunction) –
expr_index (ExpressionIndex) –
core_instr (CoreHighLevelILInstruction) –
as_ast (bool) –
instr_index (InstructionIndex) –
- Return type:
None
HighLevelILVar¶
- class HighLevelILVar[source]¶
Bases:
HighLevelILInstruction,VariableInstructionHighLevelILVar(function: ‘HighLevelILFunction’, expr_index: binaryninja.highlevelil.ExpressionIndex, core_instr: binaryninja.highlevelil.CoreHighLevelILInstruction, as_ast: bool, instr_index: binaryninja.highlevelil.InstructionIndex)
- __init__(function: HighLevelILFunction, expr_index: ExpressionIndex, core_instr: CoreHighLevelILInstruction, as_ast: bool, instr_index: InstructionIndex) None¶
- Parameters:
function (HighLevelILFunction) –
expr_index (ExpressionIndex) –
core_instr (CoreHighLevelILInstruction) –
as_ast (bool) –
instr_index (InstructionIndex) –
- Return type:
None
- property detailed_operands: List[Tuple[str, 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.
HighLevelILVarDeclare¶
- class HighLevelILVarDeclare[source]¶
Bases:
HighLevelILInstructionHighLevelILVarDeclare(function: ‘HighLevelILFunction’, expr_index: binaryninja.highlevelil.ExpressionIndex, core_instr: binaryninja.highlevelil.CoreHighLevelILInstruction, as_ast: bool, instr_index: binaryninja.highlevelil.InstructionIndex)
- __init__(function: HighLevelILFunction, expr_index: ExpressionIndex, core_instr: CoreHighLevelILInstruction, as_ast: bool, instr_index: InstructionIndex) None¶
- Parameters:
function (HighLevelILFunction) –
expr_index (ExpressionIndex) –
core_instr (CoreHighLevelILInstruction) –
as_ast (bool) –
instr_index (InstructionIndex) –
- Return type:
None
- property detailed_operands: List[Tuple[str, 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.
HighLevelILVarInit¶
- class HighLevelILVarInit[source]¶
Bases:
HighLevelILInstruction,SetVarHighLevelILVarInit(function: ‘HighLevelILFunction’, expr_index: binaryninja.highlevelil.ExpressionIndex, core_instr: binaryninja.highlevelil.CoreHighLevelILInstruction, as_ast: bool, instr_index: binaryninja.highlevelil.InstructionIndex)
- __init__(function: HighLevelILFunction, expr_index: ExpressionIndex, core_instr: CoreHighLevelILInstruction, as_ast: bool, instr_index: InstructionIndex) None¶
- Parameters:
function (HighLevelILFunction) –
expr_index (ExpressionIndex) –
core_instr (CoreHighLevelILInstruction) –
as_ast (bool) –
instr_index (InstructionIndex) –
- Return type:
None
- property detailed_operands: List[Tuple[str, 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.
- property src: HighLevelILInstruction¶
- property vars_written: List[SSAVariable | Variable]¶
List of variables value is written by this instruction
HighLevelILVarInitSsa¶
- class HighLevelILVarInitSsa[source]¶
Bases:
HighLevelILInstruction,SetVar,SSAHighLevelILVarInitSsa(function: ‘HighLevelILFunction’, expr_index: binaryninja.highlevelil.ExpressionIndex, core_instr: binaryninja.highlevelil.CoreHighLevelILInstruction, as_ast: bool, instr_index: binaryninja.highlevelil.InstructionIndex)
- __init__(function: HighLevelILFunction, expr_index: ExpressionIndex, core_instr: CoreHighLevelILInstruction, as_ast: bool, instr_index: InstructionIndex) None¶
- Parameters:
function (HighLevelILFunction) –
expr_index (ExpressionIndex) –
core_instr (CoreHighLevelILInstruction) –
as_ast (bool) –
instr_index (InstructionIndex) –
- Return type:
None
- property dest: SSAVariable¶
- property detailed_operands: List[Tuple[str, 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.
- property src: HighLevelILInstruction¶
- property vars_written: List[SSAVariable | Variable]¶
List of variables value is written by this instruction
HighLevelILVarPhi¶
- class HighLevelILVarPhi[source]¶
Bases:
HighLevelILInstruction,Phi,SetVarHighLevelILVarPhi(function: ‘HighLevelILFunction’, expr_index: binaryninja.highlevelil.ExpressionIndex, core_instr: binaryninja.highlevelil.CoreHighLevelILInstruction, as_ast: bool, instr_index: binaryninja.highlevelil.InstructionIndex)
- __init__(function: HighLevelILFunction, expr_index: ExpressionIndex, core_instr: CoreHighLevelILInstruction, as_ast: bool, instr_index: InstructionIndex) None¶
- Parameters:
function (HighLevelILFunction) –
expr_index (ExpressionIndex) –
core_instr (CoreHighLevelILInstruction) –
as_ast (bool) –
instr_index (InstructionIndex) –
- Return type:
None
- property dest: SSAVariable¶
- property detailed_operands: List[Tuple[str, 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.
- property src: List[SSAVariable]¶
- property vars_written: List[SSAVariable | Variable]¶
List of variables value is written by this instruction
HighLevelILVarSsa¶
- class HighLevelILVarSsa[source]¶
Bases:
HighLevelILInstruction,SSAVariableInstructionHighLevelILVarSsa(function: ‘HighLevelILFunction’, expr_index: binaryninja.highlevelil.ExpressionIndex, core_instr: binaryninja.highlevelil.CoreHighLevelILInstruction, as_ast: bool, instr_index: binaryninja.highlevelil.InstructionIndex)
- __init__(function: HighLevelILFunction, expr_index: ExpressionIndex, core_instr: CoreHighLevelILInstruction, as_ast: bool, instr_index: InstructionIndex) None¶
- Parameters:
function (HighLevelILFunction) –
expr_index (ExpressionIndex) –
core_instr (CoreHighLevelILInstruction) –
as_ast (bool) –
instr_index (InstructionIndex) –
- Return type:
None
- property detailed_operands: List[Tuple[str, 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.
- property var: SSAVariable¶
HighLevelILWhile¶
- class HighLevelILWhile[source]¶
Bases:
HighLevelILInstruction,LoopHighLevelILWhile(function: ‘HighLevelILFunction’, expr_index: binaryninja.highlevelil.ExpressionIndex, core_instr: binaryninja.highlevelil.CoreHighLevelILInstruction, as_ast: bool, instr_index: binaryninja.highlevelil.InstructionIndex)
- __init__(function: HighLevelILFunction, expr_index: ExpressionIndex, core_instr: CoreHighLevelILInstruction, as_ast: bool, instr_index: InstructionIndex) None¶
- Parameters:
function (HighLevelILFunction) –
expr_index (ExpressionIndex) –
core_instr (CoreHighLevelILInstruction) –
as_ast (bool) –
instr_index (InstructionIndex) –
- Return type:
None
- property body: HighLevelILInstruction¶
- property condition: HighLevelILInstruction¶
- property detailed_operands: List[Tuple[str, 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.
HighLevelILWhileSsa¶
- class HighLevelILWhileSsa[source]¶
Bases:
HighLevelILInstruction,Loop,SSAHighLevelILWhileSsa(function: ‘HighLevelILFunction’, expr_index: binaryninja.highlevelil.ExpressionIndex, core_instr: binaryninja.highlevelil.CoreHighLevelILInstruction, as_ast: bool, instr_index: binaryninja.highlevelil.InstructionIndex)
- __init__(function: HighLevelILFunction, expr_index: ExpressionIndex, core_instr: CoreHighLevelILInstruction, as_ast: bool, instr_index: InstructionIndex) None¶
- Parameters:
function (HighLevelILFunction) –
expr_index (ExpressionIndex) –
core_instr (CoreHighLevelILInstruction) –
as_ast (bool) –
instr_index (InstructionIndex) –
- Return type:
None
- property body: HighLevelILInstruction¶
- property condition: HighLevelILInstruction¶
- property condition_phi: HighLevelILInstruction¶
- property detailed_operands: List[Tuple[str, 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.
HighLevelILXor¶
- class HighLevelILXor[source]¶
Bases:
HighLevelILBinaryBase,ArithmeticHighLevelILXor(function: ‘HighLevelILFunction’, expr_index: binaryninja.highlevelil.ExpressionIndex, core_instr: binaryninja.highlevelil.CoreHighLevelILInstruction, as_ast: bool, instr_index: binaryninja.highlevelil.InstructionIndex)
- __init__(function: HighLevelILFunction, expr_index: ExpressionIndex, core_instr: CoreHighLevelILInstruction, as_ast: bool, instr_index: InstructionIndex) None¶
- Parameters:
function (HighLevelILFunction) –
expr_index (ExpressionIndex) –
core_instr (CoreHighLevelILInstruction) –
as_ast (bool) –
instr_index (InstructionIndex) –
- Return type:
None
HighLevelILZx¶
- class HighLevelILZx[source]¶
Bases:
HighLevelILUnaryBase,ArithmeticHighLevelILZx(function: ‘HighLevelILFunction’, expr_index: binaryninja.highlevelil.ExpressionIndex, core_instr: binaryninja.highlevelil.CoreHighLevelILInstruction, as_ast: bool, instr_index: binaryninja.highlevelil.InstructionIndex)
- __init__(function: HighLevelILFunction, expr_index: ExpressionIndex, core_instr: CoreHighLevelILInstruction, as_ast: bool, instr_index: InstructionIndex) None¶
- Parameters:
function (HighLevelILFunction) –
expr_index (ExpressionIndex) –
core_instr (CoreHighLevelILInstruction) –
as_ast (bool) –
instr_index (InstructionIndex) –
- Return type:
None