|
| Function (BNFunction *func) |
|
virtual | ~Function () |
|
Ref< BinaryView > | GetView () const |
|
Ref< Architecture > | GetArchitecture () const |
|
Ref< Platform > | GetPlatform () const |
|
uint64_t | GetStart () const |
|
Ref< Symbol > | GetSymbol () const |
|
bool | WasAutomaticallyDiscovered () const |
|
bool | HasUserAnnotations () const |
|
Confidence< bool > | CanReturn () const |
|
bool | HasExplicitlyDefinedType () const |
|
bool | NeedsUpdate () const |
|
std::vector< Ref< BasicBlock > > | GetBasicBlocks () const |
|
Ref< BasicBlock > | GetBasicBlockAtAddress (Architecture *arch, uint64_t addr) const |
|
void | MarkRecentUse () |
|
std::string | GetComment () const |
|
std::string | GetCommentForAddress (uint64_t addr) const |
|
std::vector< uint64_t > | GetCommentedAddresses () const |
|
void | SetComment (const std::string &comment) |
|
void | SetCommentForAddress (uint64_t addr, const std::string &comment) |
|
std::vector< ReferenceSource > | GetCallSites () const |
|
void | AddUserCodeReference (Architecture *fromArch, uint64_t fromAddr, uint64_t toAddr) |
|
void | RemoveUserCodeReference (Architecture *fromArch, uint64_t fromAddr, uint64_t toAddr) |
|
void | AddUserTypeReference (Architecture *fromArch, uint64_t fromAddr, const QualifiedName &name) |
|
void | RemoveUserTypeReference (Architecture *fromArch, uint64_t fromAddr, const QualifiedName &name) |
|
void | AddUserTypeFieldReference (Architecture *fromArch, uint64_t fromAddr, const QualifiedName &name, uint64_t offset, size_t size=0) |
|
void | RemoveUserTypeFieldReference (Architecture *fromArch, uint64_t fromAddr, const QualifiedName &name, uint64_t offset, size_t size=0) |
|
Ref< LowLevelILFunction > | GetLowLevelIL () const |
|
Ref< LowLevelILFunction > | GetLowLevelILIfAvailable () const |
|
size_t | GetLowLevelILForInstruction (Architecture *arch, uint64_t addr) |
|
std::set< size_t > | GetLowLevelILInstructionsForAddress (Architecture *arch, uint64_t addr) |
|
std::vector< size_t > | GetLowLevelILExitsForInstruction (Architecture *arch, uint64_t addr) |
|
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 |
|
Ref< LowLevelILFunction > | GetLiftedILIfAvailable () const |
|
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 |
|
Ref< MediumLevelILFunction > | GetMediumLevelILIfAvailable () const |
|
Ref< MediumLevelILFunction > | GetMappedMediumLevelIL () const |
|
Ref< MediumLevelILFunction > | GetMappedMediumLevelILIfAvailable () const |
|
Ref< HighLevelILFunction > | GetHighLevelIL () const |
|
Ref< HighLevelILFunction > | GetHighLevelILIfAvailable () const |
|
Ref< LanguageRepresentationFunction > | GetLanguageRepresentation () const |
|
Ref< LanguageRepresentationFunction > | GetLanguageRepresentationIfAvailable () 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 | 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 | 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) |
|
void | ApplyImportedTypes (Symbol *sym, Ref< Type > type=nullptr) |
|
void | ApplyAutoDiscoveredType (Type *type) |
|
Ref< FlowGraph > | CreateFunctionGraph (BNFunctionGraphType 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 () |
|
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) |
|
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) |
|
void | SetIntegerConstantDisplayType (Architecture *arch, uint64_t instrAddr, uint64_t value, size_t operand, BNIntegerDisplayType type) |
|
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 () const |
|
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 |
|
Confidence< RegisterValue > | GetRegisterValueAtExit (uint32_t reg) const |
|
bool | IsFunctionTooLarge () |
|
bool | IsAnalysisSkipped () |
|
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) |
|
void | SetGotoLabelName (uint64_t labelId, const std::string &name) |
|
BNDeadStoreElimination | GetVariableDeadStoreElimination (const Variable &var) |
|
void | SetVariableDeadStoreElimination (const Variable &var, BNDeadStoreElimination mode) |
|
uint64_t | GetHighestAddress () |
|
uint64_t | GetLowestAddress () |
|
std::vector< BNAddressRange > | GetAddressRanges () |
|
bool | GetInstructionContainingAddress (Architecture *arch, uint64_t addr, uint64_t *start) |
|
| CoreRefCountObject () |
|
virtual | ~CoreRefCountObject () |
|
BNFunction * | GetObject () const |
|
void | AddRef () |
|
void | Release () |
|
void | AddRefForRegistration () |
|
void | ReleaseForRegistration () |
|