Binary Ninja API C++: High Level IL
◆ BinaryNinja::HighLevelILFunction
class BinaryNinja::HighLevelILFunction
◆ HighLevelILFunction() [1/2]
◆ HighLevelILFunction() [2/2]
◆ GetFunction()
◆ GetArchitecture()
◆ GetCurrentAddress()
| uint64_t HighLevelILFunction::GetCurrentAddress | ( | ) | const |
◆ SetCurrentAddress()
| void HighLevelILFunction::SetCurrentAddress | ( | Architecture * | arch, |
| uint64_t | addr ) |
◆ GetRootExpr()
| HighLevelILInstruction HighLevelILFunction::GetRootExpr | ( | ) |
◆ SetRootExpr() [1/2]
| void HighLevelILFunction::SetRootExpr | ( | ExprId | expr | ) |
◆ SetRootExpr() [2/2]
| void HighLevelILFunction::SetRootExpr | ( | const HighLevelILInstruction & | expr | ) |
◆ CachePossibleValueSet()
| size_t HighLevelILFunction::CachePossibleValueSet | ( | const PossibleValueSet & | pvs | ) |
◆ GetCachedPossibleValueSet()
◆ AddExpr()
◆ AddExprWithLocation() [1/2]
◆ AddExprWithLocation() [2/2]
◆ Nop()
◆ Block()
◆ If()
◆ While()
◆ WhileSSA()
◆ DoWhile()
◆ DoWhileSSA()
◆ For()
◆ ForSSA()
◆ Switch()
◆ Case()
◆ Break()
◆ Continue()
◆ Jump()
◆ Return()
◆ NoReturn()
◆ Unreachable()
◆ Goto()
◆ Label()
◆ VarDeclare()
◆ VarInit()
◆ VarInitSSA()
◆ Assign()
◆ AssignUnpack()
◆ AssignMemSSA()
◆ AssignUnpackMemSSA()
◆ ForceVer()
◆ ForceVerSSA()
◆ Assert()
◆ AssertSSA()
◆ Var()
◆ VarSSA()
◆ VarPhi()
◆ MemPhi()
◆ StructField()
◆ ArrayIndex()
◆ ArrayIndexSSA()
◆ Split()
◆ Deref()
◆ DerefField()
◆ DerefSSA()
◆ DerefFieldSSA()
◆ AddressOf()
◆ Const()
◆ ConstPointer()
◆ ExternPointer()
◆ FloatConstRaw()
◆ FloatConstSingle()
◆ FloatConstDouble()
◆ ImportedAddress()
◆ ConstData()
◆ Add()
◆ AddWithCarry()
◆ Sub()
◆ SubWithBorrow()
◆ And()
◆ Or()
◆ Xor()
◆ ShiftLeft()
◆ LogicalShiftRight()
◆ ArithShiftRight()
◆ RotateLeft()
◆ RotateLeftCarry()
◆ RotateRight()
◆ RotateRightCarry()
◆ Mult()
◆ MultDoublePrecSigned()
◆ MultDoublePrecUnsigned()
◆ DivSigned()
◆ DivUnsigned()
◆ DivDoublePrecSigned()
◆ DivDoublePrecUnsigned()
◆ ModSigned()
◆ ModUnsigned()
◆ ModDoublePrecSigned()
◆ ModDoublePrecUnsigned()
◆ Neg()
◆ Not()
◆ SignExtend()
◆ ZeroExtend()
◆ LowPart()
◆ Call()
◆ Syscall()
◆ TailCall()
◆ CallSSA()
◆ SyscallSSA()
◆ CompareEqual()
◆ CompareNotEqual()
◆ CompareSignedLessThan()
◆ CompareUnsignedLessThan()
◆ CompareSignedLessEqual()
◆ CompareUnsignedLessEqual()
◆ CompareSignedGreaterEqual()
◆ CompareUnsignedGreaterEqual()
◆ CompareSignedGreaterThan()
◆ CompareUnsignedGreaterThan()
◆ TestBit()
◆ BoolToInt()
◆ AddOverflow()
◆ Breakpoint()
◆ Trap()
◆ Intrinsic()
◆ IntrinsicSSA()
◆ Undefined()
◆ Unimplemented()
◆ UnimplementedMemoryRef()
◆ FloatAdd()
◆ FloatSub()
◆ FloatMult()
◆ FloatDiv()
◆ FloatSqrt()
◆ FloatNeg()
◆ FloatAbs()
◆ FloatToInt()
◆ IntToFloat()
◆ FloatConvert()
◆ RoundToInt()
◆ Floor()
◆ Ceil()
◆ FloatTrunc()
◆ FloatCompareEqual()
◆ FloatCompareNotEqual()
◆ FloatCompareLessThan()
◆ FloatCompareLessEqual()
◆ FloatCompareGreaterEqual()
◆ FloatCompareGreaterThan()
◆ FloatCompareOrdered()
◆ FloatCompareUnordered()
◆ GetOperandList()
| vector< uint64_t > HighLevelILFunction::GetOperandList | ( | ExprId | i, |
| size_t | listOperand ) |
◆ AddOperandList()
◆ AddIndexList()
| ExprId HighLevelILFunction::AddIndexList | ( | const std::vector< size_t > & | operands | ) |
◆ AddSSAVariableList()
| ExprId HighLevelILFunction::AddSSAVariableList | ( | const std::vector< SSAVariable > & | vars | ) |
◆ GetRawExpr()
◆ GetRawNonASTExpr()
◆ operator[]()
| HighLevelILInstruction HighLevelILFunction::operator[] | ( | size_t | i | ) |
◆ GetInstruction()
| HighLevelILInstruction HighLevelILFunction::GetInstruction | ( | size_t | i | ) |
◆ GetExpr()
| HighLevelILInstruction HighLevelILFunction::GetExpr | ( | size_t | i, |
| bool | asFullAst = true ) |
◆ GetIndexForInstruction()
| size_t HighLevelILFunction::GetIndexForInstruction | ( | size_t | i | ) | const |
◆ GetInstructionForExpr()
| size_t HighLevelILFunction::GetInstructionForExpr | ( | size_t | expr | ) | const |
◆ GetInstructionCount()
| size_t HighLevelILFunction::GetInstructionCount | ( | ) | const |
◆ GetExprCount()
| size_t HighLevelILFunction::GetExprCount | ( | ) | const |
◆ GetBasicBlocks()
| vector< Ref< BasicBlock > > HighLevelILFunction::GetBasicBlocks | ( | ) | const |
◆ GetBasicBlockForInstruction()
| Ref< BasicBlock > HighLevelILFunction::GetBasicBlockForInstruction | ( | size_t | i | ) | const |
◆ GetSSAForm()
| Ref< HighLevelILFunction > HighLevelILFunction::GetSSAForm | ( | ) | const |
◆ GetNonSSAForm()
| Ref< HighLevelILFunction > HighLevelILFunction::GetNonSSAForm | ( | ) | const |
◆ GetSSAInstructionIndex()
| size_t HighLevelILFunction::GetSSAInstructionIndex | ( | size_t | instr | ) | const |
◆ GetNonSSAInstructionIndex()
| size_t HighLevelILFunction::GetNonSSAInstructionIndex | ( | size_t | instr | ) | const |
◆ GetSSAExprIndex()
| size_t HighLevelILFunction::GetSSAExprIndex | ( | size_t | instr | ) | const |
◆ GetNonSSAExprIndex()
| size_t HighLevelILFunction::GetNonSSAExprIndex | ( | size_t | instr | ) | const |
◆ GetSSAVarDefinition()
| size_t HighLevelILFunction::GetSSAVarDefinition | ( | const SSAVariable & | var | ) | const |
◆ GetSSAMemoryDefinition()
| size_t HighLevelILFunction::GetSSAMemoryDefinition | ( | size_t | version | ) | const |
◆ GetSSAVarUses()
| set< size_t > HighLevelILFunction::GetSSAVarUses | ( | const SSAVariable & | var | ) | const |
◆ GetSSAMemoryUses()
| set< size_t > HighLevelILFunction::GetSSAMemoryUses | ( | size_t | version | ) | const |
◆ IsSSAVarLive()
| bool HighLevelILFunction::IsSSAVarLive | ( | const SSAVariable & | var | ) | const |
◆ IsSSAVarLiveAt()
| bool HighLevelILFunction::IsSSAVarLiveAt | ( | const SSAVariable & | var, |
| const size_t | instr ) const |
◆ IsVarLiveAt()
| bool HighLevelILFunction::IsVarLiveAt | ( | const Variable & | var, |
| const size_t | instr ) const |
◆ HasSideEffects()
|
static |
◆ GetExprScopeType()
|
static |
◆ GetVariableSSAVersions()
| set< size_t > HighLevelILFunction::GetVariableSSAVersions | ( | const Variable & | var | ) | const |
◆ GetVariableDefinitions()
| set< size_t > HighLevelILFunction::GetVariableDefinitions | ( | const Variable & | var | ) | const |
◆ GetVariableUses()
| set< size_t > HighLevelILFunction::GetVariableUses | ( | const Variable & | var | ) | const |
◆ GetSSAVarVersionAtInstruction()
| size_t HighLevelILFunction::GetSSAVarVersionAtInstruction | ( | const Variable & | var, |
| size_t | instr ) const |
◆ GetSSAMemoryVersionAtInstruction()
| size_t HighLevelILFunction::GetSSAMemoryVersionAtInstruction | ( | size_t | instr | ) | const |
◆ GetMediumLevelIL()
◆ GetMediumLevelILExprIndex()
| size_t HighLevelILFunction::GetMediumLevelILExprIndex | ( | size_t | expr | ) | const |
◆ GetMediumLevelILExprIndexes()
| set< size_t > HighLevelILFunction::GetMediumLevelILExprIndexes | ( | size_t | expr | ) | const |
◆ UpdateInstructionOperand()
| void HighLevelILFunction::UpdateInstructionOperand | ( | size_t | i, |
| size_t | operandIndex, | ||
| ExprId | value ) |
◆ ReplaceExpr()
| void HighLevelILFunction::ReplaceExpr | ( | size_t | expr, |
| size_t | newExpr ) |
◆ SetExprAttributes()
| void HighLevelILFunction::SetExprAttributes | ( | size_t | expr, |
| uint32_t | attributes ) |
◆ Finalize()
| void HighLevelILFunction::Finalize | ( | ) |
◆ GenerateSSAForm()
| void HighLevelILFunction::GenerateSSAForm | ( | const std::set< Variable > & | aliases = std::set<Variable>() | ) |
◆ GetExprText() [1/2]
◆ GetExprText() [2/2]
◆ GetInstructionText()
◆ GetExprType() [1/2]
◆ GetExprType() [2/2]
◆ SetExprType() [1/2]
| void HighLevelILFunction::SetExprType | ( | size_t | expr, |
| const Confidence< Ref< Type > > & | type ) |
SetExprType sets the type of a given expression.
- Warning
- This method 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 of the expression to set type new type of the expression
◆ SetExprType() [2/2]
◆ VisitAllExprs()
| void HighLevelILFunction::VisitAllExprs | ( | const std::function< bool(const HighLevelILInstruction &expr)> & | func | ) |
◆ CreateFunctionGraph()
◆ CreateFunctionGraphImmediate()
◆ GetExprIndexForLabel()
| size_t HighLevelILFunction::GetExprIndexForLabel | ( | uint64_t | label | ) |
◆ GetUsesForLabel()
| set< size_t > HighLevelILFunction::GetUsesForLabel | ( | uint64_t | label | ) |
◆ GetVariables()
| set< Variable > HighLevelILFunction::GetVariables | ( | ) |
◆ GetAliasedVariables()
| set< Variable > HighLevelILFunction::GetAliasedVariables | ( | ) |
◆ GetSSAVariables()
| set< SSAVariable > HighLevelILFunction::GetSSAVariables | ( | ) |
◆ SetDerivedStringReferenceForExpr()
| void HighLevelILFunction::SetDerivedStringReferenceForExpr | ( | size_t | expr, |
| const DerivedString & | str ) |
◆ RemoveDerivedStringReferenceForExpr()
| void HighLevelILFunction::RemoveDerivedStringReferenceForExpr | ( | size_t | expr | ) |
◆ GetDerivedStringReferenceForExpr()
| optional< DerivedString > HighLevelILFunction::GetDerivedStringReferenceForExpr | ( | size_t | expr | ) |
◆ BinaryNinja::LanguageRepresentationFunction
class BinaryNinja::LanguageRepresentationFunction
LanguageRepresentationFunction represents a single function in a registered high level language.
Public Member Functions | |
| LanguageRepresentationFunction (LanguageRepresentationFunctionType *type, Architecture *arch, Function *func, HighLevelILFunction *highLevelIL) | |
| LanguageRepresentationFunction (BNLanguageRepresentationFunction *func) | |
| std::vector< DisassemblyTextLine > | GetExprText (const HighLevelILInstruction &instr, DisassemblySettings *settings, BNOperatorPrecedence precedence=TopLevelOperatorPrecedence, bool statement=false) |
| Gets the lines of tokens for a given High Level IL instruction. | |
| std::vector< DisassemblyTextLine > | GetLinearLines (const HighLevelILInstruction &instr, DisassemblySettings *settings) |
| Generates lines for the given High Level IL instruction in the style of the linear view. | |
| std::vector< DisassemblyTextLine > | GetBlockLines (BasicBlock *block, DisassemblySettings *settings) |
| Generates lines for a single High Level IL basic block. | |
| BNHighlightColor | GetHighlight (BasicBlock *block) |
| Gets the highlight color for a given basic block. | |
| Ref< LanguageRepresentationFunctionType > | GetLanguage () const |
| Ref< Architecture > | GetArchitecture () const |
| Ref< Function > | GetFunction () const |
| Ref< HighLevelILFunction > | GetHighLevelILFunction () const |
| virtual std::string | GetCommentStartString () const |
| Gets the string representing the start of a comment. | |
| virtual std::string | GetCommentEndString () const |
| Gets the string representing the end of a comment. | |
| virtual std::string | GetAnnotationStartString () const |
| Gets the string representing the start of an annotation. | |
| virtual std::string | GetAnnotationEndString () const |
| Gets the string representing the end of an annotation. | |
| Public Member Functions inherited from BinaryNinja::CoreRefCountObject< BNLanguageRepresentationFunction, BNNewLanguageRepresentationFunctionReference, BNFreeLanguageRepresentationFunction > | |
| CoreRefCountObject () | |
| virtual | ~CoreRefCountObject () |
| BNLanguageRepresentationFunction * | GetObject () const |
| void | AddRef () |
| void | Release () |
| void | AddRefForRegistration () |
| void | ReleaseForRegistration () |
| void | AddRefForCallback () |
| void | ReleaseForCallback () |
Protected Member Functions | |
| virtual void | InitTokenEmitter (HighLevelILTokenEmitter &tokens) |
| Override this method to initialize the options for the token emitter before it is used. | |
| virtual void | GetExprText (const HighLevelILInstruction &instr, HighLevelILTokenEmitter &tokens, DisassemblySettings *settings, BNOperatorPrecedence precedence=TopLevelOperatorPrecedence, bool statement=false)=0 |
| This method must be overridden by all language representation plugins. | |
| virtual void | BeginLines (const HighLevelILInstruction &instr, HighLevelILTokenEmitter &tokens) |
| This method can be overridden to emit tokens at the start of a function. | |
| virtual void | EndLines (const HighLevelILInstruction &instr, HighLevelILTokenEmitter &tokens) |
| This method can be overridden to emit tokens at the end of a function. | |
◆ LanguageRepresentationFunction() [1/2]
| LanguageRepresentationFunction::LanguageRepresentationFunction | ( | LanguageRepresentationFunctionType * | type, |
| Architecture * | arch, | ||
| Function * | func, | ||
| HighLevelILFunction * | highLevelIL ) |
◆ LanguageRepresentationFunction() [2/2]
◆ GetExprText() [1/2]
Gets the lines of tokens for a given High Level IL instruction.
- Parameters
-
instr The instruction to emit lines for. settings The settings for disassembly (optional). precedence The current operator precedence level. statement Whether the instruction is a statement or an expression.
- Returns
- A list of lines of tokens for the instruction.
◆ GetLinearLines()
Generates lines for the given High Level IL instruction in the style of the linear view.
To get the lines for the entire function, pass the root instruction of a HighLevelILFunction.
- Parameters
-
instr The instruction to emit lines for. settings The settings for disassembly (optional).
- Returns
- A list of lines of tokens for the instruction.
◆ GetBlockLines()
Generates lines for a single High Level IL basic block.
- Parameters
-
block The basic block to emit lines for. settings The settings for disassembly (optional).
- Returns
- A list of lines of tokens for the basic block.
◆ GetHighlight()
Gets the highlight color for a given basic block.
- Parameters
-
block The basic block to get the highlight color for.
- Returns
- The highlight color for the basic block.
◆ GetLanguage()
| Ref< LanguageRepresentationFunctionType > LanguageRepresentationFunction::GetLanguage | ( | ) | const |
◆ GetArchitecture()
| Ref< Architecture > LanguageRepresentationFunction::GetArchitecture | ( | ) | const |
◆ GetFunction()
◆ GetHighLevelILFunction()
| Ref< HighLevelILFunction > LanguageRepresentationFunction::GetHighLevelILFunction | ( | ) | const |
◆ GetCommentStartString()
|
inlinevirtual |
Gets the string representing the start of a comment.
- Returns
- The string representing the start of a comment.
Reimplemented in BinaryNinja::CoreLanguageRepresentationFunction.
◆ GetCommentEndString()
|
inlinevirtual |
Gets the string representing the end of a comment.
- Returns
- The string representing the end of a comment.
Reimplemented in BinaryNinja::CoreLanguageRepresentationFunction.
◆ GetAnnotationStartString()
|
inlinevirtual |
Gets the string representing the start of an annotation.
- Returns
- The string representing the start of an annotation.
Reimplemented in BinaryNinja::CoreLanguageRepresentationFunction.
◆ GetAnnotationEndString()
|
inlinevirtual |
Gets the string representing the end of an annotation.
- Returns
- The string representing the end of an annotation.
Reimplemented in BinaryNinja::CoreLanguageRepresentationFunction.
◆ InitTokenEmitter()
|
protectedvirtual |
Override this method to initialize the options for the token emitter before it is used.
- Parameters
-
tokens The token emitter to initialize.
◆ GetExprText() [2/2]
This method must be overridden by all language representation plugins.
This method is called to emit the tokens for a given High Level IL instruction.
- Parameters
-
instr The instruction to emit tokens for. tokens The token emitter to use. settings The disassembly settings to use (may be NULL). precedence The current operator precedence level. statement Whether the instruction is a statement or an expression.
Implemented in BinaryNinja::CoreLanguageRepresentationFunction.
◆ BeginLines()
|
protectedvirtual |
This method can be overridden to emit tokens at the start of a function.
- Parameters
-
instr The root instruction of the function. tokens The token emitter to use.
◆ EndLines()
|
protectedvirtual |
This method can be overridden to emit tokens at the end of a function.
- Parameters
-
instr The root instruction of the function. tokens The token emitter to use.
◆ BinaryNinja::CoreLanguageRepresentationFunction
class BinaryNinja::CoreLanguageRepresentationFunction
Public Member Functions | |
| CoreLanguageRepresentationFunction (BNLanguageRepresentationFunction *func) | |
| std::string | GetCommentStartString () const override |
| Gets the string representing the start of a comment. | |
| std::string | GetCommentEndString () const override |
| Gets the string representing the end of a comment. | |
| std::string | GetAnnotationStartString () const override |
| Gets the string representing the start of an annotation. | |
| std::string | GetAnnotationEndString () const override |
| Gets the string representing the end of an annotation. | |
| Public Member Functions inherited from BinaryNinja::LanguageRepresentationFunction | |
| LanguageRepresentationFunction (LanguageRepresentationFunctionType *type, Architecture *arch, Function *func, HighLevelILFunction *highLevelIL) | |
| LanguageRepresentationFunction (BNLanguageRepresentationFunction *func) | |
| std::vector< DisassemblyTextLine > | GetExprText (const HighLevelILInstruction &instr, DisassemblySettings *settings, BNOperatorPrecedence precedence=TopLevelOperatorPrecedence, bool statement=false) |
| Gets the lines of tokens for a given High Level IL instruction. | |
| std::vector< DisassemblyTextLine > | GetLinearLines (const HighLevelILInstruction &instr, DisassemblySettings *settings) |
| Generates lines for the given High Level IL instruction in the style of the linear view. | |
| std::vector< DisassemblyTextLine > | GetBlockLines (BasicBlock *block, DisassemblySettings *settings) |
| Generates lines for a single High Level IL basic block. | |
| BNHighlightColor | GetHighlight (BasicBlock *block) |
| Gets the highlight color for a given basic block. | |
| Ref< LanguageRepresentationFunctionType > | GetLanguage () const |
| Ref< Architecture > | GetArchitecture () const |
| Ref< Function > | GetFunction () const |
| Ref< HighLevelILFunction > | GetHighLevelILFunction () const |
| Public Member Functions inherited from BinaryNinja::CoreRefCountObject< BNLanguageRepresentationFunction, BNNewLanguageRepresentationFunctionReference, BNFreeLanguageRepresentationFunction > | |
| CoreRefCountObject () | |
| virtual | ~CoreRefCountObject () |
| BNLanguageRepresentationFunction * | GetObject () const |
| void | AddRef () |
| void | Release () |
| void | AddRefForRegistration () |
| void | ReleaseForRegistration () |
| void | AddRefForCallback () |
| void | ReleaseForCallback () |
Protected Member Functions | |
| void | GetExprText (const HighLevelILInstruction &instr, HighLevelILTokenEmitter &tokens, DisassemblySettings *settings, BNOperatorPrecedence precedence=TopLevelOperatorPrecedence, bool statement=false) override |
| This method must be overridden by all language representation plugins. | |
| Protected Member Functions inherited from BinaryNinja::LanguageRepresentationFunction | |
| virtual void | InitTokenEmitter (HighLevelILTokenEmitter &tokens) |
| Override this method to initialize the options for the token emitter before it is used. | |
| virtual void | BeginLines (const HighLevelILInstruction &instr, HighLevelILTokenEmitter &tokens) |
| This method can be overridden to emit tokens at the start of a function. | |
| virtual void | EndLines (const HighLevelILInstruction &instr, HighLevelILTokenEmitter &tokens) |
| This method can be overridden to emit tokens at the end of a function. | |
◆ CoreLanguageRepresentationFunction()
◆ GetCommentStartString()
|
overridevirtual |
Gets the string representing the start of a comment.
- Returns
- The string representing the start of a comment.
Reimplemented from BinaryNinja::LanguageRepresentationFunction.
◆ GetCommentEndString()
|
overridevirtual |
Gets the string representing the end of a comment.
- Returns
- The string representing the end of a comment.
Reimplemented from BinaryNinja::LanguageRepresentationFunction.
◆ GetAnnotationStartString()
|
overridevirtual |
Gets the string representing the start of an annotation.
- Returns
- The string representing the start of an annotation.
Reimplemented from BinaryNinja::LanguageRepresentationFunction.
◆ GetAnnotationEndString()
|
overridevirtual |
Gets the string representing the end of an annotation.
- Returns
- The string representing the end of an annotation.
Reimplemented from BinaryNinja::LanguageRepresentationFunction.
◆ GetExprText()
This method must be overridden by all language representation plugins.
This method is called to emit the tokens for a given High Level IL instruction.
- Parameters
-
instr The instruction to emit tokens for. tokens The token emitter to use. settings The disassembly settings to use (may be NULL). precedence The current operator precedence level. statement Whether the instruction is a statement or an expression.
Implements BinaryNinja::LanguageRepresentationFunction.
◆ BinaryNinja::LanguageRepresentationFunctionType
class BinaryNinja::LanguageRepresentationFunctionType
LanguageRepresentationFunctionType represents a custom language representation function type.
This class provides methods to create LanguageRepresentationFunction instances for functions, as well as manage the printing and parsing of types.
Public Member Functions | |
| LanguageRepresentationFunctionType (const std::string &name) | |
| LanguageRepresentationFunctionType (BNLanguageRepresentationFunctionType *type) | |
| std::string | GetName () const |
| virtual Ref< LanguageRepresentationFunction > | Create (Architecture *arch, Function *owner, HighLevelILFunction *highLevelIL)=0 |
| This method must be overridden. | |
| virtual bool | IsValid (BinaryView *view) |
| Returns whether the language is valid for the given binary view. | |
| virtual Ref< TypePrinter > | GetTypePrinter () |
| Returns the type printer for displaying types in this language. | |
| virtual Ref< TypeParser > | GetTypeParser () |
| Returns the type parser for parsing types in this language. | |
| virtual Ref< LineFormatter > | GetLineFormatter () |
| Returns the line formatter for formatting code in this language. | |
| virtual std::vector< DisassemblyTextLine > | GetFunctionTypeTokens (Function *func, DisassemblySettings *settings=nullptr) |
| Returns a list of lines representing a function prototype in this language. | |
| Public Member Functions inherited from BinaryNinja::StaticCoreRefCountObject< BNLanguageRepresentationFunctionType > | |
| StaticCoreRefCountObject () | |
| virtual | ~StaticCoreRefCountObject () |
| BNLanguageRepresentationFunctionType * | GetObject () const |
| void | AddRef () |
| void | Release () |
| void | AddRefForRegistration () |
| void | AddRefForCallback () |
| void | ReleaseForCallback () |
Static Public Member Functions | |
| static void | Register (LanguageRepresentationFunctionType *type) |
| Registers the language representation function type. | |
| static Ref< LanguageRepresentationFunctionType > | GetByName (const std::string &name) |
| static bool | IsValidByName (const std::string &name, BinaryView *view) |
| static std::vector< Ref< LanguageRepresentationFunctionType > > | GetTypes () |
◆ LanguageRepresentationFunctionType() [1/2]
| LanguageRepresentationFunctionType::LanguageRepresentationFunctionType | ( | const std::string & | name | ) |
◆ LanguageRepresentationFunctionType() [2/2]
◆ GetName()
| string LanguageRepresentationFunctionType::GetName | ( | ) | const |
◆ Create()
|
pure virtual |
This method must be overridden.
This creates the LanguageRepresentationFunction object for the given architecture, owner function, and High Level IL function.
- Parameters
-
arch The architecture of the function. owner The associated function. highLevelIL The High Level IL for the function.
- Returns
- A LanguageRepresentationFunction instance for the given function.
Implemented in BinaryNinja::CoreLanguageRepresentationFunctionType.
◆ IsValid()
|
virtual |
Returns whether the language is valid for the given binary view.
- Parameters
-
view The binary view to check the validity for.
- Returns
- True if the language is valid for the given binary view, false otherwise.
Reimplemented in BinaryNinja::CoreLanguageRepresentationFunctionType.
◆ GetTypePrinter()
|
inlinevirtual |
Returns the type printer for displaying types in this language.
If NULL is returned, the default type printer will be used.
- Returns
- The optional type printer for displaying types in this language.
Reimplemented in BinaryNinja::CoreLanguageRepresentationFunctionType.
◆ GetTypeParser()
|
inlinevirtual |
Returns the type parser for parsing types in this language.
If NULL is returned, the default type parser will be used.
- Returns
- The optional type parser for parsing types in this language.
Reimplemented in BinaryNinja::CoreLanguageRepresentationFunctionType.
◆ GetLineFormatter()
|
inlinevirtual |
Returns the line formatter for formatting code in this language.
If NULL is returned, the default formatter will be used.
- Returns
- The optional formatter for formatting code in this language.
Reimplemented in BinaryNinja::CoreLanguageRepresentationFunctionType.
◆ GetFunctionTypeTokens()
Returns a list of lines representing a function prototype in this language.
If no lines are returned, the default C-style prototype will be used.
- Parameters
-
func The function to get the prototype lines for. settings The disassembly settings to use (may be NULL).
- Returns
- An optional vector of lines representing the function prototype.
Reimplemented in BinaryNinja::CoreLanguageRepresentationFunctionType.
◆ Register()
|
static |
Registers the language representation function type.
- Parameters
-
type The language representation function type to register.
◆ GetByName()
|
static |
◆ IsValidByName()
|
static |
◆ GetTypes()
|
static |
◆ BinaryNinja::HighLevelILTokenEmitter
class BinaryNinja::HighLevelILTokenEmitter
HighLevelILTokenEmitter contains methods for emitting text tokens for High Level IL instructions.
Methods are provided for typical patterns found in various high level languages.
This class cannot be instantiated directly. An instance of the class will be provided when the methods in LanguageRepresentationFunction are called.
Public Member Functions | |
| HighLevelILTokenEmitter (BNHighLevelILTokenEmitter *emitter) | |
| template<typename... Args> | |
| void | Append (Args &&... args) |
| Appends a token to the output. | |
| void | PrependCollapseIndicator () |
| void | PrependCollapseIndicator (Ref< Function > function, const HighLevelILInstruction &instr, uint64_t designator=0) |
| void | PrependCollapseIndicator (BNInstructionTextTokenContext context, uint64_t hash) |
| bool | HasCollapsableRegions () |
| void | SetHasCollapsableRegions (bool state) |
| void | InitLine () |
| Starts a new line in the output. | |
| void | NewLine () |
| Starts a new line in the output. | |
| void | IncreaseIndent () |
| Increases the indentation level by one. | |
| void | DecreaseIndent () |
| Decreases the indentation level by one. | |
| void | ScopeSeparator () |
| Indicates that visual separation of scopes is desirable at the current position. | |
| void | BeginScope (BNScopeType scopeType) |
| Begins a new scope. | |
| void | EndScope (BNScopeType scopeType) |
| Ends the current scope. | |
| void | ScopeContinuation (bool forceSameLine) |
| Continues the previous scope with a new associated scope. | |
| void | FinalizeScope () |
| Finalizes the previous scope, indicating that there are no more associated scopes. | |
| void | NoIndentForThisLine () |
| Forces there to be no indentation for the next line. | |
| void | BeginForceZeroConfidence () |
| Begins a region of tokens that always have zero confidence. | |
| void | EndForceZeroConfidence () |
| Ends a region of tokens that always have zero confidence. | |
| CurrentExprGuard | SetCurrentExpr (const HighLevelILInstruction &expr) |
| Sets the current expression. | |
| void | Finalize () |
| Finalizes the outputted lines. | |
| void | AppendOpenParen () |
| void | AppendCloseParen () |
| void | AppendOpenBracket () |
| void | AppendCloseBracket () |
| void | AppendOpenBrace () |
| void | AppendCloseBrace () |
| void | AppendSemicolon () |
| std::vector< InstructionTextToken > | GetCurrentTokens () const |
| Returns the list of tokens on the current line. | |
| void | SetCurrentTokens (const std::vector< InstructionTextToken > &newTokens) |
| Set the list of tokens on the current line. | |
| void | SetBraceRequirement (BNBraceRequirement required) |
| Sets the requirement for insertion of braces around scopes in the output. | |
| void | SetBracesAroundSwitchCases (bool braces) |
| Sets whether cases within switch statements should always have braces around them. | |
| void | SetDefaultBracesOnSameLine (bool sameLine) |
| Sets whether braces should default to being on the same line as the statement that begins the scope. | |
| void | SetSimpleScopeAllowed (bool allowed) |
| Sets whether omitting braces around single-line scopes is allowed. | |
| BNBraceRequirement | GetBraceRequirement () const |
| bool | HasBracesAroundSwitchCases () const |
| bool | GetDefaultBracesOnSameLine () const |
| size_t | GetMaxTernarySimplificationTokens () const |
| Gets the maximum number of tokens to emit as a ternary operation. | |
| bool | IsSimpleScopeAllowed () const |
| std::vector< DisassemblyTextLine > | GetLines () const |
| Gets the list of lines in the output. | |
| void | AppendSizeToken (size_t size, BNInstructionTextTokenType type) |
| Appends a size token for the given size in the High Level IL syntax. | |
| void | AppendFloatSizeToken (size_t size, BNInstructionTextTokenType type) |
| Appends a floating point size token for the given size in the High Level IL syntax. | |
| void | AppendVarTextToken (const Variable &var, const HighLevelILInstruction &instr, size_t size) |
| Appends tokens for access to a variable. | |
| void | AppendIntegerTextToken (const HighLevelILInstruction &instr, int64_t val, size_t size) |
| Appends tokens for a constant intenger value. | |
| void | AppendArrayIndexToken (const HighLevelILInstruction &instr, int64_t val, size_t size, uint64_t address=0) |
| Appends tokens for accessing an array by constant index. | |
| BNSymbolDisplayResult | AppendPointerTextToken (const HighLevelILInstruction &instr, int64_t val, DisassemblySettings *settings, BNSymbolDisplayType symbolDisplay, BNOperatorPrecedence precedence, bool allowShortString=false) |
| Appends tokens for displaying a constant pointer value. | |
| void | AppendConstantTextToken (const HighLevelILInstruction &instr, int64_t val, size_t size, DisassemblySettings *settings, BNOperatorPrecedence precedence) |
| Appends tokens for a constant value. | |
| Public Member Functions inherited from BinaryNinja::CoreRefCountObject< BNHighLevelILTokenEmitter, BNNewHighLevelILTokenEmitterReference, BNFreeHighLevelILTokenEmitter > | |
| CoreRefCountObject () | |
| virtual | ~CoreRefCountObject () |
| BNHighLevelILTokenEmitter * | GetObject () const |
| void | AddRef () |
| void | Release () |
| void | AddRefForRegistration () |
| void | ReleaseForRegistration () |
| void | AddRefForCallback () |
| void | ReleaseForCallback () |
Static Public Member Functions | |
| static void | AddNamesForOuterStructureMembers (BinaryView *data, Type *type, const HighLevelILInstruction &var, std::vector< std::string > &nameList) |
| Prepends the list of names for the outer structure members when accessing a structure member. | |
◆ HighLevelILTokenEmitter()
◆ Append()
template<typename... Args>
|
inline |
Appends a token to the output.
◆ PrependCollapseIndicator() [1/3]
| void HighLevelILTokenEmitter::PrependCollapseIndicator | ( | ) |
◆ PrependCollapseIndicator() [2/3]
| void HighLevelILTokenEmitter::PrependCollapseIndicator | ( | Ref< Function > | function, |
| const HighLevelILInstruction & | instr, | ||
| uint64_t | designator = 0 ) |
◆ PrependCollapseIndicator() [3/3]
◆ HasCollapsableRegions()
| bool HighLevelILTokenEmitter::HasCollapsableRegions | ( | ) |
◆ SetHasCollapsableRegions()
| void HighLevelILTokenEmitter::SetHasCollapsableRegions | ( | bool | state | ) |
◆ InitLine()
| void HighLevelILTokenEmitter::InitLine | ( | ) |
Starts a new line in the output.
◆ NewLine()
| void HighLevelILTokenEmitter::NewLine | ( | ) |
Starts a new line in the output.
◆ IncreaseIndent()
| void HighLevelILTokenEmitter::IncreaseIndent | ( | ) |
Increases the indentation level by one.
◆ DecreaseIndent()
| void HighLevelILTokenEmitter::DecreaseIndent | ( | ) |
Decreases the indentation level by one.
◆ ScopeSeparator()
| void HighLevelILTokenEmitter::ScopeSeparator | ( | ) |
Indicates that visual separation of scopes is desirable at the current position.
By default, this will insert a blank line, but this can be configured by the user.
◆ BeginScope()
| void HighLevelILTokenEmitter::BeginScope | ( | BNScopeType | scopeType | ) |
Begins a new scope.
Insertion of newlines and braces will be handled using the current settings.
- Parameters
-
scopeType Type of scope to be started.
◆ EndScope()
| void HighLevelILTokenEmitter::EndScope | ( | BNScopeType | scopeType | ) |
Ends the current scope.
- Parameters
-
scopeType Type of scope passed to BeginScope.
◆ ScopeContinuation()
| void HighLevelILTokenEmitter::ScopeContinuation | ( | bool | forceSameLine | ) |
Continues the previous scope with a new associated scope.
This is most commonly used for else statements.
- Parameters
-
forceSameLine If true, the continuation will always be placed on the same line as the previous scope.
◆ FinalizeScope()
| void HighLevelILTokenEmitter::FinalizeScope | ( | ) |
Finalizes the previous scope, indicating that there are no more associated scopes.
◆ NoIndentForThisLine()
| void HighLevelILTokenEmitter::NoIndentForThisLine | ( | ) |
Forces there to be no indentation for the next line.
◆ BeginForceZeroConfidence()
| void HighLevelILTokenEmitter::BeginForceZeroConfidence | ( | ) |
Begins a region of tokens that always have zero confidence.
◆ EndForceZeroConfidence()
| void HighLevelILTokenEmitter::EndForceZeroConfidence | ( | ) |
Ends a region of tokens that always have zero confidence.
◆ SetCurrentExpr()
| HighLevelILTokenEmitter::CurrentExprGuard HighLevelILTokenEmitter::SetCurrentExpr | ( | const HighLevelILInstruction & | expr | ) |
Sets the current expression.
When the returned guard object goes out of scope, the previously set expression becomes active again.
- Parameters
-
expr Expression to set as the current expression.
- Returns
- Guard object to manage the current expression.
◆ Finalize()
| void HighLevelILTokenEmitter::Finalize | ( | ) |
Finalizes the outputted lines.
◆ AppendOpenParen()
| void HighLevelILTokenEmitter::AppendOpenParen | ( | ) |
◆ AppendCloseParen()
| void HighLevelILTokenEmitter::AppendCloseParen | ( | ) |
◆ AppendOpenBracket()
| void HighLevelILTokenEmitter::AppendOpenBracket | ( | ) |
◆ AppendCloseBracket()
| void HighLevelILTokenEmitter::AppendCloseBracket | ( | ) |
◆ AppendOpenBrace()
| void HighLevelILTokenEmitter::AppendOpenBrace | ( | ) |
◆ AppendCloseBrace()
| void HighLevelILTokenEmitter::AppendCloseBrace | ( | ) |
◆ AppendSemicolon()
| void HighLevelILTokenEmitter::AppendSemicolon | ( | ) |
◆ GetCurrentTokens()
Returns the list of tokens on the current line.
◆ SetCurrentTokens()
| void HighLevelILTokenEmitter::SetCurrentTokens | ( | const std::vector< InstructionTextToken > & | newTokens | ) |
Set the list of tokens on the current line.
◆ SetBraceRequirement()
Sets the requirement for insertion of braces around scopes in the output.
◆ SetBracesAroundSwitchCases()
| void HighLevelILTokenEmitter::SetBracesAroundSwitchCases | ( | bool | braces | ) |
Sets whether cases within switch statements should always have braces around them.
◆ SetDefaultBracesOnSameLine()
| void HighLevelILTokenEmitter::SetDefaultBracesOnSameLine | ( | bool | sameLine | ) |
Sets whether braces should default to being on the same line as the statement that begins the scope.
If the user has explicitly set a preference, this setting will be ignored and the user's preference will be used instead.
◆ SetSimpleScopeAllowed()
| void HighLevelILTokenEmitter::SetSimpleScopeAllowed | ( | bool | allowed | ) |
Sets whether omitting braces around single-line scopes is allowed.
◆ GetBraceRequirement()
◆ HasBracesAroundSwitchCases()
| bool HighLevelILTokenEmitter::HasBracesAroundSwitchCases | ( | ) | const |
◆ GetDefaultBracesOnSameLine()
| bool HighLevelILTokenEmitter::GetDefaultBracesOnSameLine | ( | ) | const |
◆ GetMaxTernarySimplificationTokens()
| size_t HighLevelILTokenEmitter::GetMaxTernarySimplificationTokens | ( | ) | const |
Gets the maximum number of tokens to emit as a ternary operation.
◆ IsSimpleScopeAllowed()
| bool HighLevelILTokenEmitter::IsSimpleScopeAllowed | ( | ) | const |
◆ GetLines()
Gets the list of lines in the output.
◆ AppendSizeToken()
Appends a size token for the given size in the High Level IL syntax.
- Parameters
-
size Size in bytes. type Token type to append.
◆ AppendFloatSizeToken()
Appends a floating point size token for the given size in the High Level IL syntax.
- Parameters
-
size Size in bytes. type Token type to append.
◆ AppendVarTextToken()
| void HighLevelILTokenEmitter::AppendVarTextToken | ( | const Variable & | var, |
| const HighLevelILInstruction & | instr, | ||
| size_t | size ) |
Appends tokens for access to a variable.
- Parameters
-
var Variable to access. instr Instruction that accesses the variable. size Size in bytes.
◆ AppendIntegerTextToken()
| void HighLevelILTokenEmitter::AppendIntegerTextToken | ( | const HighLevelILInstruction & | instr, |
| int64_t | val, | ||
| size_t | size ) |
Appends tokens for a constant intenger value.
- Parameters
-
instr Instruction that references the value. val Integer value. size Size in bytes.
◆ AppendArrayIndexToken()
| void HighLevelILTokenEmitter::AppendArrayIndexToken | ( | const HighLevelILInstruction & | instr, |
| int64_t | val, | ||
| size_t | size, | ||
| uint64_t | address = 0 ) |
Appends tokens for accessing an array by constant index.
- Parameters
-
instr Instruction that accesses the array. val Index value. size Size in bytes. address Optional address override.
◆ AppendPointerTextToken()
Appends tokens for displaying a constant pointer value.
- Parameters
-
instr Instruction that references the pointer. val Pointer value. settings Settings for disassembly (may be NULL). symbolDisplay Symbol display type. precedence Current operator precedence level. allowShortString If true, show as a string even if it is short.
- Returns
- Type of symbol resolved if any.
◆ AppendConstantTextToken()
Appends tokens for a constant value.
- Parameters
-
instr Instruction that references the value. val Constant value. size Size in bytes. settings Settings for disassembly (may be NULL). precedence Current operator precedence level.
◆ AddNamesForOuterStructureMembers()
|
static |
Prepends the list of names for the outer structure members when accessing a structure member.
This list can be passed as the list of type names in tokens.
◆ BinaryNinja::HighLevelILTokenEmitter::CurrentExprGuard
class BinaryNinja::HighLevelILTokenEmitter::CurrentExprGuard
◆ CurrentExprGuard()
| HighLevelILTokenEmitter::CurrentExprGuard::CurrentExprGuard | ( | HighLevelILTokenEmitter & | parent, |
| const BNTokenEmitterExpr & | expr ) |
◆ ~CurrentExprGuard()
| HighLevelILTokenEmitter::CurrentExprGuard::~CurrentExprGuard | ( | ) |
◆ BinaryNinja::HighLevelILInstructionAccessException
class BinaryNinja::HighLevelILInstructionAccessException
◆ BinaryNinja::HighLevelILIntegerList
class BinaryNinja::HighLevelILIntegerList
Public Types | |
| typedef ListIterator | const_iterator |
Public Member Functions | |
| HighLevelILIntegerList (HighLevelILFunction *func, const BNHighLevelILInstruction &instr, size_t count) | |
| const_iterator | begin () const |
| const_iterator | end () const |
| size_t | size () const |
| uint64_t | operator[] (size_t i) const |
| operator std::vector< uint64_t > () const | |
◆ const_iterator
◆ HighLevelILIntegerList()
◆ begin()
| HighLevelILIntegerList::const_iterator HighLevelILIntegerList::begin | ( | ) | const |
◆ end()
| HighLevelILIntegerList::const_iterator HighLevelILIntegerList::end | ( | ) | const |
◆ size()
| size_t HighLevelILIntegerList::size | ( | ) | const |
◆ operator[]()
| uint64_t HighLevelILIntegerList::operator[] | ( | size_t | i | ) | const |
◆ operator std::vector< uint64_t >()
| BinaryNinja::HighLevelILIntegerList::operator std::vector< uint64_t > | ( | ) | const |
◆ BinaryNinja::HighLevelILIndexList
class BinaryNinja::HighLevelILIndexList
Public Types | |
| typedef ListIterator | const_iterator |
Public Member Functions | |
| HighLevelILIndexList (HighLevelILFunction *func, const BNHighLevelILInstruction &instr, size_t count) | |
| const_iterator | begin () const |
| const_iterator | end () const |
| size_t | size () const |
| size_t | operator[] (size_t i) const |
| operator std::vector< size_t > () const | |
◆ const_iterator
◆ HighLevelILIndexList()
◆ begin()
| HighLevelILIndexList::const_iterator HighLevelILIndexList::begin | ( | ) | const |
◆ end()
| HighLevelILIndexList::const_iterator HighLevelILIndexList::end | ( | ) | const |
◆ size()
| size_t HighLevelILIndexList::size | ( | ) | const |
◆ operator[]()
| size_t HighLevelILIndexList::operator[] | ( | size_t | i | ) | const |
◆ operator std::vector< size_t >()
| BinaryNinja::HighLevelILIndexList::operator std::vector< size_t > | ( | ) | const |
◆ BinaryNinja::HighLevelILInstructionList
class BinaryNinja::HighLevelILInstructionList
Public Types | |
| typedef ListIterator | const_iterator |
Public Member Functions | |
| HighLevelILInstructionList (HighLevelILFunction *func, const BNHighLevelILInstruction &instr, size_t count, bool asFullAst, size_t instructionIndex) | |
| const_iterator | begin () const |
| const_iterator | end () const |
| size_t | size () const |
| const HighLevelILInstruction | operator[] (size_t i) const |
| operator std::vector< HighLevelILInstruction > () const | |
◆ const_iterator
◆ HighLevelILInstructionList()
| HighLevelILInstructionList::HighLevelILInstructionList | ( | HighLevelILFunction * | func, |
| const BNHighLevelILInstruction & | instr, | ||
| size_t | count, | ||
| bool | asFullAst, | ||
| size_t | instructionIndex ) |
◆ begin()
| HighLevelILInstructionList::const_iterator HighLevelILInstructionList::begin | ( | ) | const |
◆ end()
| HighLevelILInstructionList::const_iterator HighLevelILInstructionList::end | ( | ) | const |
◆ size()
| size_t HighLevelILInstructionList::size | ( | ) | const |
◆ operator[]()
| const HighLevelILInstruction HighLevelILInstructionList::operator[] | ( | size_t | i | ) | const |
◆ operator std::vector< HighLevelILInstruction >()
| BinaryNinja::HighLevelILInstructionList::operator std::vector< HighLevelILInstruction > | ( | ) | const |
◆ BinaryNinja::HighLevelILSSAVariableList
class BinaryNinja::HighLevelILSSAVariableList
Public Types | |
| typedef ListIterator | const_iterator |
Public Member Functions | |
| HighLevelILSSAVariableList (HighLevelILFunction *func, const BNHighLevelILInstruction &instr, size_t count) | |
| const_iterator | begin () const |
| const_iterator | end () const |
| size_t | size () const |
| const SSAVariable | operator[] (size_t i) const |
| operator std::vector< SSAVariable > () const | |
◆ const_iterator
◆ HighLevelILSSAVariableList()
◆ begin()
| HighLevelILSSAVariableList::const_iterator HighLevelILSSAVariableList::begin | ( | ) | const |
◆ end()
| HighLevelILSSAVariableList::const_iterator HighLevelILSSAVariableList::end | ( | ) | const |
◆ size()
| size_t HighLevelILSSAVariableList::size | ( | ) | const |
◆ operator[]()
| const SSAVariable HighLevelILSSAVariableList::operator[] | ( | size_t | i | ) | const |
◆ operator std::vector< SSAVariable >()
| BinaryNinja::HighLevelILSSAVariableList::operator std::vector< SSAVariable > | ( | ) | const |
◆ BinaryNinja::HighLevelILInstructionBase
struct BinaryNinja::HighLevelILInstructionBase
◆ GetOperands()
| HighLevelILOperandList HighLevelILInstructionBase::GetOperands | ( | ) | const |
◆ GetRawOperandAsInteger()
| uint64_t HighLevelILInstructionBase::GetRawOperandAsInteger | ( | size_t | operand | ) | const |
◆ GetRawOperandAsConstantData()
| ConstantData HighLevelILInstructionBase::GetRawOperandAsConstantData | ( | size_t | operand | ) | const |
◆ GetRawOperandAsIndex()
| size_t HighLevelILInstructionBase::GetRawOperandAsIndex | ( | size_t | operand | ) | const |
◆ GetRawOperandAsExpr()
| HighLevelILInstruction HighLevelILInstructionBase::GetRawOperandAsExpr | ( | size_t | operand | ) | const |
◆ GetRawOperandAsVariable()
| Variable HighLevelILInstructionBase::GetRawOperandAsVariable | ( | size_t | operand | ) | const |
◆ GetRawOperandAsSSAVariable()
| SSAVariable HighLevelILInstructionBase::GetRawOperandAsSSAVariable | ( | size_t | operand | ) | const |
◆ GetRawOperandAsExprList()
| HighLevelILInstructionList HighLevelILInstructionBase::GetRawOperandAsExprList | ( | size_t | operand | ) | const |
◆ GetRawOperandAsSSAVariableList()
| HighLevelILSSAVariableList HighLevelILInstructionBase::GetRawOperandAsSSAVariableList | ( | size_t | operand | ) | const |
◆ GetRawOperandAsIndexList()
| HighLevelILIndexList HighLevelILInstructionBase::GetRawOperandAsIndexList | ( | size_t | operand | ) | const |
◆ GetRawOperandAsPossibleValueSet()
| PossibleValueSet HighLevelILInstructionBase::GetRawOperandAsPossibleValueSet | ( | size_t | operand | ) | const |
◆ UpdateRawOperand()
| void HighLevelILInstructionBase::UpdateRawOperand | ( | size_t | operandIndex, |
| ExprId | value ) |
◆ UpdateRawOperandAsInteger()
| void HighLevelILInstructionBase::UpdateRawOperandAsInteger | ( | size_t | operandIndex, |
| uint64_t | value ) |
◆ UpdateRawOperandAsSSAVariableList()
| void HighLevelILInstructionBase::UpdateRawOperandAsSSAVariableList | ( | size_t | operandIndex, |
| const std::vector< SSAVariable > & | vars ) |
◆ UpdateRawOperandAsExprList() [1/2]
| void BinaryNinja::HighLevelILInstructionBase::UpdateRawOperandAsExprList | ( | size_t | operandIndex, |
| const std::vector< HighLevelILInstruction > & | exprs ) |
◆ UpdateRawOperandAsExprList() [2/2]
| void BinaryNinja::HighLevelILInstructionBase::UpdateRawOperandAsExprList | ( | size_t | operandIndex, |
| const std::vector< size_t > & | exprs ) |
◆ GetValue()
◆ GetPossibleValues()
◆ GetType()
◆ GetSSAExprIndex()
| size_t HighLevelILInstructionBase::GetSSAExprIndex | ( | ) | const |
◆ GetNonSSAExprIndex()
| size_t HighLevelILInstructionBase::GetNonSSAExprIndex | ( | ) | const |
◆ GetSSAForm()
| HighLevelILInstruction HighLevelILInstructionBase::GetSSAForm | ( | ) | const |
◆ GetNonSSAForm()
| HighLevelILInstruction HighLevelILInstructionBase::GetNonSSAForm | ( | ) | const |
◆ GetMediumLevelILExprIndex()
| size_t HighLevelILInstructionBase::GetMediumLevelILExprIndex | ( | ) | const |
◆ HasMediumLevelIL()
| bool HighLevelILInstructionBase::HasMediumLevelIL | ( | ) | const |
◆ GetMediumLevelIL()
◆ GetMediumLevelILSSAForm()
◆ Dump()
| char * HighLevelILInstructionBase::Dump | ( | ) | const |
◆ Replace()
| void HighLevelILInstructionBase::Replace | ( | ExprId | expr | ) |
◆ SetAttributes()
| void HighLevelILInstructionBase::SetAttributes | ( | uint32_t | attributes | ) |
◆ SetAttribute()
◆ ClearAttribute()
◆ GetDerivedStringReference()
| std::optional< DerivedString > HighLevelILInstructionBase::GetDerivedStringReference | ( | ) | const |
◆ SetDerivedStringReference()
| void HighLevelILInstructionBase::SetDerivedStringReference | ( | const DerivedString & | str | ) |
◆ RemoveDerivedStringReference()
| void HighLevelILInstructionBase::RemoveDerivedStringReference | ( | ) |
◆ GetInstructionIndex()
| size_t HighLevelILInstructionBase::GetInstructionIndex | ( | ) | const |
◆ GetInstruction()
| HighLevelILInstruction HighLevelILInstructionBase::GetInstruction | ( | ) | const |
◆ AsAST()
| HighLevelILInstruction HighLevelILInstructionBase::AsAST | ( | ) | const |
◆ AsNonAST()
| HighLevelILInstruction HighLevelILInstructionBase::AsNonAST | ( | ) | const |
◆ HasParent()
| bool HighLevelILInstructionBase::HasParent | ( | ) | const |
◆ GetParent()
| HighLevelILInstruction HighLevelILInstructionBase::GetParent | ( | ) | const |
◆ GetInstructionHash()
|
inline |
◆ As() [1/2]
|
inline |
◆ AsOneOperand() [1/2]
|
inline |
◆ AsTwoOperand() [1/2]
|
inline |
◆ AsTwoOperandWithCarry() [1/2]
|
inline |
◆ As() [2/2]
|
inline |
◆ AsConstant()
|
inline |
◆ AsConstantData()
|
inline |
◆ AsOneOperand() [2/2]
|
inline |
◆ AsTwoOperand() [2/2]
|
inline |
◆ AsTwoOperandWithCarry() [2/2]
|
inline |
◆ function
Ref<HighLevelILFunction> BinaryNinja::HighLevelILInstructionBase::function = nullptr
◆ exprIndex
size_t BinaryNinja::HighLevelILInstructionBase::exprIndex
◆ instructionIndex
size_t BinaryNinja::HighLevelILInstructionBase::instructionIndex
◆ ast
bool BinaryNinja::HighLevelILInstructionBase::ast
◆ operandTypeForUsage
|
unordered_map< HighLevelILOperandUsage, HighLevelILOperandType > HighLevelILInstructionBase::operandTypeForUsage |
static |
◆ operationOperandUsage
◆ operationOperandIndex
|
unordered_map< BNHighLevelILOperation, unordered_map< HighLevelILOperandUsage, size_t > > HighLevelILInstructionBase::operationOperandIndex = GetOperandIndexForOperandUsages() |
static |
◆ BinaryNinja::HighLevelILInstruction
struct BinaryNinja::HighLevelILInstruction
Additional Inherited Members | |
| Public Attributes inherited from BinaryNinja::HighLevelILInstructionBase | |
| Ref< HighLevelILFunction > | function = nullptr |
| size_t | exprIndex |
| size_t | instructionIndex |
| bool | ast |
| Public Attributes inherited from BNHighLevelILInstruction | |
| BNHighLevelILOperation | operation |
| uint32_t | attributes |
| uint32_t | sourceOperand |
| size_t | size |
| uint64_t | operands [5] |
| uint64_t | address |
| size_t | parent |
| Static Public Attributes inherited from BinaryNinja::HighLevelILInstructionBase | |
| static std::unordered_map< HighLevelILOperandUsage, HighLevelILOperandType > | operandTypeForUsage |
| static std::unordered_map< BNHighLevelILOperation, std::vector< HighLevelILOperandUsage > > | operationOperandUsage |
| static std::unordered_map< BNHighLevelILOperation, std::unordered_map< HighLevelILOperandUsage, size_t > > | operationOperandIndex = GetOperandIndexForOperandUsages() |
◆ HighLevelILInstruction() [1/3]
| HighLevelILInstruction::HighLevelILInstruction | ( | ) |
◆ HighLevelILInstruction() [2/3]
| HighLevelILInstruction::HighLevelILInstruction | ( | HighLevelILFunction * | func, |
| const BNHighLevelILInstruction & | instr, | ||
| size_t | expr, | ||
| bool | asFullAst, | ||
| size_t | instructionIndex ) |
◆ HighLevelILInstruction() [3/3]
| HighLevelILInstruction::HighLevelILInstruction | ( | const HighLevelILInstructionBase & | instr | ) |
◆ CollectSubExprs()
| void HighLevelILInstruction::CollectSubExprs | ( | std::stack< size_t > & | toProcess | ) | const |
◆ VisitExprs() [1/2]
| void HighLevelILInstruction::VisitExprs | ( | const std::function< bool(const HighLevelILInstruction &expr)> & | func | ) | const |
◆ VisitExprs() [2/2]
| void HighLevelILInstruction::VisitExprs | ( | const std::function< bool(const HighLevelILInstruction &expr)> & | preFunc, |
| const std::function< void(const HighLevelILInstruction &expr)> & | postFunc ) const |
◆ CopyTo() [1/2]
| ExprId HighLevelILInstruction::CopyTo | ( | HighLevelILFunction * | dest | ) | const |
◆ CopyTo() [2/2]
| ExprId HighLevelILInstruction::CopyTo | ( | HighLevelILFunction * | dest, |
| const std::function< ExprId(const HighLevelILInstruction &subExpr)> & | subExprHandler ) const |
◆ operator<()
| bool HighLevelILInstruction::operator< | ( | const HighLevelILInstruction & | other | ) | const |
◆ operator==()
| bool HighLevelILInstruction::operator== | ( | const HighLevelILInstruction & | other | ) | const |
◆ operator!=()
| bool HighLevelILInstruction::operator!= | ( | const HighLevelILInstruction & | other | ) | const |
◆ GetSourceExpr() [1/2]
|
inline |
◆ GetVariable() [1/2]
|
inline |
◆ GetDestVariable() [1/2]
|
inline |
◆ GetSSAVariable() [1/2]
|
inline |
◆ GetDestSSAVariable() [1/2]
|
inline |
◆ GetDestExpr() [1/2]
|
inline |
◆ GetLeftExpr() [1/2]
|
inline |
◆ GetRightExpr() [1/2]
|
inline |
◆ GetCarryExpr() [1/2]
|
inline |
◆ GetIndexExpr() [1/2]
|
inline |
◆ GetConditionPhiExpr() [1/2]
|
inline |
◆ GetConditionExpr() [1/2]
|
inline |
◆ GetTrueExpr() [1/2]
|
inline |
◆ GetFalseExpr() [1/2]
|
inline |
◆ GetLoopExpr() [1/2]
|
inline |
◆ GetInitExpr() [1/2]
|
inline |
◆ GetUpdateExpr() [1/2]
|
inline |
◆ GetDefaultExpr() [1/2]
|
inline |
◆ GetHighExpr() [1/2]
|
inline |
◆ GetLowExpr() [1/2]
|
inline |
◆ GetOffset() [1/2]
|
inline |
◆ GetMemberIndex() [1/2]
|
inline |
◆ GetConstant() [1/2]
|
inline |
◆ GetConstantData() [1/2]
|
inline |
◆ GetVector() [1/2]
|
inline |
◆ GetIntrinsic() [1/2]
|
inline |
◆ GetTarget() [1/2]
|
inline |
◆ GetParameterExprs() [1/2]
|
inline |
◆ GetSourceExprs() [1/2]
|
inline |
◆ GetDestExprs() [1/2]
|
inline |
◆ GetBlockExprs() [1/2]
|
inline |
◆ GetCases() [1/2]
|
inline |
◆ GetValueExprs() [1/2]
|
inline |
◆ GetSourceSSAVariables() [1/2]
|
inline |
◆ GetSourceMemoryVersion() [1/2]
|
inline |
◆ GetSourceMemoryVersions() [1/2]
|
inline |
◆ GetDestMemoryVersion() [1/2]
|
inline |
◆ GetConstraint()
|
inline |
◆ SetSSAVersion()
|
inline |
◆ SetDestSSAVersion()
|
inline |
◆ SetParameterExprs() [1/2]
|
inline |
◆ SetParameterExprs() [2/2]
|
inline |
◆ SetSourceExprs() [1/2]
|
inline |
◆ SetSourceExprs() [2/2]
|
inline |
◆ SetDestExprs() [1/2]
◆ SetDestExprs() [2/2]
|
inline |
◆ SetBlockExprs() [1/2]
|
inline |
◆ SetBlockExprs() [2/2]
|
inline |
◆ SetCases() [1/2]
◆ SetCases() [2/2]
|
inline |
◆ SetSourceSSAVariables()
|
inline |
◆ SetSourceMemoryVersion()
|
inline |
◆ SetDestMemoryVersion()
|
inline |
◆ SetTarget()
|
inline |
◆ GetOperandIndexForUsage()
| bool HighLevelILInstruction::GetOperandIndexForUsage | ( | HighLevelILOperandUsage | usage, |
| size_t & | operandIndex ) const |
◆ GetSourceExpr() [2/2]
| HighLevelILInstruction HighLevelILInstruction::GetSourceExpr | ( | ) | const |
◆ GetVariable() [2/2]
| Variable HighLevelILInstruction::GetVariable | ( | ) | const |
◆ GetDestVariable() [2/2]
| Variable HighLevelILInstruction::GetDestVariable | ( | ) | const |
◆ GetSSAVariable() [2/2]
| SSAVariable HighLevelILInstruction::GetSSAVariable | ( | ) | const |
◆ GetDestSSAVariable() [2/2]
| SSAVariable HighLevelILInstruction::GetDestSSAVariable | ( | ) | const |
◆ GetDestExpr() [2/2]
| HighLevelILInstruction HighLevelILInstruction::GetDestExpr | ( | ) | const |
◆ GetLeftExpr() [2/2]
| HighLevelILInstruction HighLevelILInstruction::GetLeftExpr | ( | ) | const |
◆ GetRightExpr() [2/2]
| HighLevelILInstruction HighLevelILInstruction::GetRightExpr | ( | ) | const |
◆ GetCarryExpr() [2/2]
| HighLevelILInstruction HighLevelILInstruction::GetCarryExpr | ( | ) | const |
◆ GetIndexExpr() [2/2]
| HighLevelILInstruction HighLevelILInstruction::GetIndexExpr | ( | ) | const |
◆ GetConditionExpr() [2/2]
| HighLevelILInstruction HighLevelILInstruction::GetConditionExpr | ( | ) | const |
◆ GetConditionPhiExpr() [2/2]
| HighLevelILInstruction HighLevelILInstruction::GetConditionPhiExpr | ( | ) | const |
◆ GetTrueExpr() [2/2]
| HighLevelILInstruction HighLevelILInstruction::GetTrueExpr | ( | ) | const |
◆ GetFalseExpr() [2/2]
| HighLevelILInstruction HighLevelILInstruction::GetFalseExpr | ( | ) | const |
◆ GetLoopExpr() [2/2]
| HighLevelILInstruction HighLevelILInstruction::GetLoopExpr | ( | ) | const |
◆ GetInitExpr() [2/2]
| HighLevelILInstruction HighLevelILInstruction::GetInitExpr | ( | ) | const |
◆ GetUpdateExpr() [2/2]
| HighLevelILInstruction HighLevelILInstruction::GetUpdateExpr | ( | ) | const |
◆ GetDefaultExpr() [2/2]
| HighLevelILInstruction HighLevelILInstruction::GetDefaultExpr | ( | ) | const |
◆ GetHighExpr() [2/2]
| HighLevelILInstruction HighLevelILInstruction::GetHighExpr | ( | ) | const |
◆ GetLowExpr() [2/2]
| HighLevelILInstruction HighLevelILInstruction::GetLowExpr | ( | ) | const |
◆ GetOffset() [2/2]
| uint64_t HighLevelILInstruction::GetOffset | ( | ) | const |
◆ GetMemberIndex() [2/2]
| size_t HighLevelILInstruction::GetMemberIndex | ( | ) | const |
◆ GetConstant() [2/2]
| int64_t HighLevelILInstruction::GetConstant | ( | ) | const |
◆ GetConstantData() [2/2]
| ConstantData HighLevelILInstruction::GetConstantData | ( | ) | const |
◆ GetVector() [2/2]
| int64_t HighLevelILInstruction::GetVector | ( | ) | const |
◆ GetIntrinsic() [2/2]
| uint32_t HighLevelILInstruction::GetIntrinsic | ( | ) | const |
◆ GetTarget() [2/2]
| uint64_t HighLevelILInstruction::GetTarget | ( | ) | const |
◆ GetParameterExprs() [2/2]
| HighLevelILInstructionList HighLevelILInstruction::GetParameterExprs | ( | ) | const |
◆ GetSourceExprs() [2/2]
| HighLevelILInstructionList HighLevelILInstruction::GetSourceExprs | ( | ) | const |
◆ GetDestExprs() [2/2]
| HighLevelILInstructionList HighLevelILInstruction::GetDestExprs | ( | ) | const |
◆ GetBlockExprs() [2/2]
| HighLevelILInstructionList HighLevelILInstruction::GetBlockExprs | ( | ) | const |
◆ GetCases() [2/2]
| HighLevelILInstructionList HighLevelILInstruction::GetCases | ( | ) | const |
◆ GetValueExprs() [2/2]
| HighLevelILInstructionList HighLevelILInstruction::GetValueExprs | ( | ) | const |
◆ GetSourceSSAVariables() [2/2]
| HighLevelILSSAVariableList HighLevelILInstruction::GetSourceSSAVariables | ( | ) | const |
◆ GetSourceMemoryVersion() [2/2]
| size_t HighLevelILInstruction::GetSourceMemoryVersion | ( | ) | const |
◆ GetSourceMemoryVersions() [2/2]
| HighLevelILIndexList HighLevelILInstruction::GetSourceMemoryVersions | ( | ) | const |
◆ GetDestMemoryVersion() [2/2]
| size_t HighLevelILInstruction::GetDestMemoryVersion | ( | ) | const |
◆ CanCollapse()
|
static |
◆ BinaryNinja::HighLevelILOperand
class BinaryNinja::HighLevelILOperand
Public Member Functions | |
| HighLevelILOperand (const HighLevelILInstruction &instr, HighLevelILOperandUsage usage, size_t operandIndex) | |
| HighLevelILOperandType | GetType () const |
| HighLevelILOperandUsage | GetUsage () const |
| uint64_t | GetInteger () const |
| ConstantData | GetConstantData () const |
| size_t | GetIndex () const |
| uint32_t | GetIntrinsic () const |
| HighLevelILInstruction | GetExpr () const |
| Variable | GetVariable () const |
| SSAVariable | GetSSAVariable () const |
| HighLevelILInstructionList | GetExprList () const |
| HighLevelILSSAVariableList | GetSSAVariableList () const |
| HighLevelILIndexList | GetIndexList () const |
◆ HighLevelILOperand()
| HighLevelILOperand::HighLevelILOperand | ( | const HighLevelILInstruction & | instr, |
| HighLevelILOperandUsage | usage, | ||
| size_t | operandIndex ) |
◆ GetType()
|
inline |
◆ GetUsage()
|
inline |
◆ GetInteger()
| uint64_t HighLevelILOperand::GetInteger | ( | ) | const |
◆ GetConstantData()
◆ GetIndex()
| size_t HighLevelILOperand::GetIndex | ( | ) | const |
◆ GetIntrinsic()
| uint32_t HighLevelILOperand::GetIntrinsic | ( | ) | const |
◆ GetExpr()
| HighLevelILInstruction HighLevelILOperand::GetExpr | ( | ) | const |
◆ GetVariable()
| Variable HighLevelILOperand::GetVariable | ( | ) | const |
◆ GetSSAVariable()
| SSAVariable HighLevelILOperand::GetSSAVariable | ( | ) | const |
◆ GetExprList()
| HighLevelILInstructionList HighLevelILOperand::GetExprList | ( | ) | const |
◆ GetSSAVariableList()
| HighLevelILSSAVariableList HighLevelILOperand::GetSSAVariableList | ( | ) | const |
◆ GetIndexList()
| HighLevelILIndexList HighLevelILOperand::GetIndexList | ( | ) | const |
◆ BinaryNinja::HighLevelILOperandList
class BinaryNinja::HighLevelILOperandList
Public Types | |
| typedef ListIterator | const_iterator |
Public Member Functions | |
| HighLevelILOperandList (const HighLevelILInstruction &instr, const std::vector< HighLevelILOperandUsage > &usageList, const std::unordered_map< HighLevelILOperandUsage, size_t > &operandIndexMap) | |
| const_iterator | begin () const |
| const_iterator | end () const |
| size_t | size () const |
| const HighLevelILOperand | operator[] (size_t i) const |
| operator std::vector< HighLevelILOperand > () const | |
◆ const_iterator
◆ HighLevelILOperandList()
| HighLevelILOperandList::HighLevelILOperandList | ( | const HighLevelILInstruction & | instr, |
| const std::vector< HighLevelILOperandUsage > & | usageList, | ||
| const std::unordered_map< HighLevelILOperandUsage, size_t > & | operandIndexMap ) |
◆ begin()
| HighLevelILOperandList::const_iterator HighLevelILOperandList::begin | ( | ) | const |
◆ end()
| HighLevelILOperandList::const_iterator HighLevelILOperandList::end | ( | ) | const |
◆ size()
| size_t HighLevelILOperandList::size | ( | ) | const |
◆ operator[]()
| const HighLevelILOperand HighLevelILOperandList::operator[] | ( | size_t | i | ) | const |
◆ operator std::vector< HighLevelILOperand >()
| BinaryNinja::HighLevelILOperandList::operator std::vector< HighLevelILOperand > | ( | ) | const |
◆ BinaryNinja::HighLevelILConstantInstruction
struct BinaryNinja::HighLevelILConstantInstruction
Additional Inherited Members | |
| Public Attributes inherited from BinaryNinja::HighLevelILInstructionBase | |
| Ref< HighLevelILFunction > | function = nullptr |
| size_t | exprIndex |
| size_t | instructionIndex |
| bool | ast |
| Public Attributes inherited from BNHighLevelILInstruction | |
| BNHighLevelILOperation | operation |
| uint32_t | attributes |
| uint32_t | sourceOperand |
| size_t | size |
| uint64_t | operands [5] |
| uint64_t | address |
| size_t | parent |
| Static Public Attributes inherited from BinaryNinja::HighLevelILInstructionBase | |
| static std::unordered_map< HighLevelILOperandUsage, HighLevelILOperandType > | operandTypeForUsage |
| static std::unordered_map< BNHighLevelILOperation, std::vector< HighLevelILOperandUsage > > | operationOperandUsage |
| static std::unordered_map< BNHighLevelILOperation, std::unordered_map< HighLevelILOperandUsage, size_t > > | operationOperandIndex = GetOperandIndexForOperandUsages() |
◆ GetConstant()
|
inline |
◆ BinaryNinja::HighLevelILConstantDataInstruction
struct BinaryNinja::HighLevelILConstantDataInstruction
Additional Inherited Members | |
| Public Attributes inherited from BinaryNinja::HighLevelILInstructionBase | |
| Ref< HighLevelILFunction > | function = nullptr |
| size_t | exprIndex |
| size_t | instructionIndex |
| bool | ast |
| Public Attributes inherited from BNHighLevelILInstruction | |
| BNHighLevelILOperation | operation |
| uint32_t | attributes |
| uint32_t | sourceOperand |
| size_t | size |
| uint64_t | operands [5] |
| uint64_t | address |
| size_t | parent |
| Static Public Attributes inherited from BinaryNinja::HighLevelILInstructionBase | |
| static std::unordered_map< HighLevelILOperandUsage, HighLevelILOperandType > | operandTypeForUsage |
| static std::unordered_map< BNHighLevelILOperation, std::vector< HighLevelILOperandUsage > > | operationOperandUsage |
| static std::unordered_map< BNHighLevelILOperation, std::unordered_map< HighLevelILOperandUsage, size_t > > | operationOperandIndex = GetOperandIndexForOperandUsages() |
◆ GetConstantData()
|
inline |
◆ BinaryNinja::HighLevelILOneOperandInstruction
struct BinaryNinja::HighLevelILOneOperandInstruction
Additional Inherited Members | |
| Public Attributes inherited from BinaryNinja::HighLevelILInstructionBase | |
| Ref< HighLevelILFunction > | function = nullptr |
| size_t | exprIndex |
| size_t | instructionIndex |
| bool | ast |
| Public Attributes inherited from BNHighLevelILInstruction | |
| BNHighLevelILOperation | operation |
| uint32_t | attributes |
| uint32_t | sourceOperand |
| size_t | size |
| uint64_t | operands [5] |
| uint64_t | address |
| size_t | parent |
| Static Public Attributes inherited from BinaryNinja::HighLevelILInstructionBase | |
| static std::unordered_map< HighLevelILOperandUsage, HighLevelILOperandType > | operandTypeForUsage |
| static std::unordered_map< BNHighLevelILOperation, std::vector< HighLevelILOperandUsage > > | operationOperandUsage |
| static std::unordered_map< BNHighLevelILOperation, std::unordered_map< HighLevelILOperandUsage, size_t > > | operationOperandIndex = GetOperandIndexForOperandUsages() |
◆ GetSourceExpr()
|
inline |
◆ BinaryNinja::HighLevelILTwoOperandInstruction
struct BinaryNinja::HighLevelILTwoOperandInstruction
Additional Inherited Members | |
| Public Attributes inherited from BinaryNinja::HighLevelILInstructionBase | |
| Ref< HighLevelILFunction > | function = nullptr |
| size_t | exprIndex |
| size_t | instructionIndex |
| bool | ast |
| Public Attributes inherited from BNHighLevelILInstruction | |
| BNHighLevelILOperation | operation |
| uint32_t | attributes |
| uint32_t | sourceOperand |
| size_t | size |
| uint64_t | operands [5] |
| uint64_t | address |
| size_t | parent |
| Static Public Attributes inherited from BinaryNinja::HighLevelILInstructionBase | |
| static std::unordered_map< HighLevelILOperandUsage, HighLevelILOperandType > | operandTypeForUsage |
| static std::unordered_map< BNHighLevelILOperation, std::vector< HighLevelILOperandUsage > > | operationOperandUsage |
| static std::unordered_map< BNHighLevelILOperation, std::unordered_map< HighLevelILOperandUsage, size_t > > | operationOperandIndex = GetOperandIndexForOperandUsages() |
◆ GetLeftExpr()
|
inline |
◆ GetRightExpr()
|
inline |
◆ BinaryNinja::HighLevelILTwoOperandWithCarryInstruction
struct BinaryNinja::HighLevelILTwoOperandWithCarryInstruction
Additional Inherited Members | |
| Public Attributes inherited from BinaryNinja::HighLevelILInstructionBase | |
| Ref< HighLevelILFunction > | function = nullptr |
| size_t | exprIndex |
| size_t | instructionIndex |
| bool | ast |
| Public Attributes inherited from BNHighLevelILInstruction | |
| BNHighLevelILOperation | operation |
| uint32_t | attributes |
| uint32_t | sourceOperand |
| size_t | size |
| uint64_t | operands [5] |
| uint64_t | address |
| size_t | parent |
| Static Public Attributes inherited from BinaryNinja::HighLevelILInstructionBase | |
| static std::unordered_map< HighLevelILOperandUsage, HighLevelILOperandType > | operandTypeForUsage |
| static std::unordered_map< BNHighLevelILOperation, std::vector< HighLevelILOperandUsage > > | operationOperandUsage |
| static std::unordered_map< BNHighLevelILOperation, std::unordered_map< HighLevelILOperandUsage, size_t > > | operationOperandIndex = GetOperandIndexForOperandUsages() |
◆ GetLeftExpr()
|
inline |
◆ GetRightExpr()
|
inline |
◆ GetCarryExpr()
|
inline |