BinaryNinja::LowLevelILInstructionBase Struct Reference

Public Member Functions

LowLevelILOperandList GetOperands () const
 
uint64_t GetRawOperandAsInteger (size_t operand) const
 
uint32_t GetRawOperandAsRegister (size_t operand) const
 
size_t GetRawOperandAsIndex (size_t operand) const
 
BNLowLevelILFlagCondition GetRawOperandAsFlagCondition (size_t operand) const
 
LowLevelILInstruction GetRawOperandAsExpr (size_t operand) const
 
SSARegister GetRawOperandAsSSARegister (size_t operand) const
 
SSARegisterStack GetRawOperandAsSSARegisterStack (size_t operand) const
 
SSARegisterStack GetRawOperandAsPartialSSARegisterStackSource (size_t operand) const
 
SSAFlag GetRawOperandAsSSAFlag (size_t operand) const
 
LowLevelILIndexList GetRawOperandAsIndexList (size_t operand) const
 
LowLevelILIndexMap GetRawOperandAsIndexMap (size_t operand) const
 
LowLevelILInstructionList GetRawOperandAsExprList (size_t operand) const
 
LowLevelILRegisterOrFlagList GetRawOperandAsRegisterOrFlagList (size_t operand) const
 
LowLevelILSSARegisterList GetRawOperandAsSSARegisterList (size_t operand) const
 
LowLevelILSSARegisterStackList GetRawOperandAsSSARegisterStackList (size_t operand) const
 
LowLevelILSSAFlagList GetRawOperandAsSSAFlagList (size_t operand) const
 
LowLevelILSSARegisterOrFlagList GetRawOperandAsSSARegisterOrFlagList (size_t operand) const
 
std::map< uint32_t, int32_t > GetRawOperandAsRegisterStackAdjustments (size_t operand) const
 
void UpdateRawOperand (size_t operandIndex, ExprId value)
 
void UpdateRawOperandAsSSARegisterList (size_t operandIndex, const std::vector< SSARegister > &regs)
 
void UpdateRawOperandAsSSARegisterOrFlagList (size_t operandIndex, const std::vector< SSARegisterOrFlag > &outputs)
 
RegisterValue GetValue () const
 
PossibleValueSet GetPossibleValues (const std::set< BNDataFlowQueryOption > &options=std::set< BNDataFlowQueryOption >()) const
 
RegisterValue GetRegisterValue (uint32_t reg)
 
RegisterValue GetRegisterValueAfter (uint32_t reg)
 
PossibleValueSet GetPossibleRegisterValues (uint32_t reg)
 
PossibleValueSet GetPossibleRegisterValuesAfter (uint32_t reg)
 
RegisterValue GetFlagValue (uint32_t flag)
 
RegisterValue GetFlagValueAfter (uint32_t flag)
 
PossibleValueSet GetPossibleFlagValues (uint32_t flag)
 
PossibleValueSet GetPossibleFlagValuesAfter (uint32_t flag)
 
RegisterValue GetStackContents (int32_t offset, size_t len)
 
RegisterValue GetStackContentsAfter (int32_t offset, size_t len)
 
PossibleValueSet GetPossibleStackContents (int32_t offset, size_t len)
 
PossibleValueSet GetPossibleStackContentsAfter (int32_t offset, size_t len)
 
size_t GetSSAInstructionIndex () const
 
size_t GetNonSSAInstructionIndex () const
 
size_t GetSSAExprIndex () const
 
size_t GetNonSSAExprIndex () const
 
LowLevelILInstruction GetSSAForm () const
 
LowLevelILInstruction GetNonSSAForm () const
 
size_t GetMediumLevelILInstructionIndex () const
 
size_t GetMediumLevelILExprIndex () const
 
size_t GetMappedMediumLevelILInstructionIndex () const
 
size_t GetMappedMediumLevelILExprIndex () const
 
bool HasMediumLevelIL () const
 
bool HasMappedMediumLevelIL () const
 
MediumLevelILInstruction GetMediumLevelIL () const
 
MediumLevelILInstruction GetMappedMediumLevelIL () const
 
void Replace (ExprId expr)
 
template<BNLowLevelILOperation N>
LowLevelILInstructionAccessor< N > & As ()
 
LowLevelILOneOperandInstructionAsOneOperand ()
 
LowLevelILTwoOperandInstructionAsTwoOperand ()
 
LowLevelILTwoOperandWithCarryInstructionAsTwoOperandWithCarry ()
 
template<BNLowLevelILOperation N>
const LowLevelILInstructionAccessor< N > & As () const
 
const LowLevelILConstantInstructionAsConstant () const
 
const LowLevelILOneOperandInstructionAsOneOperand () const
 
const LowLevelILTwoOperandInstructionAsTwoOperand () const
 
const LowLevelILTwoOperandWithCarryInstructionAsTwoOperandWithCarry () const
 

Public Attributes

Ref< LowLevelILFunctionfunction
 
size_t exprIndex
 
size_t instructionIndex
 
- Public Attributes inherited from BNLowLevelILInstruction
BNLowLevelILOperation operation
 
size_t size
 
uint32_t flags
 
uint32_t sourceOperand
 
uint64_t operands [4]
 
uint64_t address
 

Static Public Attributes

static std::unordered_map< LowLevelILOperandUsage, LowLevelILOperandTypeoperandTypeForUsage
 
static std::unordered_map< BNLowLevelILOperation, std::vector< LowLevelILOperandUsage > > operationOperandUsage
 
static std::unordered_map< BNLowLevelILOperation, std::unordered_map< LowLevelILOperandUsage, size_t > > operationOperandIndex = GetOperandIndexForOperandUsages()
 

Member Function Documentation

◆ As() [1/2]

template<BNLowLevelILOperation N>
LowLevelILInstructionAccessor< N > & BinaryNinja::LowLevelILInstructionBase::As ( )
inline

◆ As() [2/2]

template<BNLowLevelILOperation N>
const LowLevelILInstructionAccessor< N > & BinaryNinja::LowLevelILInstructionBase::As ( ) const
inline

◆ AsConstant()

const LowLevelILConstantInstruction & BinaryNinja::LowLevelILInstructionBase::AsConstant ( ) const
inline

◆ AsOneOperand() [1/2]

LowLevelILOneOperandInstruction & BinaryNinja::LowLevelILInstructionBase::AsOneOperand ( )
inline

◆ AsOneOperand() [2/2]

const LowLevelILOneOperandInstruction & BinaryNinja::LowLevelILInstructionBase::AsOneOperand ( ) const
inline

◆ AsTwoOperand() [1/2]

LowLevelILTwoOperandInstruction & BinaryNinja::LowLevelILInstructionBase::AsTwoOperand ( )
inline

◆ AsTwoOperand() [2/2]

const LowLevelILTwoOperandInstruction & BinaryNinja::LowLevelILInstructionBase::AsTwoOperand ( ) const
inline

◆ AsTwoOperandWithCarry() [1/2]

LowLevelILTwoOperandWithCarryInstruction & BinaryNinja::LowLevelILInstructionBase::AsTwoOperandWithCarry ( )
inline

◆ AsTwoOperandWithCarry() [2/2]

const LowLevelILTwoOperandWithCarryInstruction & BinaryNinja::LowLevelILInstructionBase::AsTwoOperandWithCarry ( ) const
inline

◆ GetFlagValue()

RegisterValue LowLevelILInstructionBase::GetFlagValue ( uint32_t  flag)

◆ GetFlagValueAfter()

RegisterValue LowLevelILInstructionBase::GetFlagValueAfter ( uint32_t  flag)

◆ GetMappedMediumLevelIL()

MediumLevelILInstruction LowLevelILInstructionBase::GetMappedMediumLevelIL ( ) const

◆ GetMappedMediumLevelILExprIndex()

size_t LowLevelILInstructionBase::GetMappedMediumLevelILExprIndex ( ) const

◆ GetMappedMediumLevelILInstructionIndex()

size_t LowLevelILInstructionBase::GetMappedMediumLevelILInstructionIndex ( ) const

◆ GetMediumLevelIL()

MediumLevelILInstruction LowLevelILInstructionBase::GetMediumLevelIL ( ) const

◆ GetMediumLevelILExprIndex()

size_t LowLevelILInstructionBase::GetMediumLevelILExprIndex ( ) const

◆ GetMediumLevelILInstructionIndex()

size_t LowLevelILInstructionBase::GetMediumLevelILInstructionIndex ( ) const

◆ GetNonSSAExprIndex()

size_t LowLevelILInstructionBase::GetNonSSAExprIndex ( ) const

◆ GetNonSSAForm()

LowLevelILInstruction LowLevelILInstructionBase::GetNonSSAForm ( ) const

◆ GetNonSSAInstructionIndex()

size_t LowLevelILInstructionBase::GetNonSSAInstructionIndex ( ) const

◆ GetOperands()

LowLevelILOperandList LowLevelILInstructionBase::GetOperands ( ) const

◆ GetPossibleFlagValues()

PossibleValueSet LowLevelILInstructionBase::GetPossibleFlagValues ( uint32_t  flag)

◆ GetPossibleFlagValuesAfter()

PossibleValueSet LowLevelILInstructionBase::GetPossibleFlagValuesAfter ( uint32_t  flag)

◆ GetPossibleRegisterValues()

PossibleValueSet LowLevelILInstructionBase::GetPossibleRegisterValues ( uint32_t  reg)

◆ GetPossibleRegisterValuesAfter()

PossibleValueSet LowLevelILInstructionBase::GetPossibleRegisterValuesAfter ( uint32_t  reg)

◆ GetPossibleStackContents()

PossibleValueSet LowLevelILInstructionBase::GetPossibleStackContents ( int32_t  offset,
size_t  len 
)

◆ GetPossibleStackContentsAfter()

PossibleValueSet LowLevelILInstructionBase::GetPossibleStackContentsAfter ( int32_t  offset,
size_t  len 
)

◆ GetPossibleValues()

PossibleValueSet LowLevelILInstructionBase::GetPossibleValues ( const std::set< BNDataFlowQueryOption > &  options = std::set <BNDataFlowQueryOption>()) const

◆ GetRawOperandAsExpr()

LowLevelILInstruction LowLevelILInstructionBase::GetRawOperandAsExpr ( size_t  operand) const

◆ GetRawOperandAsExprList()

LowLevelILInstructionList LowLevelILInstructionBase::GetRawOperandAsExprList ( size_t  operand) const

◆ GetRawOperandAsFlagCondition()

BNLowLevelILFlagCondition LowLevelILInstructionBase::GetRawOperandAsFlagCondition ( size_t  operand) const

◆ GetRawOperandAsIndex()

size_t LowLevelILInstructionBase::GetRawOperandAsIndex ( size_t  operand) const

◆ GetRawOperandAsIndexList()

LowLevelILIndexList LowLevelILInstructionBase::GetRawOperandAsIndexList ( size_t  operand) const

◆ GetRawOperandAsIndexMap()

LowLevelILIndexMap LowLevelILInstructionBase::GetRawOperandAsIndexMap ( size_t  operand) const

◆ GetRawOperandAsInteger()

uint64_t LowLevelILInstructionBase::GetRawOperandAsInteger ( size_t  operand) const

◆ GetRawOperandAsPartialSSARegisterStackSource()

SSARegisterStack LowLevelILInstructionBase::GetRawOperandAsPartialSSARegisterStackSource ( size_t  operand) const

◆ GetRawOperandAsRegister()

uint32_t LowLevelILInstructionBase::GetRawOperandAsRegister ( size_t  operand) const

◆ GetRawOperandAsRegisterOrFlagList()

LowLevelILRegisterOrFlagList LowLevelILInstructionBase::GetRawOperandAsRegisterOrFlagList ( size_t  operand) const

◆ GetRawOperandAsRegisterStackAdjustments()

map< uint32_t, int32_t > LowLevelILInstructionBase::GetRawOperandAsRegisterStackAdjustments ( size_t  operand) const

◆ GetRawOperandAsSSAFlag()

SSAFlag LowLevelILInstructionBase::GetRawOperandAsSSAFlag ( size_t  operand) const

◆ GetRawOperandAsSSAFlagList()

LowLevelILSSAFlagList LowLevelILInstructionBase::GetRawOperandAsSSAFlagList ( size_t  operand) const

◆ GetRawOperandAsSSARegister()

SSARegister LowLevelILInstructionBase::GetRawOperandAsSSARegister ( size_t  operand) const

◆ GetRawOperandAsSSARegisterList()

LowLevelILSSARegisterList LowLevelILInstructionBase::GetRawOperandAsSSARegisterList ( size_t  operand) const

◆ GetRawOperandAsSSARegisterOrFlagList()

LowLevelILSSARegisterOrFlagList LowLevelILInstructionBase::GetRawOperandAsSSARegisterOrFlagList ( size_t  operand) const

◆ GetRawOperandAsSSARegisterStack()

SSARegisterStack LowLevelILInstructionBase::GetRawOperandAsSSARegisterStack ( size_t  operand) const

◆ GetRawOperandAsSSARegisterStackList()

LowLevelILSSARegisterStackList LowLevelILInstructionBase::GetRawOperandAsSSARegisterStackList ( size_t  operand) const

◆ GetRegisterValue()

RegisterValue LowLevelILInstructionBase::GetRegisterValue ( uint32_t  reg)

◆ GetRegisterValueAfter()

RegisterValue LowLevelILInstructionBase::GetRegisterValueAfter ( uint32_t  reg)

◆ GetSSAExprIndex()

size_t LowLevelILInstructionBase::GetSSAExprIndex ( ) const

◆ GetSSAForm()

LowLevelILInstruction LowLevelILInstructionBase::GetSSAForm ( ) const

◆ GetSSAInstructionIndex()

size_t LowLevelILInstructionBase::GetSSAInstructionIndex ( ) const

◆ GetStackContents()

RegisterValue LowLevelILInstructionBase::GetStackContents ( int32_t  offset,
size_t  len 
)

◆ GetStackContentsAfter()

RegisterValue LowLevelILInstructionBase::GetStackContentsAfter ( int32_t  offset,
size_t  len 
)

◆ GetValue()

RegisterValue LowLevelILInstructionBase::GetValue ( ) const

◆ HasMappedMediumLevelIL()

bool LowLevelILInstructionBase::HasMappedMediumLevelIL ( ) const

◆ HasMediumLevelIL()

bool LowLevelILInstructionBase::HasMediumLevelIL ( ) const

◆ Replace()

void LowLevelILInstructionBase::Replace ( ExprId  expr)

◆ UpdateRawOperand()

void LowLevelILInstructionBase::UpdateRawOperand ( size_t  operandIndex,
ExprId  value 
)

◆ UpdateRawOperandAsSSARegisterList()

void LowLevelILInstructionBase::UpdateRawOperandAsSSARegisterList ( size_t  operandIndex,
const std::vector< SSARegister > &  regs 
)

◆ UpdateRawOperandAsSSARegisterOrFlagList()

void LowLevelILInstructionBase::UpdateRawOperandAsSSARegisterOrFlagList ( size_t  operandIndex,
const std::vector< SSARegisterOrFlag > &  outputs 
)

Member Data Documentation

◆ exprIndex

size_t BinaryNinja::LowLevelILInstructionBase::exprIndex

◆ function

Ref<LowLevelILFunction> BinaryNinja::LowLevelILInstructionBase::function

◆ instructionIndex

size_t BinaryNinja::LowLevelILInstructionBase::instructionIndex

◆ operandTypeForUsage

unordered_map< LowLevelILOperandUsage, LowLevelILOperandType > LowLevelILInstructionBase::operandTypeForUsage
static

◆ operationOperandIndex

unordered_map< BNLowLevelILOperation, unordered_map< LowLevelILOperandUsage, size_t > > LowLevelILInstructionBase::operationOperandIndex = GetOperandIndexForOperandUsages()
static

◆ operationOperandUsage

unordered_map< BNLowLevelILOperation, vector< LowLevelILOperandUsage > > LowLevelILInstructionBase::operationOperandUsage
static

The documentation for this struct was generated from the following files: