Classes | |
struct | BinaryNinja::VariableNameAndType |
struct | BinaryNinja::StackVariableReference |
struct | BinaryNinja::IndirectBranchInfo |
struct | BinaryNinja::ArchAndAddr |
struct | BinaryNinja::LookupTableEntry |
struct | BinaryNinja::ConstantData |
struct | BinaryNinja::PossibleValueSet |
class | BinaryNinja::Function |
class | BinaryNinja::AdvancedFunctionAnalysisDataRequestor |
struct BinaryNinja::VariableNameAndType |
Public Member Functions | |
bool | operator== (const VariableNameAndType &a) |
bool | operator!= (const VariableNameAndType &a) |
Public Attributes | |
Variable | var |
Confidence< Ref< Type > > | type |
std::string | name |
bool | autoDefined |
|
inline |
|
inline |
Variable BinaryNinja::VariableNameAndType::var |
Confidence<Ref<Type> > BinaryNinja::VariableNameAndType::type |
std::string BinaryNinja::VariableNameAndType::name |
bool BinaryNinja::VariableNameAndType::autoDefined |
struct BinaryNinja::StackVariableReference |
Class Members | ||
---|---|---|
uint32_t | sourceOperand | |
Confidence< Ref< Type > > | type | |
string | name | |
Variable | var | |
int64_t | referencedOffset | |
size_t | size |
struct BinaryNinja::IndirectBranchInfo |
Class Members | ||
---|---|---|
Ref< Architecture > | sourceArch | |
uint64_t | sourceAddr | |
Ref< Architecture > | destArch | |
uint64_t | destAddr | |
bool | autoDefined |
struct BinaryNinja::ArchAndAddr |
Public Member Functions | |
ArchAndAddr & | operator= (const ArchAndAddr &a) |
bool | operator== (const ArchAndAddr &a) const |
bool | operator< (const ArchAndAddr &a) const |
ArchAndAddr () | |
ArchAndAddr (Architecture *a, uint64_t addr) | |
Public Attributes | |
Ref< Architecture > | arch |
uint64_t | address |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
Ref<Architecture> BinaryNinja::ArchAndAddr::arch |
uint64_t BinaryNinja::ArchAndAddr::address |
struct BinaryNinja::ConstantData |
Public Member Functions | |
ConstantData () | |
ConstantData (BNRegisterValueType state, uint64_t value) | |
ConstantData (BNRegisterValueType state, uint64_t value, size_t size, Ref< Function > func=nullptr) | |
std::pair< DataBuffer, BNBuiltinType > | ToDataBuffer () const |
RegisterValue | ToRegisterValue () const |
Public Attributes | |
Ref< Function > | func = nullptr |
Public Attributes inherited from BNRegisterValue | |
BNRegisterValueType | state |
int64_t | value |
int64_t | offset |
size_t | size |
ConstantData::ConstantData | ( | ) |
ConstantData::ConstantData | ( | BNRegisterValueType | state, |
uint64_t | value ) |
ConstantData::ConstantData | ( | BNRegisterValueType | state, |
uint64_t | value, | ||
size_t | size, | ||
Ref< Function > | func = nullptr ) |
pair< DataBuffer, BNBuiltinType > ConstantData::ToDataBuffer | ( | ) | const |
RegisterValue ConstantData::ToRegisterValue | ( | ) | const |
struct BinaryNinja::PossibleValueSet |
Public Member Functions | |
BNPossibleValueSet | ToAPIObject () |
Static Public Member Functions | |
static PossibleValueSet | FromAPIObject (BNPossibleValueSet &value) |
static void | FreeAPIObject (BNPossibleValueSet *value) |
Public Attributes | |
BNRegisterValueType | state |
int64_t | value |
int64_t | offset |
size_t | size |
std::vector< BNValueRange > | ranges |
std::set< int64_t > | valueSet |
std::vector< LookupTableEntry > | table |
size_t | count |
|
static |
BNPossibleValueSet PossibleValueSet::ToAPIObject | ( | ) |
|
static |
BNRegisterValueType BinaryNinja::PossibleValueSet::state |
int64_t BinaryNinja::PossibleValueSet::value |
int64_t BinaryNinja::PossibleValueSet::offset |
size_t BinaryNinja::PossibleValueSet::size |
std::vector<BNValueRange> BinaryNinja::PossibleValueSet::ranges |
std::set<int64_t> BinaryNinja::PossibleValueSet::valueSet |
std::vector<LookupTableEntry> BinaryNinja::PossibleValueSet::table |
size_t BinaryNinja::PossibleValueSet::count |
class BinaryNinja::Function |
Public Member Functions | |
Function (BNFunction *func) | |
virtual | ~Function () |
Ref< BinaryView > | GetView () const |
Get the BinaryView this Function is defined in. | |
Ref< Architecture > | GetArchitecture () const |
Get the architecture this function was defined with. | |
Ref< Platform > | GetPlatform () const |
Get the platform this function was defined with. | |
uint64_t | GetStart () const |
Get the starting virtual address of this function. | |
Ref< Symbol > | GetSymbol () const |
Get the Symbol for this function. | |
bool | WasAutomaticallyDiscovered () const |
Whether this function was automatically discovered by analysis. | |
bool | HasUserAnnotations () const |
Whether this function has user annotations. | |
Confidence< bool > | CanReturn () const |
Whether this function can return. | |
Confidence< bool > | IsPure () const |
Whether this function is pure. | |
bool | HasExplicitlyDefinedType () const |
Whether this function has an explicitly defined type. | |
bool | NeedsUpdate () const |
Whether this function needs update. | |
std::vector< Ref< BasicBlock > > | GetBasicBlocks () const |
Get a list of Basic Blocks for this function. | |
Ref< BasicBlock > | GetBasicBlockAtAddress (Architecture *arch, uint64_t addr) const |
Get the basic block an address is located in. | |
void | MarkRecentUse () |
Mark this function as recently used. | |
std::string | GetComment () const |
Get the function comment. | |
std::string | GetCommentForAddress (uint64_t addr) const |
Get a comment located at an address. | |
std::vector< uint64_t > | GetCommentedAddresses () const |
Get a list of addresses with comments. | |
void | SetComment (const std::string &comment) |
Set the comment for the function. | |
void | SetCommentForAddress (uint64_t addr, const std::string &comment) |
Set the comment at an address. | |
std::vector< ReferenceSource > | GetCallSites () const |
Get a list of callsites for this function. | |
void | AddUserCodeReference (Architecture *fromArch, uint64_t fromAddr, uint64_t toAddr) |
Places a user-defined cross-reference from the instruction at the given address and architecture to the specified target address. | |
void | RemoveUserCodeReference (Architecture *fromArch, uint64_t fromAddr, uint64_t toAddr) |
Removes a user-defined cross-reference. | |
void | AddUserTypeReference (Architecture *fromArch, uint64_t fromAddr, const QualifiedName &name) |
Places a user-defined type cross-reference from the instruction at the given address and architecture to the specified type. | |
void | RemoveUserTypeReference (Architecture *fromArch, uint64_t fromAddr, const QualifiedName &name) |
Removes a user-defined type cross-reference. | |
void | AddUserTypeFieldReference (Architecture *fromArch, uint64_t fromAddr, const QualifiedName &name, uint64_t offset, size_t size=0) |
Places a user-defined type field cross-reference from the instruction at the given address and architecture to the specified type. | |
void | RemoveUserTypeFieldReference (Architecture *fromArch, uint64_t fromAddr, const QualifiedName &name, uint64_t offset, size_t size=0) |
Removes a user-defined type field cross-reference. | |
Ref< LowLevelILFunction > | GetLowLevelIL () const |
Get the LLIL for this function. | |
Ref< LowLevelILFunction > | GetLowLevelILIfAvailable () const |
Get the LLIL for this function if it is available. | |
size_t | GetLowLevelILForInstruction (Architecture *arch, uint64_t addr) |
Get the Low Level IL Instruction start for an instruction at an address. | |
std::set< size_t > | GetLowLevelILInstructionsForAddress (Architecture *arch, uint64_t addr) |
std::vector< size_t > | GetLowLevelILExitsForInstruction (Architecture *arch, uint64_t addr) |
std::pair< DataBuffer, BNBuiltinType > | GetConstantData (BNRegisterValueType state, uint64_t value, size_t size=0) |
RegisterValue | GetRegisterValueAtInstruction (Architecture *arch, uint64_t addr, uint32_t reg) |
RegisterValue | GetRegisterValueAfterInstruction (Architecture *arch, uint64_t addr, uint32_t reg) |
RegisterValue | GetStackContentsAtInstruction (Architecture *arch, uint64_t addr, int64_t offset, size_t size) |
RegisterValue | GetStackContentsAfterInstruction (Architecture *arch, uint64_t addr, int64_t offset, size_t size) |
RegisterValue | GetParameterValueAtInstruction (Architecture *arch, uint64_t addr, Type *functionType, size_t i) |
RegisterValue | GetParameterValueAtLowLevelILInstruction (size_t instr, Type *functionType, size_t i) |
std::vector< uint32_t > | GetRegistersReadByInstruction (Architecture *arch, uint64_t addr) |
std::vector< uint32_t > | GetRegistersWrittenByInstruction (Architecture *arch, uint64_t addr) |
std::vector< StackVariableReference > | GetStackVariablesReferencedByInstruction (Architecture *arch, uint64_t addr) |
std::vector< StackVariableReference > | GetStackVariablesReferencedByInstructionIfAvailable (Architecture *arch, uint64_t addr) |
std::vector< BNConstantReference > | GetConstantsReferencedByInstruction (Architecture *arch, uint64_t addr) |
std::vector< BNConstantReference > | GetConstantsReferencedByInstructionIfAvailable (Architecture *arch, uint64_t addr) |
std::vector< ILReferenceSource > | GetMediumLevelILVariableReferences (const Variable &var) |
std::vector< VariableReferenceSource > | GetMediumLevelILVariableReferencesFrom (Architecture *arch, uint64_t addr) |
std::vector< VariableReferenceSource > | GetMediumLevelILVariableReferencesInRange (Architecture *arch, uint64_t addr, uint64_t len) |
std::vector< ILReferenceSource > | GetMediumLevelILVariableReferencesIfAvailable (const Variable &var) |
std::vector< VariableReferenceSource > | GetMediumLevelILVariableReferencesFromIfAvailable (Architecture *arch, uint64_t addr) |
std::vector< VariableReferenceSource > | GetMediumLevelILVariableReferencesInRangeIfAvailable (Architecture *arch, uint64_t addr, uint64_t len) |
std::vector< ILReferenceSource > | GetHighLevelILVariableReferences (const Variable &var) |
std::vector< VariableReferenceSource > | GetHighLevelILVariableReferencesFrom (Architecture *arch, uint64_t addr) |
std::vector< VariableReferenceSource > | GetHighLevelILVariableReferencesInRange (Architecture *arch, uint64_t addr, uint64_t len) |
std::vector< ILReferenceSource > | GetHighLevelILVariableReferencesIfAvailable (const Variable &var) |
std::vector< VariableReferenceSource > | GetHighLevelILVariableReferencesFromIfAvailable (Architecture *arch, uint64_t addr) |
std::vector< VariableReferenceSource > | GetHighLevelILVariableReferencesInRangeIfAvailable (Architecture *arch, uint64_t addr, uint64_t len) |
Ref< LowLevelILFunction > | GetLiftedIL () const |
Retrieves a LowLevelILFunction used to represent lifted IL. | |
Ref< LowLevelILFunction > | GetLiftedILIfAvailable () const |
Retrieves a LowLevelILFunction used to represent lifted IL, or None if not loaded. | |
size_t | GetLiftedILForInstruction (Architecture *arch, uint64_t addr) |
std::set< size_t > | GetLiftedILInstructionsForAddress (Architecture *arch, uint64_t addr) |
std::set< size_t > | GetLiftedILFlagUsesForDefinition (size_t i, uint32_t flag) |
std::set< size_t > | GetLiftedILFlagDefinitionsForUse (size_t i, uint32_t flag) |
std::set< uint32_t > | GetFlagsReadByLiftedILInstruction (size_t i) |
std::set< uint32_t > | GetFlagsWrittenByLiftedILInstruction (size_t i) |
Ref< MediumLevelILFunction > | GetMediumLevelIL () const |
Get the MLIL for this Function. | |
Ref< MediumLevelILFunction > | GetMediumLevelILIfAvailable () const |
Get the MLIL for this Function if it's available. | |
Ref< MediumLevelILFunction > | GetMappedMediumLevelIL () const |
Get the Mapped MLIL for this Function. | |
Ref< MediumLevelILFunction > | GetMappedMediumLevelILIfAvailable () const |
Get the Mapped MLIL for this Function if it's available. | |
Ref< HighLevelILFunction > | GetHighLevelIL () const |
Get the HLIL for this Function. | |
Ref< HighLevelILFunction > | GetHighLevelILIfAvailable () const |
Get the HLIL for this Function if it's available. | |
Ref< LanguageRepresentationFunction > | GetLanguageRepresentation (const std::string &language="Pseudo C") const |
Ref< LanguageRepresentationFunction > | GetLanguageRepresentationIfAvailable (const std::string &language="Pseudo C") const |
Ref< Type > | GetType () const |
Confidence< Ref< Type > > | GetReturnType () const |
Confidence< std::vector< uint32_t > > | GetReturnRegisters () const |
Confidence< Ref< CallingConvention > > | GetCallingConvention () const |
Confidence< std::vector< Variable > > | GetParameterVariables () const |
Confidence< bool > | HasVariableArguments () const |
Confidence< int64_t > | GetStackAdjustment () const |
std::map< uint32_t, Confidence< int32_t > > | GetRegisterStackAdjustments () const |
Confidence< std::set< uint32_t > > | GetClobberedRegisters () const |
void | SetAutoType (Type *type) |
void | SetAutoReturnType (const Confidence< Ref< Type > > &type) |
void | SetAutoReturnRegisters (const Confidence< std::vector< uint32_t > > &returnRegs) |
void | SetAutoCallingConvention (const Confidence< Ref< CallingConvention > > &convention) |
void | SetAutoParameterVariables (const Confidence< std::vector< Variable > > &vars) |
void | SetAutoHasVariableArguments (const Confidence< bool > &varArgs) |
void | SetAutoCanReturn (const Confidence< bool > &returns) |
void | SetAutoPure (const Confidence< bool > &pure) |
void | SetAutoStackAdjustment (const Confidence< int64_t > &stackAdjust) |
void | SetAutoRegisterStackAdjustments (const std::map< uint32_t, Confidence< int32_t > > ®StackAdjust) |
void | SetAutoClobberedRegisters (const Confidence< std::set< uint32_t > > &clobbered) |
void | SetUserType (Type *type) |
void | SetReturnType (const Confidence< Ref< Type > > &type) |
void | SetReturnRegisters (const Confidence< std::vector< uint32_t > > &returnRegs) |
void | SetCallingConvention (const Confidence< Ref< CallingConvention > > &convention) |
void | SetParameterVariables (const Confidence< std::vector< Variable > > &vars) |
void | SetHasVariableArguments (const Confidence< bool > &varArgs) |
void | SetCanReturn (const Confidence< bool > &returns) |
void | SetPure (const Confidence< bool > &pure) |
void | SetStackAdjustment (const Confidence< int64_t > &stackAdjust) |
void | SetRegisterStackAdjustments (const std::map< uint32_t, Confidence< int32_t > > ®StackAdjust) |
void | SetClobberedRegisters (const Confidence< std::set< uint32_t > > &clobbered) |
bool | HasUserType () const |
void | ApplyImportedTypes (Symbol *sym, Ref< Type > type=nullptr) |
void | ApplyAutoDiscoveredType (Type *type) |
Ref< FlowGraph > | CreateFunctionGraph (const FunctionViewType &type, DisassemblySettings *settings=nullptr) |
std::map< int64_t, std::vector< VariableNameAndType > > | GetStackLayout () |
void | CreateAutoStackVariable (int64_t offset, const Confidence< Ref< Type > > &type, const std::string &name) |
void | CreateUserStackVariable (int64_t offset, const Confidence< Ref< Type > > &type, const std::string &name) |
void | DeleteAutoStackVariable (int64_t offset) |
void | DeleteUserStackVariable (int64_t offset) |
bool | GetStackVariableAtFrameOffset (Architecture *arch, uint64_t addr, int64_t offset, VariableNameAndType &var) |
std::map< Variable, VariableNameAndType > | GetVariables () |
List of Function Variables. | |
std::set< Variable > | GetMediumLevelILVariables () |
std::set< Variable > | GetMediumLevelILAliasedVariables () |
std::set< SSAVariable > | GetMediumLevelILSSAVariables () |
std::set< Variable > | GetHighLevelILVariables () |
std::set< Variable > | GetHighLevelILAliasedVariables () |
std::set< SSAVariable > | GetHighLevelILSSAVariables () |
std::set< Variable > | GetMediumLevelILVariablesIfAvailable () |
std::set< Variable > | GetMediumLevelILAliasedVariablesIfAvailable () |
std::set< SSAVariable > | GetMediumLevelILSSAVariablesIfAvailable () |
std::set< Variable > | GetHighLevelILVariablesIfAvailable () |
std::set< Variable > | GetHighLevelILAliasedVariablesIfAvailable () |
std::set< SSAVariable > | GetHighLevelILSSAVariablesIfAvailable () |
void | CreateAutoVariable (const Variable &var, const Confidence< Ref< Type > > &type, const std::string &name, bool ignoreDisjointUses=false) |
void | CreateUserVariable (const Variable &var, const Confidence< Ref< Type > > &type, const std::string &name, bool ignoreDisjointUses=false) |
void | DeleteAutoVariable (const Variable &var) |
void | DeleteUserVariable (const Variable &var) |
bool | IsVariableUserDefinded (const Variable &var) |
Confidence< Ref< Type > > | GetVariableType (const Variable &var) |
std::string | GetVariableName (const Variable &var) |
std::string | GetVariableNameOrDefault (const Variable &var) |
std::string | GetLastSeenVariableNameOrDefault (const Variable &var) |
void | SetAutoIndirectBranches (Architecture *sourceArch, uint64_t source, const std::vector< ArchAndAddr > &branches) |
void | SetUserIndirectBranches (Architecture *sourceArch, uint64_t source, const std::vector< ArchAndAddr > &branches) |
std::vector< IndirectBranchInfo > | GetIndirectBranches () |
std::vector< IndirectBranchInfo > | GetIndirectBranchesAt (Architecture *arch, uint64_t addr) |
std::vector< uint64_t > | GetUnresolvedIndirectBranches () |
bool | HasUnresolvedIndirectBranches () |
void | SetAutoCallTypeAdjustment (Architecture *arch, uint64_t addr, const Confidence< Ref< Type > > &adjust) |
void | SetAutoCallStackAdjustment (Architecture *arch, uint64_t addr, const Confidence< int64_t > &adjust) |
void | SetAutoCallRegisterStackAdjustment (Architecture *arch, uint64_t addr, const std::map< uint32_t, Confidence< int32_t > > &adjust) |
void | SetAutoCallRegisterStackAdjustment (Architecture *arch, uint64_t addr, uint32_t regStack, const Confidence< int32_t > &adjust) |
void | SetUserCallTypeAdjustment (Architecture *arch, uint64_t addr, const Confidence< Ref< Type > > &adjust) |
void | SetUserCallStackAdjustment (Architecture *arch, uint64_t addr, const Confidence< int64_t > &adjust) |
void | SetUserCallRegisterStackAdjustment (Architecture *arch, uint64_t addr, const std::map< uint32_t, Confidence< int32_t > > &adjust) |
void | SetUserCallRegisterStackAdjustment (Architecture *arch, uint64_t addr, uint32_t regStack, const Confidence< int32_t > &adjust) |
Confidence< Ref< Type > > | GetCallTypeAdjustment (Architecture *arch, uint64_t addr) |
Confidence< int64_t > | GetCallStackAdjustment (Architecture *arch, uint64_t addr) |
std::map< uint32_t, Confidence< int32_t > > | GetCallRegisterStackAdjustment (Architecture *arch, uint64_t addr) |
Confidence< int32_t > | GetCallRegisterStackAdjustment (Architecture *arch, uint64_t addr, uint32_t regStack) |
bool | IsCallInstruction (Architecture *arch, uint64_t addr) |
std::vector< std::vector< InstructionTextToken > > | GetBlockAnnotations (Architecture *arch, uint64_t addr) |
BNIntegerDisplayType | GetIntegerConstantDisplayType (Architecture *arch, uint64_t instrAddr, uint64_t value, size_t operand) |
Ref< Type > | GetIntegerConstantDisplayTypeEnumType (Architecture *arch, uint64_t instrAddr, uint64_t value, size_t operand) |
void | SetIntegerConstantDisplayType (Architecture *arch, uint64_t instrAddr, uint64_t value, size_t operand, BNIntegerDisplayType type, Ref< Type > enumType=nullptr) |
std::pair< BNIntegerDisplayType, Ref< Type > > | GetIntegerConstantDisplayTypeAndEnumType (Architecture *arch, uint64_t instrAddr, uint64_t value, size_t operand) |
BNHighlightColor | GetInstructionHighlight (Architecture *arch, uint64_t addr) |
void | SetAutoInstructionHighlight (Architecture *arch, uint64_t addr, BNHighlightColor color) |
void | SetAutoInstructionHighlight (Architecture *arch, uint64_t addr, BNHighlightStandardColor color, uint8_t alpha=255) |
void | SetAutoInstructionHighlight (Architecture *arch, uint64_t addr, BNHighlightStandardColor color, BNHighlightStandardColor mixColor, uint8_t mix, uint8_t alpha=255) |
void | SetAutoInstructionHighlight (Architecture *arch, uint64_t addr, uint8_t r, uint8_t g, uint8_t b, uint8_t alpha=255) |
void | SetUserInstructionHighlight (Architecture *arch, uint64_t addr, BNHighlightColor color) |
void | SetUserInstructionHighlight (Architecture *arch, uint64_t addr, BNHighlightStandardColor color, uint8_t alpha=255) |
void | SetUserInstructionHighlight (Architecture *arch, uint64_t addr, BNHighlightStandardColor color, BNHighlightStandardColor mixColor, uint8_t mix, uint8_t alpha=255) |
void | SetUserInstructionHighlight (Architecture *arch, uint64_t addr, uint8_t r, uint8_t g, uint8_t b, uint8_t alpha=255) |
std::vector< TagReference > | GetAllTagReferences () |
std::vector< TagReference > | GetTagReferencesOfType (Ref< TagType > tagType) |
std::vector< TagReference > | GetAddressTagReferences () |
std::vector< TagReference > | GetAutoAddressTagReferences () |
std::vector< TagReference > | GetUserAddressTagReferences () |
std::vector< Ref< Tag > > | GetAddressTags (Architecture *arch, uint64_t addr) |
std::vector< Ref< Tag > > | GetAutoAddressTags (Architecture *arch, uint64_t addr) |
std::vector< Ref< Tag > > | GetUserAddressTags (Architecture *arch, uint64_t addr) |
std::vector< Ref< Tag > > | GetAddressTagsOfType (Architecture *arch, uint64_t addr, Ref< TagType > tagType) |
std::vector< Ref< Tag > > | GetAutoAddressTagsOfType (Architecture *arch, uint64_t addr, Ref< TagType > tagType) |
std::vector< Ref< Tag > > | GetUserAddressTagsOfType (Architecture *arch, uint64_t addr, Ref< TagType > tagType) |
std::vector< TagReference > | GetAddressTagsInRange (Architecture *arch, uint64_t start, uint64_t end) |
std::vector< TagReference > | GetAutoAddressTagsInRange (Architecture *arch, uint64_t start, uint64_t end) |
std::vector< TagReference > | GetUserAddressTagsInRange (Architecture *arch, uint64_t start, uint64_t end) |
void | AddAutoAddressTag (Architecture *arch, uint64_t addr, Ref< Tag > tag) |
void | RemoveAutoAddressTag (Architecture *arch, uint64_t addr, Ref< Tag > tag) |
void | RemoveAutoAddressTagsOfType (Architecture *arch, uint64_t addr, Ref< TagType > tagType) |
void | AddUserAddressTag (Architecture *arch, uint64_t addr, Ref< Tag > tag) |
void | RemoveUserAddressTag (Architecture *arch, uint64_t addr, Ref< Tag > tag) |
void | RemoveUserAddressTagsOfType (Architecture *arch, uint64_t addr, Ref< TagType > tagType) |
std::vector< TagReference > | GetFunctionTagReferences () |
std::vector< TagReference > | GetAutoFunctionTagReferences () |
std::vector< TagReference > | GetUserFunctionTagReferences () |
std::vector< Ref< Tag > > | GetFunctionTags () |
std::vector< Ref< Tag > > | GetAutoFunctionTags () |
std::vector< Ref< Tag > > | GetUserFunctionTags () |
std::vector< Ref< Tag > > | GetFunctionTagsOfType (Ref< TagType > tagType) |
std::vector< Ref< Tag > > | GetAutoFunctionTagsOfType (Ref< TagType > tagType) |
std::vector< Ref< Tag > > | GetUserFunctionTagsOfType (Ref< TagType > tagType) |
void | AddAutoFunctionTag (Ref< Tag > tag) |
void | RemoveAutoFunctionTag (Ref< Tag > tag) |
void | RemoveAutoFunctionTagsOfType (Ref< TagType > tagType) |
void | AddUserFunctionTag (Ref< Tag > tag) |
void | RemoveUserFunctionTag (Ref< Tag > tag) |
void | RemoveUserFunctionTagsOfType (Ref< TagType > tagType) |
Ref< Tag > | CreateAutoAddressTag (Architecture *arch, uint64_t addr, const std::string &tagTypeName, const std::string &data, bool unique=false) |
Ref< Tag > | CreateUserAddressTag (Architecture *arch, uint64_t addr, const std::string &tagTypeName, const std::string &data, bool unique=false) |
Ref< Tag > | CreateAutoFunctionTag (const std::string &tagTypeName, const std::string &data, bool unique=false) |
Ref< Tag > | CreateUserFunctionTag (const std::string &tagTypeName, const std::string &data, bool unique=false) |
Ref< Tag > | CreateAutoAddressTag (Architecture *arch, uint64_t addr, Ref< TagType > tagType, const std::string &data, bool unique=false) |
Ref< Tag > | CreateUserAddressTag (Architecture *arch, uint64_t addr, Ref< TagType > tagType, const std::string &data, bool unique=false) |
Ref< Tag > | CreateAutoFunctionTag (Ref< TagType > tagType, const std::string &data, bool unique=false) |
Ref< Tag > | CreateUserFunctionTag (Ref< TagType > tagType, const std::string &data, bool unique=false) |
void | Reanalyze (BNFunctionUpdateType type=UserFunctionUpdate) |
void | MarkUpdatesRequired (BNFunctionUpdateType type=UserFunctionUpdate) |
void | MarkCallerUpdatesRequired (BNFunctionUpdateType type=UserFunctionUpdate) |
Ref< Workflow > | GetWorkflow () |
void | RequestAdvancedAnalysisData () |
void | ReleaseAdvancedAnalysisData () |
void | ReleaseAdvancedAnalysisData (size_t count) |
std::map< std::string, double > | GetAnalysisPerformanceInfo () |
std::vector< DisassemblyTextLine > | GetTypeTokens (DisassemblySettings *settings=nullptr) |
Confidence< RegisterValue > | GetGlobalPointerValue () const |
bool | UsesIncomingGlobalPointer () const |
Confidence< RegisterValue > | GetRegisterValueAtExit (uint32_t reg) const |
bool | IsFunctionTooLarge () |
Whether the function is too large to automatically perform analysis. | |
bool | IsAnalysisSkipped () |
Whether automatic analysis was skipped for this function. | |
BNAnalysisSkipReason | GetAnalysisSkipReason () |
BNFunctionAnalysisSkipOverride | GetAnalysisSkipOverride () |
void | SetAnalysisSkipOverride (BNFunctionAnalysisSkipOverride skip) |
Ref< FlowGraph > | GetUnresolvedStackAdjustmentGraph () |
void | SetUserVariableValue (const Variable &var, uint64_t defAddr, PossibleValueSet &value) |
void | ClearUserVariableValue (const Variable &var, uint64_t defAddr) |
std::map< Variable, std::map< ArchAndAddr, PossibleValueSet > > | GetAllUserVariableValues () |
void | ClearAllUserVariableValues () |
void | RequestDebugReport (const std::string &name) |
std::string | GetGotoLabelName (uint64_t labelId) |
Get the name for a given label ID. | |
void | SetGotoLabelName (uint64_t labelId, const std::string &name) |
Set the name for a given label ID. | |
BNDeadStoreElimination | GetVariableDeadStoreElimination (const Variable &var) |
void | SetVariableDeadStoreElimination (const Variable &var, BNDeadStoreElimination mode) |
std::map< Variable, std::set< Variable > > | GetMergedVariables () |
void | MergeVariables (const Variable &target, const std::set< Variable > &sources) |
void | UnmergeVariables (const Variable &target, const std::set< Variable > &sources) |
std::set< Variable > | GetSplitVariables () |
void | SplitVariable (const Variable &var) |
void | UnsplitVariable (const Variable &var) |
uint64_t | GetHighestAddress () |
The highest (largest) virtual address contained in a function. | |
uint64_t | GetLowestAddress () |
The lowest (smallest) virtual address contained in a function. | |
std::vector< BNAddressRange > | GetAddressRanges () |
All of the address ranges covered by a function. | |
bool | GetInstructionContainingAddress (Architecture *arch, uint64_t addr, uint64_t *start) |
Confidence< bool > | IsInlinedDuringAnalysis () |
void | SetAutoInlinedDuringAnalysis (Confidence< bool > inlined) |
void | SetUserInlinedDuringAnalysis (Confidence< bool > inlined) |
bool | IsInstructionCollapsed (const HighLevelILInstruction &instr, uint64_t designator=0) const |
bool | IsCollapsed () const |
void | ToggleRegion (uint64_t hash) |
void | CollapseRegion (uint64_t hash) |
void | ExpandRegion (uint64_t hash) |
void | ExpandAll () |
Public Member Functions inherited from BinaryNinja::CoreRefCountObject< BNFunction, BNNewFunctionReference, BNFreeFunction > | |
CoreRefCountObject () | |
virtual | ~CoreRefCountObject () |
BNFunction * | GetObject () const |
void | AddRef () |
void | Release () |
void | AddRefForRegistration () |
void | ReleaseForRegistration () |
void | AddRefForCallback () |
void | ReleaseForCallback () |
Additional Inherited Members | |
Static Public Member Functions inherited from BinaryNinja::CoreRefCountObject< BNFunction, BNNewFunctionReference, BNFreeFunction > | |
static BNFunction * | GetObject (CoreRefCountObject *obj) |
static BNFunction * | GetObject (const CoreRefCountObject *obj) |
Public Attributes inherited from BinaryNinja::CoreRefCountObject< BNFunction, BNNewFunctionReference, BNFreeFunction > | |
std::atomic< int > | m_refs |
bool | m_registeredRef |
BNFunction * | m_object |
Function::Function | ( | BNFunction * | func | ) |
|
virtual |
Ref< BinaryView > Function::GetView | ( | ) | const |
Get the BinaryView this Function is defined in.
Ref< Architecture > Function::GetArchitecture | ( | ) | const |
Get the architecture this function was defined with.
Get the platform this function was defined with.
uint64_t Function::GetStart | ( | ) | const |
Get the starting virtual address of this function.
bool Function::WasAutomaticallyDiscovered | ( | ) | const |
Whether this function was automatically discovered by analysis.
bool Function::HasUserAnnotations | ( | ) | const |
Whether this function has user annotations.
Confidence< bool > Function::CanReturn | ( | ) | const |
Whether this function can return.
Confidence< bool > Function::IsPure | ( | ) | const |
Whether this function is pure.
bool Function::HasExplicitlyDefinedType | ( | ) | const |
Whether this function has an explicitly defined type.
bool Function::NeedsUpdate | ( | ) | const |
Whether this function needs update.
vector< Ref< BasicBlock > > Function::GetBasicBlocks | ( | ) | const |
Get a list of Basic Blocks for this function.
Ref< BasicBlock > Function::GetBasicBlockAtAddress | ( | Architecture * | arch, |
uint64_t | addr ) const |
Get the basic block an address is located in.
arch | Architecture for the basic block |
addr | Address to check |
void Function::MarkRecentUse | ( | ) |
Mark this function as recently used.
string Function::GetComment | ( | ) | const |
Get the function comment.
string Function::GetCommentForAddress | ( | uint64_t | addr | ) | const |
Get a comment located at an address.
vector< uint64_t > Function::GetCommentedAddresses | ( | ) | const |
Get a list of addresses with comments.
void Function::SetComment | ( | const std::string & | comment | ) |
Set the comment for the function.
comment | The new function comment |
void Function::SetCommentForAddress | ( | uint64_t | addr, |
const std::string & | comment ) |
Set the comment at an address.
addr | Address for the comment |
comment | Text of the comment |
vector< ReferenceSource > Function::GetCallSites | ( | ) | const |
Get a list of callsites for this function.
void Function::AddUserCodeReference | ( | Architecture * | fromArch, |
uint64_t | fromAddr, | ||
uint64_t | toAddr ) |
Places a user-defined cross-reference from the instruction at the given address and architecture to the specified target address.
If the specified source instruction is not contained within this function, no action is performed. To remove the reference, use `RemoveUserCodeReference`.
fromArch | Architecture of the source instruction |
fromAddr | Virtual address of the source instruction |
toAddr | Virtual address of the xref's destination. |
void Function::RemoveUserCodeReference | ( | Architecture * | fromArch, |
uint64_t | fromAddr, | ||
uint64_t | toAddr ) |
Removes a user-defined cross-reference.
If the given address is not contained within this function, or if there is no such user-defined cross-reference, no action is performed.
fromArch | Architecture of the source instruction |
fromAddr | Virtual address of the source instruction |
toAddr | Virtual address of the xref's destination. |
void Function::AddUserTypeReference | ( | Architecture * | fromArch, |
uint64_t | fromAddr, | ||
const QualifiedName & | name ) |
Places a user-defined type cross-reference from the instruction at the given address and architecture to the specified type.
If the specified source instruction is not contained within this function, no action is performed. To remove the reference, use `RemoveUserTypeReference`.
fromArch | Architecture of the source instruction |
fromAddr | Virtual address of the source instruction |
name | Name of the referenced type |
void Function::RemoveUserTypeReference | ( | Architecture * | fromArch, |
uint64_t | fromAddr, | ||
const QualifiedName & | name ) |
Removes a user-defined type cross-reference.
If the given address is not contained within this function, or if there is no such user-defined cross-reference, no action is performed.
fromArch | Architecture of the source instruction |
fromAddr | Virtual address of the source instruction |
name | Name of the referenced type |
void Function::AddUserTypeFieldReference | ( | Architecture * | fromArch, |
uint64_t | fromAddr, | ||
const QualifiedName & | name, | ||
uint64_t | offset, | ||
size_t | size = 0 ) |
Places a user-defined type field cross-reference from the instruction at the given address and architecture to the specified type.
If the specified source instruction is not contained within this function, no action is performed. To remove the reference, use :func:`remove_user_type_field_ref`.
fromArch | Architecture of the source instruction |
fromAddr | Virtual address of the source instruction |
name | Name of the referenced type |
offset | Offset of the field, relative to the type |
size | (Optional) size of the access |
void Function::RemoveUserTypeFieldReference | ( | Architecture * | fromArch, |
uint64_t | fromAddr, | ||
const QualifiedName & | name, | ||
uint64_t | offset, | ||
size_t | size = 0 ) |
Removes a user-defined type field cross-reference.
If the given address is not contained within this function, or if there is no such user-defined cross-reference, no action is performed.
fromArch | Architecture of the source instruction |
fromAddr | Virtual address of the source instruction |
name | Name of the referenced type |
offset | Offset of the field, relative to the type |
size | (Optional) size of the access |
Ref< LowLevelILFunction > Function::GetLowLevelIL | ( | ) | const |
Get the LLIL for this function.
Ref< LowLevelILFunction > Function::GetLowLevelILIfAvailable | ( | ) | const |
Get the LLIL for this function if it is available.
size_t Function::GetLowLevelILForInstruction | ( | Architecture * | arch, |
uint64_t | addr ) |
Get the Low Level IL Instruction start for an instruction at an address.
arch | Architecture for the instruction |
addr | Address of the instruction |
set< size_t > Function::GetLowLevelILInstructionsForAddress | ( | Architecture * | arch, |
uint64_t | addr ) |
vector< size_t > Function::GetLowLevelILExitsForInstruction | ( | Architecture * | arch, |
uint64_t | addr ) |
pair< DataBuffer, BNBuiltinType > Function::GetConstantData | ( | BNRegisterValueType | state, |
uint64_t | value, | ||
size_t | size = 0 ) |
RegisterValue Function::GetRegisterValueAtInstruction | ( | Architecture * | arch, |
uint64_t | addr, | ||
uint32_t | reg ) |
RegisterValue Function::GetRegisterValueAfterInstruction | ( | Architecture * | arch, |
uint64_t | addr, | ||
uint32_t | reg ) |
RegisterValue Function::GetStackContentsAtInstruction | ( | Architecture * | arch, |
uint64_t | addr, | ||
int64_t | offset, | ||
size_t | size ) |
RegisterValue Function::GetStackContentsAfterInstruction | ( | Architecture * | arch, |
uint64_t | addr, | ||
int64_t | offset, | ||
size_t | size ) |
RegisterValue Function::GetParameterValueAtInstruction | ( | Architecture * | arch, |
uint64_t | addr, | ||
Type * | functionType, | ||
size_t | i ) |
RegisterValue Function::GetParameterValueAtLowLevelILInstruction | ( | size_t | instr, |
Type * | functionType, | ||
size_t | i ) |
vector< uint32_t > Function::GetRegistersReadByInstruction | ( | Architecture * | arch, |
uint64_t | addr ) |
vector< uint32_t > Function::GetRegistersWrittenByInstruction | ( | Architecture * | arch, |
uint64_t | addr ) |
vector< StackVariableReference > Function::GetStackVariablesReferencedByInstruction | ( | Architecture * | arch, |
uint64_t | addr ) |
vector< StackVariableReference > Function::GetStackVariablesReferencedByInstructionIfAvailable | ( | Architecture * | arch, |
uint64_t | addr ) |
vector< BNConstantReference > Function::GetConstantsReferencedByInstruction | ( | Architecture * | arch, |
uint64_t | addr ) |
vector< BNConstantReference > Function::GetConstantsReferencedByInstructionIfAvailable | ( | Architecture * | arch, |
uint64_t | addr ) |
vector< ILReferenceSource > Function::GetMediumLevelILVariableReferences | ( | const Variable & | var | ) |
vector< VariableReferenceSource > Function::GetMediumLevelILVariableReferencesFrom | ( | Architecture * | arch, |
uint64_t | addr ) |
vector< VariableReferenceSource > Function::GetMediumLevelILVariableReferencesInRange | ( | Architecture * | arch, |
uint64_t | addr, | ||
uint64_t | len ) |
vector< ILReferenceSource > Function::GetMediumLevelILVariableReferencesIfAvailable | ( | const Variable & | var | ) |
vector< VariableReferenceSource > Function::GetMediumLevelILVariableReferencesFromIfAvailable | ( | Architecture * | arch, |
uint64_t | addr ) |
vector< VariableReferenceSource > Function::GetMediumLevelILVariableReferencesInRangeIfAvailable | ( | Architecture * | arch, |
uint64_t | addr, | ||
uint64_t | len ) |
vector< ILReferenceSource > Function::GetHighLevelILVariableReferences | ( | const Variable & | var | ) |
vector< VariableReferenceSource > Function::GetHighLevelILVariableReferencesFrom | ( | Architecture * | arch, |
uint64_t | addr ) |
vector< VariableReferenceSource > Function::GetHighLevelILVariableReferencesInRange | ( | Architecture * | arch, |
uint64_t | addr, | ||
uint64_t | len ) |
vector< ILReferenceSource > Function::GetHighLevelILVariableReferencesIfAvailable | ( | const Variable & | var | ) |
vector< VariableReferenceSource > Function::GetHighLevelILVariableReferencesFromIfAvailable | ( | Architecture * | arch, |
uint64_t | addr ) |
vector< VariableReferenceSource > Function::GetHighLevelILVariableReferencesInRangeIfAvailable | ( | Architecture * | arch, |
uint64_t | addr, | ||
uint64_t | len ) |
Ref< LowLevelILFunction > Function::GetLiftedIL | ( | ) | const |
Retrieves a LowLevelILFunction used to represent lifted IL.
Ref< LowLevelILFunction > Function::GetLiftedILIfAvailable | ( | ) | const |
Retrieves a LowLevelILFunction used to represent lifted IL, or None if not loaded.
size_t Function::GetLiftedILForInstruction | ( | Architecture * | arch, |
uint64_t | addr ) |
set< size_t > Function::GetLiftedILInstructionsForAddress | ( | Architecture * | arch, |
uint64_t | addr ) |
set< size_t > Function::GetLiftedILFlagUsesForDefinition | ( | size_t | i, |
uint32_t | flag ) |
set< size_t > Function::GetLiftedILFlagDefinitionsForUse | ( | size_t | i, |
uint32_t | flag ) |
set< uint32_t > Function::GetFlagsReadByLiftedILInstruction | ( | size_t | i | ) |
set< uint32_t > Function::GetFlagsWrittenByLiftedILInstruction | ( | size_t | i | ) |
Ref< MediumLevelILFunction > Function::GetMediumLevelIL | ( | ) | const |
Ref< MediumLevelILFunction > Function::GetMediumLevelILIfAvailable | ( | ) | const |
Ref< MediumLevelILFunction > Function::GetMappedMediumLevelIL | ( | ) | const |
Ref< MediumLevelILFunction > Function::GetMappedMediumLevelILIfAvailable | ( | ) | const |
Ref< HighLevelILFunction > Function::GetHighLevelIL | ( | ) | const |
Ref< HighLevelILFunction > Function::GetHighLevelILIfAvailable | ( | ) | const |
Ref< LanguageRepresentationFunction > Function::GetLanguageRepresentation | ( | const std::string & | language = "Pseudo C" | ) | const |
Ref< LanguageRepresentationFunction > Function::GetLanguageRepresentationIfAvailable | ( | const std::string & | language = "Pseudo C" | ) | const |
Confidence< Ref< Type > > Function::GetReturnType | ( | ) | const |
Confidence< vector< uint32_t > > Function::GetReturnRegisters | ( | ) | const |
Confidence< Ref< CallingConvention > > Function::GetCallingConvention | ( | ) | const |
Confidence< vector< Variable > > Function::GetParameterVariables | ( | ) | const |
Confidence< bool > Function::HasVariableArguments | ( | ) | const |
Confidence< int64_t > Function::GetStackAdjustment | ( | ) | const |
map< uint32_t, Confidence< int32_t > > Function::GetRegisterStackAdjustments | ( | ) | const |
Confidence< set< uint32_t > > Function::GetClobberedRegisters | ( | ) | const |
void Function::SetAutoType | ( | Type * | type | ) |
void Function::SetAutoReturnType | ( | const Confidence< Ref< Type > > & | type | ) |
void Function::SetAutoReturnRegisters | ( | const Confidence< std::vector< uint32_t > > & | returnRegs | ) |
void Function::SetAutoCallingConvention | ( | const Confidence< Ref< CallingConvention > > & | convention | ) |
void Function::SetAutoParameterVariables | ( | const Confidence< std::vector< Variable > > & | vars | ) |
void Function::SetAutoHasVariableArguments | ( | const Confidence< bool > & | varArgs | ) |
void Function::SetAutoCanReturn | ( | const Confidence< bool > & | returns | ) |
void Function::SetAutoPure | ( | const Confidence< bool > & | pure | ) |
void Function::SetAutoStackAdjustment | ( | const Confidence< int64_t > & | stackAdjust | ) |
void Function::SetAutoRegisterStackAdjustments | ( | const std::map< uint32_t, Confidence< int32_t > > & | regStackAdjust | ) |
void Function::SetAutoClobberedRegisters | ( | const Confidence< std::set< uint32_t > > & | clobbered | ) |
void Function::SetUserType | ( | Type * | type | ) |
void Function::SetReturnType | ( | const Confidence< Ref< Type > > & | type | ) |
void Function::SetReturnRegisters | ( | const Confidence< std::vector< uint32_t > > & | returnRegs | ) |
void Function::SetCallingConvention | ( | const Confidence< Ref< CallingConvention > > & | convention | ) |
void Function::SetParameterVariables | ( | const Confidence< std::vector< Variable > > & | vars | ) |
void Function::SetHasVariableArguments | ( | const Confidence< bool > & | varArgs | ) |
void Function::SetCanReturn | ( | const Confidence< bool > & | returns | ) |
void Function::SetPure | ( | const Confidence< bool > & | pure | ) |
void Function::SetStackAdjustment | ( | const Confidence< int64_t > & | stackAdjust | ) |
void Function::SetRegisterStackAdjustments | ( | const std::map< uint32_t, Confidence< int32_t > > & | regStackAdjust | ) |
void Function::SetClobberedRegisters | ( | const Confidence< std::set< uint32_t > > & | clobbered | ) |
bool Function::HasUserType | ( | ) | const |
void Function::ApplyAutoDiscoveredType | ( | Type * | type | ) |
Ref< FlowGraph > Function::CreateFunctionGraph | ( | const FunctionViewType & | type, |
DisassemblySettings * | settings = nullptr ) |
map< int64_t, vector< VariableNameAndType > > Function::GetStackLayout | ( | ) |
void Function::CreateAutoStackVariable | ( | int64_t | offset, |
const Confidence< Ref< Type > > & | type, | ||
const std::string & | name ) |
void Function::CreateUserStackVariable | ( | int64_t | offset, |
const Confidence< Ref< Type > > & | type, | ||
const std::string & | name ) |
void Function::DeleteAutoStackVariable | ( | int64_t | offset | ) |
void Function::DeleteUserStackVariable | ( | int64_t | offset | ) |
bool Function::GetStackVariableAtFrameOffset | ( | Architecture * | arch, |
uint64_t | addr, | ||
int64_t | offset, | ||
VariableNameAndType & | var ) |
map< Variable, VariableNameAndType > Function::GetVariables | ( | ) |
set< Variable > Function::GetMediumLevelILVariables | ( | ) |
set< Variable > Function::GetMediumLevelILAliasedVariables | ( | ) |
set< SSAVariable > Function::GetMediumLevelILSSAVariables | ( | ) |
set< Variable > Function::GetHighLevelILVariables | ( | ) |
set< Variable > Function::GetHighLevelILAliasedVariables | ( | ) |
set< SSAVariable > Function::GetHighLevelILSSAVariables | ( | ) |
set< Variable > Function::GetMediumLevelILVariablesIfAvailable | ( | ) |
set< Variable > Function::GetMediumLevelILAliasedVariablesIfAvailable | ( | ) |
set< SSAVariable > Function::GetMediumLevelILSSAVariablesIfAvailable | ( | ) |
set< Variable > Function::GetHighLevelILVariablesIfAvailable | ( | ) |
set< Variable > Function::GetHighLevelILAliasedVariablesIfAvailable | ( | ) |
set< SSAVariable > Function::GetHighLevelILSSAVariablesIfAvailable | ( | ) |
void Function::CreateAutoVariable | ( | const Variable & | var, |
const Confidence< Ref< Type > > & | type, | ||
const std::string & | name, | ||
bool | ignoreDisjointUses = false ) |
void Function::CreateUserVariable | ( | const Variable & | var, |
const Confidence< Ref< Type > > & | type, | ||
const std::string & | name, | ||
bool | ignoreDisjointUses = false ) |
void BinaryNinja::Function::DeleteAutoVariable | ( | const Variable & | var | ) |
void Function::DeleteUserVariable | ( | const Variable & | var | ) |
bool Function::IsVariableUserDefinded | ( | const Variable & | var | ) |
Confidence< Ref< Type > > Function::GetVariableType | ( | const Variable & | var | ) |
string Function::GetVariableName | ( | const Variable & | var | ) |
string Function::GetVariableNameOrDefault | ( | const Variable & | var | ) |
string Function::GetLastSeenVariableNameOrDefault | ( | const Variable & | var | ) |
void Function::SetAutoIndirectBranches | ( | Architecture * | sourceArch, |
uint64_t | source, | ||
const std::vector< ArchAndAddr > & | branches ) |
void Function::SetUserIndirectBranches | ( | Architecture * | sourceArch, |
uint64_t | source, | ||
const std::vector< ArchAndAddr > & | branches ) |
vector< IndirectBranchInfo > Function::GetIndirectBranches | ( | ) |
vector< IndirectBranchInfo > Function::GetIndirectBranchesAt | ( | Architecture * | arch, |
uint64_t | addr ) |
vector< uint64_t > Function::GetUnresolvedIndirectBranches | ( | ) |
bool Function::HasUnresolvedIndirectBranches | ( | ) |
void Function::SetAutoCallTypeAdjustment | ( | Architecture * | arch, |
uint64_t | addr, | ||
const Confidence< Ref< Type > > & | adjust ) |
void Function::SetAutoCallStackAdjustment | ( | Architecture * | arch, |
uint64_t | addr, | ||
const Confidence< int64_t > & | adjust ) |
void BinaryNinja::Function::SetAutoCallRegisterStackAdjustment | ( | Architecture * | arch, |
uint64_t | addr, | ||
const std::map< uint32_t, Confidence< int32_t > > & | adjust ) |
void Function::SetAutoCallRegisterStackAdjustment | ( | Architecture * | arch, |
uint64_t | addr, | ||
uint32_t | regStack, | ||
const Confidence< int32_t > & | adjust ) |
void Function::SetUserCallTypeAdjustment | ( | Architecture * | arch, |
uint64_t | addr, | ||
const Confidence< Ref< Type > > & | adjust ) |
void Function::SetUserCallStackAdjustment | ( | Architecture * | arch, |
uint64_t | addr, | ||
const Confidence< int64_t > & | adjust ) |
void BinaryNinja::Function::SetUserCallRegisterStackAdjustment | ( | Architecture * | arch, |
uint64_t | addr, | ||
const std::map< uint32_t, Confidence< int32_t > > & | adjust ) |
void Function::SetUserCallRegisterStackAdjustment | ( | Architecture * | arch, |
uint64_t | addr, | ||
uint32_t | regStack, | ||
const Confidence< int32_t > & | adjust ) |
Confidence< Ref< Type > > Function::GetCallTypeAdjustment | ( | Architecture * | arch, |
uint64_t | addr ) |
Confidence< int64_t > Function::GetCallStackAdjustment | ( | Architecture * | arch, |
uint64_t | addr ) |
map< uint32_t, Confidence< int32_t > > Function::GetCallRegisterStackAdjustment | ( | Architecture * | arch, |
uint64_t | addr ) |
Confidence< int32_t > Function::GetCallRegisterStackAdjustment | ( | Architecture * | arch, |
uint64_t | addr, | ||
uint32_t | regStack ) |
bool Function::IsCallInstruction | ( | Architecture * | arch, |
uint64_t | addr ) |
vector< vector< InstructionTextToken > > Function::GetBlockAnnotations | ( | Architecture * | arch, |
uint64_t | addr ) |
BNIntegerDisplayType Function::GetIntegerConstantDisplayType | ( | Architecture * | arch, |
uint64_t | instrAddr, | ||
uint64_t | value, | ||
size_t | operand ) |
Ref< Type > Function::GetIntegerConstantDisplayTypeEnumType | ( | Architecture * | arch, |
uint64_t | instrAddr, | ||
uint64_t | value, | ||
size_t | operand ) |
void Function::SetIntegerConstantDisplayType | ( | Architecture * | arch, |
uint64_t | instrAddr, | ||
uint64_t | value, | ||
size_t | operand, | ||
BNIntegerDisplayType | type, | ||
Ref< Type > | enumType = nullptr ) |
std::pair< BNIntegerDisplayType, Ref< Type > > Function::GetIntegerConstantDisplayTypeAndEnumType | ( | Architecture * | arch, |
uint64_t | instrAddr, | ||
uint64_t | value, | ||
size_t | operand ) |
BNHighlightColor Function::GetInstructionHighlight | ( | Architecture * | arch, |
uint64_t | addr ) |
void Function::SetAutoInstructionHighlight | ( | Architecture * | arch, |
uint64_t | addr, | ||
BNHighlightColor | color ) |
void Function::SetAutoInstructionHighlight | ( | Architecture * | arch, |
uint64_t | addr, | ||
BNHighlightStandardColor | color, | ||
uint8_t | alpha = 255 ) |
void Function::SetAutoInstructionHighlight | ( | Architecture * | arch, |
uint64_t | addr, | ||
BNHighlightStandardColor | color, | ||
BNHighlightStandardColor | mixColor, | ||
uint8_t | mix, | ||
uint8_t | alpha = 255 ) |
void Function::SetAutoInstructionHighlight | ( | Architecture * | arch, |
uint64_t | addr, | ||
uint8_t | r, | ||
uint8_t | g, | ||
uint8_t | b, | ||
uint8_t | alpha = 255 ) |
void Function::SetUserInstructionHighlight | ( | Architecture * | arch, |
uint64_t | addr, | ||
BNHighlightColor | color ) |
void Function::SetUserInstructionHighlight | ( | Architecture * | arch, |
uint64_t | addr, | ||
BNHighlightStandardColor | color, | ||
uint8_t | alpha = 255 ) |
void Function::SetUserInstructionHighlight | ( | Architecture * | arch, |
uint64_t | addr, | ||
BNHighlightStandardColor | color, | ||
BNHighlightStandardColor | mixColor, | ||
uint8_t | mix, | ||
uint8_t | alpha = 255 ) |
void Function::SetUserInstructionHighlight | ( | Architecture * | arch, |
uint64_t | addr, | ||
uint8_t | r, | ||
uint8_t | g, | ||
uint8_t | b, | ||
uint8_t | alpha = 255 ) |
std::vector< TagReference > Function::GetAllTagReferences | ( | ) |
std::vector< TagReference > Function::GetTagReferencesOfType | ( | Ref< TagType > | tagType | ) |
std::vector< TagReference > Function::GetAddressTagReferences | ( | ) |
std::vector< TagReference > Function::GetAutoAddressTagReferences | ( | ) |
std::vector< TagReference > Function::GetUserAddressTagReferences | ( | ) |
std::vector< Ref< Tag > > Function::GetAddressTags | ( | Architecture * | arch, |
uint64_t | addr ) |
std::vector< Ref< Tag > > Function::GetAutoAddressTags | ( | Architecture * | arch, |
uint64_t | addr ) |
std::vector< Ref< Tag > > Function::GetUserAddressTags | ( | Architecture * | arch, |
uint64_t | addr ) |
std::vector< Ref< Tag > > Function::GetAddressTagsOfType | ( | Architecture * | arch, |
uint64_t | addr, | ||
Ref< TagType > | tagType ) |
std::vector< Ref< Tag > > Function::GetAutoAddressTagsOfType | ( | Architecture * | arch, |
uint64_t | addr, | ||
Ref< TagType > | tagType ) |
std::vector< Ref< Tag > > Function::GetUserAddressTagsOfType | ( | Architecture * | arch, |
uint64_t | addr, | ||
Ref< TagType > | tagType ) |
std::vector< TagReference > Function::GetAddressTagsInRange | ( | Architecture * | arch, |
uint64_t | start, | ||
uint64_t | end ) |
std::vector< TagReference > Function::GetAutoAddressTagsInRange | ( | Architecture * | arch, |
uint64_t | start, | ||
uint64_t | end ) |
std::vector< TagReference > Function::GetUserAddressTagsInRange | ( | Architecture * | arch, |
uint64_t | start, | ||
uint64_t | end ) |
void Function::AddAutoAddressTag | ( | Architecture * | arch, |
uint64_t | addr, | ||
Ref< Tag > | tag ) |
void Function::RemoveAutoAddressTag | ( | Architecture * | arch, |
uint64_t | addr, | ||
Ref< Tag > | tag ) |
void Function::RemoveAutoAddressTagsOfType | ( | Architecture * | arch, |
uint64_t | addr, | ||
Ref< TagType > | tagType ) |
void Function::AddUserAddressTag | ( | Architecture * | arch, |
uint64_t | addr, | ||
Ref< Tag > | tag ) |
void Function::RemoveUserAddressTag | ( | Architecture * | arch, |
uint64_t | addr, | ||
Ref< Tag > | tag ) |
void Function::RemoveUserAddressTagsOfType | ( | Architecture * | arch, |
uint64_t | addr, | ||
Ref< TagType > | tagType ) |
std::vector< TagReference > Function::GetFunctionTagReferences | ( | ) |
std::vector< TagReference > Function::GetAutoFunctionTagReferences | ( | ) |
std::vector< TagReference > Function::GetUserFunctionTagReferences | ( | ) |
Ref< Tag > Function::CreateAutoAddressTag | ( | Architecture * | arch, |
uint64_t | addr, | ||
const std::string & | tagTypeName, | ||
const std::string & | data, | ||
bool | unique = false ) |
Ref< Tag > Function::CreateUserAddressTag | ( | Architecture * | arch, |
uint64_t | addr, | ||
const std::string & | tagTypeName, | ||
const std::string & | data, | ||
bool | unique = false ) |
Ref< Tag > Function::CreateAutoFunctionTag | ( | const std::string & | tagTypeName, |
const std::string & | data, | ||
bool | unique = false ) |
Ref< Tag > Function::CreateUserFunctionTag | ( | const std::string & | tagTypeName, |
const std::string & | data, | ||
bool | unique = false ) |
Ref< Tag > Function::CreateAutoAddressTag | ( | Architecture * | arch, |
uint64_t | addr, | ||
Ref< TagType > | tagType, | ||
const std::string & | data, | ||
bool | unique = false ) |
Ref< Tag > Function::CreateUserAddressTag | ( | Architecture * | arch, |
uint64_t | addr, | ||
Ref< TagType > | tagType, | ||
const std::string & | data, | ||
bool | unique = false ) |
Ref< Tag > Function::CreateAutoFunctionTag | ( | Ref< TagType > | tagType, |
const std::string & | data, | ||
bool | unique = false ) |
Ref< Tag > Function::CreateUserFunctionTag | ( | Ref< TagType > | tagType, |
const std::string & | data, | ||
bool | unique = false ) |
void Function::Reanalyze | ( | BNFunctionUpdateType | type = UserFunctionUpdate | ) |
void Function::MarkUpdatesRequired | ( | BNFunctionUpdateType | type = UserFunctionUpdate | ) |
void Function::MarkCallerUpdatesRequired | ( | BNFunctionUpdateType | type = UserFunctionUpdate | ) |
void Function::RequestAdvancedAnalysisData | ( | ) |
void Function::ReleaseAdvancedAnalysisData | ( | ) |
void BinaryNinja::Function::ReleaseAdvancedAnalysisData | ( | size_t | count | ) |
map< string, double > Function::GetAnalysisPerformanceInfo | ( | ) |
vector< DisassemblyTextLine > Function::GetTypeTokens | ( | DisassemblySettings * | settings = nullptr | ) |
Confidence< RegisterValue > Function::GetGlobalPointerValue | ( | ) | const |
bool Function::UsesIncomingGlobalPointer | ( | ) | const |
Confidence< RegisterValue > Function::GetRegisterValueAtExit | ( | uint32_t | reg | ) | const |
bool Function::IsFunctionTooLarge | ( | ) |
Whether the function is too large to automatically perform analysis.
bool Function::IsAnalysisSkipped | ( | ) |
Whether automatic analysis was skipped for this function.
BNAnalysisSkipReason Function::GetAnalysisSkipReason | ( | ) |
BNFunctionAnalysisSkipOverride Function::GetAnalysisSkipOverride | ( | ) |
void Function::SetAnalysisSkipOverride | ( | BNFunctionAnalysisSkipOverride | skip | ) |
void Function::SetUserVariableValue | ( | const Variable & | var, |
uint64_t | defAddr, | ||
PossibleValueSet & | value ) |
void Function::ClearUserVariableValue | ( | const Variable & | var, |
uint64_t | defAddr ) |
map< Variable, map< ArchAndAddr, PossibleValueSet > > Function::GetAllUserVariableValues | ( | ) |
void Function::ClearAllUserVariableValues | ( | ) |
void Function::RequestDebugReport | ( | const std::string & | name | ) |
string Function::GetGotoLabelName | ( | uint64_t | labelId | ) |
Get the name for a given label ID.
labelId | ID For the label. Saved in the highlight token value. |
void Function::SetGotoLabelName | ( | uint64_t | labelId, |
const std::string & | name ) |
Set the name for a given label ID.
labelId | ID For the label. Saved in the highlight token value. |
name | New name for the label |
BNDeadStoreElimination Function::GetVariableDeadStoreElimination | ( | const Variable & | var | ) |
void Function::SetVariableDeadStoreElimination | ( | const Variable & | var, |
BNDeadStoreElimination | mode ) |
std::set< Variable > Function::GetSplitVariables | ( | ) |
void Function::SplitVariable | ( | const Variable & | var | ) |
void Function::UnsplitVariable | ( | const Variable & | var | ) |
uint64_t Function::GetHighestAddress | ( | ) |
The highest (largest) virtual address contained in a function.
uint64_t Function::GetLowestAddress | ( | ) |
The lowest (smallest) virtual address contained in a function.
std::vector< BNAddressRange > Function::GetAddressRanges | ( | ) |
All of the address ranges covered by a function.
bool Function::GetInstructionContainingAddress | ( | Architecture * | arch, |
uint64_t | addr, | ||
uint64_t * | start ) |
Confidence< bool > Function::IsInlinedDuringAnalysis | ( | ) |
void Function::SetAutoInlinedDuringAnalysis | ( | Confidence< bool > | inlined | ) |
void Function::SetUserInlinedDuringAnalysis | ( | Confidence< bool > | inlined | ) |
bool Function::IsInstructionCollapsed | ( | const HighLevelILInstruction & | instr, |
uint64_t | designator = 0 ) const |
bool Function::IsCollapsed | ( | ) | const |
void Function::ToggleRegion | ( | uint64_t | hash | ) |
void Function::CollapseRegion | ( | uint64_t | hash | ) |
void Function::ExpandRegion | ( | uint64_t | hash | ) |
void Function::ExpandAll | ( | ) |
class BinaryNinja::AdvancedFunctionAnalysisDataRequestor |
Public Member Functions | |
AdvancedFunctionAnalysisDataRequestor (Function *func=nullptr) | |
AdvancedFunctionAnalysisDataRequestor (const AdvancedFunctionAnalysisDataRequestor &req) | |
~AdvancedFunctionAnalysisDataRequestor () | |
AdvancedFunctionAnalysisDataRequestor & | operator= (const AdvancedFunctionAnalysisDataRequestor &req) |
Ref< Function > | GetFunction () |
void | SetFunction (Function *func) |
AdvancedFunctionAnalysisDataRequestor::AdvancedFunctionAnalysisDataRequestor | ( | Function * | func = nullptr | ) |
AdvancedFunctionAnalysisDataRequestor::AdvancedFunctionAnalysisDataRequestor | ( | const AdvancedFunctionAnalysisDataRequestor & | req | ) |
AdvancedFunctionAnalysisDataRequestor::~AdvancedFunctionAnalysisDataRequestor | ( | ) |
AdvancedFunctionAnalysisDataRequestor & AdvancedFunctionAnalysisDataRequestor::operator= | ( | const AdvancedFunctionAnalysisDataRequestor & | req | ) |
void AdvancedFunctionAnalysisDataRequestor::SetFunction | ( | Function * | func | ) |