Function

Detailed Description

Classes

struct  BinaryNinja::VariableNameAndType
 
struct  BinaryNinja::StackVariableReference
 
struct  BinaryNinja::IndirectBranchInfo
 
struct  BinaryNinja::ArchAndAddr
 
struct  BinaryNinja::LookupTableEntry
 
struct  BinaryNinja::RegisterValue
 
struct  BinaryNinja::PossibleValueSet
 
class  BinaryNinja::Function
 
class  BinaryNinja::AdvancedFunctionAnalysisDataRequestor
 

Class Documentation

◆ BinaryNinja::VariableNameAndType

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
 

Member Function Documentation

◆ operator==()

bool BinaryNinja::VariableNameAndType::operator== ( const VariableNameAndType a)
inline

◆ operator!=()

bool BinaryNinja::VariableNameAndType::operator!= ( const VariableNameAndType a)
inline

Member Data Documentation

◆ var

Variable BinaryNinja::VariableNameAndType::var

◆ type

Confidence<Ref<Type> > BinaryNinja::VariableNameAndType::type

◆ name

std::string BinaryNinja::VariableNameAndType::name

◆ autoDefined

bool BinaryNinja::VariableNameAndType::autoDefined

◆ BinaryNinja::StackVariableReference

struct BinaryNinja::StackVariableReference
Class Members
uint32_t sourceOperand
Confidence< Ref< Type > > type
string name
Variable var
int64_t referencedOffset
size_t size

◆ BinaryNinja::IndirectBranchInfo

struct BinaryNinja::IndirectBranchInfo
Class Members
Ref< Architecture > sourceArch
uint64_t sourceAddr
Ref< Architecture > destArch
uint64_t destAddr
bool autoDefined

◆ BinaryNinja::ArchAndAddr

struct BinaryNinja::ArchAndAddr

Public Member Functions

ArchAndAddroperator= (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< Architecturearch
 
uint64_t address
 

Constructor & Destructor Documentation

◆ ArchAndAddr() [1/2]

BinaryNinja::ArchAndAddr::ArchAndAddr ( )
inline

◆ ArchAndAddr() [2/2]

BinaryNinja::ArchAndAddr::ArchAndAddr ( Architecture a,
uint64_t  addr 
)
inline

Member Function Documentation

◆ operator=()

ArchAndAddr & BinaryNinja::ArchAndAddr::operator= ( const ArchAndAddr a)
inline

◆ operator==()

bool BinaryNinja::ArchAndAddr::operator== ( const ArchAndAddr a) const
inline

◆ operator<()

bool BinaryNinja::ArchAndAddr::operator< ( const ArchAndAddr a) const
inline

Member Data Documentation

◆ arch

Ref<Architecture> BinaryNinja::ArchAndAddr::arch

◆ address

uint64_t BinaryNinja::ArchAndAddr::address

◆ BinaryNinja::LookupTableEntry

struct BinaryNinja::LookupTableEntry
Class Members
vector< int64_t > fromValues
int64_t toValue

◆ BinaryNinja::RegisterValue

struct BinaryNinja::RegisterValue

Public Member Functions

 RegisterValue ()
 
bool IsConstant () const
 
bool IsConstantData () const
 
BNRegisterValue ToAPIObject ()
 

Static Public Member Functions

static RegisterValue FromAPIObject (const BNRegisterValue &value)
 

Public Attributes

BNRegisterValueType state
 
int64_t value
 
int64_t offset
 
size_t size
 

Constructor & Destructor Documentation

◆ RegisterValue()

RegisterValue::RegisterValue ( )

Member Function Documentation

◆ IsConstant()

bool RegisterValue::IsConstant ( ) const

◆ IsConstantData()

bool RegisterValue::IsConstantData ( ) const

◆ FromAPIObject()

RegisterValue RegisterValue::FromAPIObject ( const BNRegisterValue value)
static

◆ ToAPIObject()

BNRegisterValue RegisterValue::ToAPIObject ( )

Member Data Documentation

◆ state

BNRegisterValueType BinaryNinja::RegisterValue::state

◆ value

int64_t BinaryNinja::RegisterValue::value

◆ offset

int64_t BinaryNinja::RegisterValue::offset

◆ size

size_t BinaryNinja::RegisterValue::size

◆ BinaryNinja::PossibleValueSet

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< BNValueRangeranges
 
std::set< int64_t > valueSet
 
std::vector< LookupTableEntrytable
 
size_t count
 

Member Function Documentation

◆ FromAPIObject()

PossibleValueSet PossibleValueSet::FromAPIObject ( BNPossibleValueSet value)
static

◆ ToAPIObject()

BNPossibleValueSet PossibleValueSet::ToAPIObject ( )

◆ FreeAPIObject()

void PossibleValueSet::FreeAPIObject ( BNPossibleValueSet value)
static

Member Data Documentation

◆ state

BNRegisterValueType BinaryNinja::PossibleValueSet::state

◆ value

int64_t BinaryNinja::PossibleValueSet::value

◆ offset

int64_t BinaryNinja::PossibleValueSet::offset

◆ size

size_t BinaryNinja::PossibleValueSet::size

◆ ranges

std::vector<BNValueRange> BinaryNinja::PossibleValueSet::ranges

◆ valueSet

std::set<int64_t> BinaryNinja::PossibleValueSet::valueSet

◆ table

std::vector<LookupTableEntry> BinaryNinja::PossibleValueSet::table

◆ count

size_t BinaryNinja::PossibleValueSet::count

◆ BinaryNinja::Function

class BinaryNinja::Function

Public Member Functions

 Function (BNFunction *func)
 
virtual ~Function ()
 
Ref< BinaryViewGetView () const
 Get the BinaryView this Function is defined in. More...
 
Ref< ArchitectureGetArchitecture () const
 Get the architecture this function was defined with. More...
 
Ref< PlatformGetPlatform () const
 Get the platform this function was defined with. More...
 
uint64_t GetStart () const
 Get the starting virtual address of this function. More...
 
Ref< SymbolGetSymbol () const
 Get the Symbol for this function. More...
 
bool WasAutomaticallyDiscovered () const
 Whether this function was automatically discovered by analysis. More...
 
bool HasUserAnnotations () const
 Whether this function has user annotations. More...
 
Confidence< bool > CanReturn () const
 Whether this function can return. More...
 
Confidence< bool > IsPure () const
 Whether this function is pure. More...
 
bool HasExplicitlyDefinedType () const
 Whether this function has an explicitly defined type. More...
 
bool NeedsUpdate () const
 Whether this function needs update. More...
 
std::vector< Ref< BasicBlock > > GetBasicBlocks () const
 Get a list of Basic Blocks for this function. More...
 
Ref< BasicBlockGetBasicBlockAtAddress (Architecture *arch, uint64_t addr) const
 Get the basic block an address is located in. More...
 
void MarkRecentUse ()
 Mark this function as recently used. More...
 
std::string GetComment () const
 Get the function comment. More...
 
std::string GetCommentForAddress (uint64_t addr) const
 Get a comment located at an address. More...
 
std::vector< uint64_t > GetCommentedAddresses () const
 Get a list of addresses with comments. More...
 
void SetComment (const std::string &comment)
 Set the comment for the function. More...
 
void SetCommentForAddress (uint64_t addr, const std::string &comment)
 Set the comment at an address. More...
 
std::vector< ReferenceSourceGetCallSites () const
 Get a list of callsites for this function. More...
 
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. More...
 
void RemoveUserCodeReference (Architecture *fromArch, uint64_t fromAddr, uint64_t toAddr)
 Removes a user-defined cross-reference. More...
 
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. More...
 
void RemoveUserTypeReference (Architecture *fromArch, uint64_t fromAddr, const QualifiedName &name)
 Removes a user-defined type cross-reference. More...
 
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. More...
 
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. More...
 
Ref< LowLevelILFunctionGetLowLevelIL () const
 Get the LLIL for this function. More...
 
Ref< LowLevelILFunctionGetLowLevelILIfAvailable () const
 Get the LLIL for this function if it is available. More...
 
size_t GetLowLevelILForInstruction (Architecture *arch, uint64_t addr)
 Get the Low Level IL Instruction start for an instruction at an address. More...
 
std::set< size_t > GetLowLevelILInstructionsForAddress (Architecture *arch, uint64_t addr)
 
std::vector< size_t > GetLowLevelILExitsForInstruction (Architecture *arch, uint64_t addr)
 
DataBuffer 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< StackVariableReferenceGetStackVariablesReferencedByInstruction (Architecture *arch, uint64_t addr)
 
std::vector< StackVariableReferenceGetStackVariablesReferencedByInstructionIfAvailable (Architecture *arch, uint64_t addr)
 
std::vector< BNConstantReferenceGetConstantsReferencedByInstruction (Architecture *arch, uint64_t addr)
 
std::vector< BNConstantReferenceGetConstantsReferencedByInstructionIfAvailable (Architecture *arch, uint64_t addr)
 
std::vector< ILReferenceSourceGetMediumLevelILVariableReferences (const Variable &var)
 
std::vector< VariableReferenceSourceGetMediumLevelILVariableReferencesFrom (Architecture *arch, uint64_t addr)
 
std::vector< VariableReferenceSourceGetMediumLevelILVariableReferencesInRange (Architecture *arch, uint64_t addr, uint64_t len)
 
std::vector< ILReferenceSourceGetMediumLevelILVariableReferencesIfAvailable (const Variable &var)
 
std::vector< VariableReferenceSourceGetMediumLevelILVariableReferencesFromIfAvailable (Architecture *arch, uint64_t addr)
 
std::vector< VariableReferenceSourceGetMediumLevelILVariableReferencesInRangeIfAvailable (Architecture *arch, uint64_t addr, uint64_t len)
 
std::vector< ILReferenceSourceGetHighLevelILVariableReferences (const Variable &var)
 
std::vector< VariableReferenceSourceGetHighLevelILVariableReferencesFrom (Architecture *arch, uint64_t addr)
 
std::vector< VariableReferenceSourceGetHighLevelILVariableReferencesInRange (Architecture *arch, uint64_t addr, uint64_t len)
 
std::vector< ILReferenceSourceGetHighLevelILVariableReferencesIfAvailable (const Variable &var)
 
std::vector< VariableReferenceSourceGetHighLevelILVariableReferencesFromIfAvailable (Architecture *arch, uint64_t addr)
 
std::vector< VariableReferenceSourceGetHighLevelILVariableReferencesInRangeIfAvailable (Architecture *arch, uint64_t addr, uint64_t len)
 
Ref< LowLevelILFunctionGetLiftedIL () const
 Retrieves a LowLevelILFunction used to represent lifted IL. More...
 
Ref< LowLevelILFunctionGetLiftedILIfAvailable () const
 Retrieves a LowLevelILFunction used to represent lifted IL, or None if not loaded. More...
 
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< MediumLevelILFunctionGetMediumLevelIL () const
 Get the MLIL for this Function. More...
 
Ref< MediumLevelILFunctionGetMediumLevelILIfAvailable () const
 Get the MLIL for this Function if it's available. More...
 
Ref< MediumLevelILFunctionGetMappedMediumLevelIL () const
 Get the Mapped MLIL for this Function. More...
 
Ref< MediumLevelILFunctionGetMappedMediumLevelILIfAvailable () const
 Get the Mapped MLIL for this Function if it's available. More...
 
Ref< HighLevelILFunctionGetHighLevelIL () const
 Get the HLIL for this Function. More...
 
Ref< HighLevelILFunctionGetHighLevelILIfAvailable () const
 Get the HLIL for this Function if it's available. More...
 
Ref< LanguageRepresentationFunctionGetLanguageRepresentation () const
 
Ref< LanguageRepresentationFunctionGetLanguageRepresentationIfAvailable () const
 
Ref< TypeGetType () 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 > > &regStackAdjust)
 
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 > > &regStackAdjust)
 
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< FlowGraphCreateFunctionGraph (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, VariableNameAndTypeGetVariables ()
 List of Function Variables. More...
 
std::set< VariableGetMediumLevelILVariables ()
 
std::set< VariableGetMediumLevelILAliasedVariables ()
 
std::set< SSAVariableGetMediumLevelILSSAVariables ()
 
std::set< VariableGetHighLevelILVariables ()
 
std::set< VariableGetHighLevelILAliasedVariables ()
 
std::set< SSAVariableGetHighLevelILSSAVariables ()
 
std::set< VariableGetMediumLevelILVariablesIfAvailable ()
 
std::set< VariableGetMediumLevelILAliasedVariablesIfAvailable ()
 
std::set< SSAVariableGetMediumLevelILSSAVariablesIfAvailable ()
 
std::set< VariableGetHighLevelILVariablesIfAvailable ()
 
std::set< VariableGetHighLevelILAliasedVariablesIfAvailable ()
 
std::set< SSAVariableGetHighLevelILSSAVariablesIfAvailable ()
 
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< IndirectBranchInfoGetIndirectBranches ()
 
std::vector< IndirectBranchInfoGetIndirectBranchesAt (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< TypeGetIntegerConstantDisplayTypeEnumType (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< TagReferenceGetAllTagReferences ()
 
std::vector< TagReferenceGetTagReferencesOfType (Ref< TagType > tagType)
 
std::vector< TagReferenceGetAddressTagReferences ()
 
std::vector< TagReferenceGetAutoAddressTagReferences ()
 
std::vector< TagReferenceGetUserAddressTagReferences ()
 
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< TagReferenceGetAddressTagsInRange (Architecture *arch, uint64_t start, uint64_t end)
 
std::vector< TagReferenceGetAutoAddressTagsInRange (Architecture *arch, uint64_t start, uint64_t end)
 
std::vector< TagReferenceGetUserAddressTagsInRange (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< TagReferenceGetFunctionTagReferences ()
 
std::vector< TagReferenceGetAutoFunctionTagReferences ()
 
std::vector< TagReferenceGetUserFunctionTagReferences ()
 
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< TagCreateAutoAddressTag (Architecture *arch, uint64_t addr, const std::string &tagTypeName, const std::string &data, bool unique=false)
 
Ref< TagCreateUserAddressTag (Architecture *arch, uint64_t addr, const std::string &tagTypeName, const std::string &data, bool unique=false)
 
Ref< TagCreateAutoFunctionTag (const std::string &tagTypeName, const std::string &data, bool unique=false)
 
Ref< TagCreateUserFunctionTag (const std::string &tagTypeName, const std::string &data, bool unique=false)
 
Ref< TagCreateAutoAddressTag (Architecture *arch, uint64_t addr, Ref< TagType > tagType, const std::string &data, bool unique=false)
 
Ref< TagCreateUserAddressTag (Architecture *arch, uint64_t addr, Ref< TagType > tagType, const std::string &data, bool unique=false)
 
Ref< TagCreateAutoFunctionTag (Ref< TagType > tagType, const std::string &data, bool unique=false)
 
Ref< TagCreateUserFunctionTag (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< WorkflowGetWorkflow () const
 
void RequestAdvancedAnalysisData ()
 
void ReleaseAdvancedAnalysisData ()
 
void ReleaseAdvancedAnalysisData (size_t count)
 
std::map< std::string, double > GetAnalysisPerformanceInfo ()
 
std::vector< DisassemblyTextLineGetTypeTokens (DisassemblySettings *settings=nullptr)
 
Confidence< RegisterValueGetGlobalPointerValue () const
 
Confidence< RegisterValueGetRegisterValueAtExit (uint32_t reg) const
 
bool IsFunctionTooLarge ()
 Whether the function is too large to automatically perform analysis. More...
 
bool IsAnalysisSkipped ()
 Whether automatic analysis was skipped for this function. More...
 
BNAnalysisSkipReason GetAnalysisSkipReason ()
 
BNFunctionAnalysisSkipOverride GetAnalysisSkipOverride ()
 
void SetAnalysisSkipOverride (BNFunctionAnalysisSkipOverride skip)
 
Ref< FlowGraphGetUnresolvedStackAdjustmentGraph ()
 
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. More...
 
void SetGotoLabelName (uint64_t labelId, const std::string &name)
 Set the name for a given label ID. More...
 
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< VariableGetSplitVariables ()
 
void SplitVariable (const Variable &var)
 
void UnsplitVariable (const Variable &var)
 
uint64_t GetHighestAddress ()
 The highest (largest) virtual address contained in a function. More...
 
uint64_t GetLowestAddress ()
 The lowest (smallest) virtual address contained in a function. More...
 
std::vector< BNAddressRangeGetAddressRanges ()
 All of the address ranges covered by a function. More...
 
bool GetInstructionContainingAddress (Architecture *arch, uint64_t addr, uint64_t *start)
 
Confidence< bool > IsInlinedDuringAnalysis ()
 
void SetAutoInlinedDuringAnalysis (Confidence< bool > inlined)
 
void SetUserInlinedDuringAnalysis (Confidence< bool > inlined)
 
- Public Member Functions inherited from BinaryNinja::CoreRefCountObject< BNFunction, BNNewFunctionReference, BNFreeFunction >
 CoreRefCountObject ()
 
virtual ~CoreRefCountObject ()
 
BNFunctionGetObject () 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 BNFunctionGetObject (CoreRefCountObject *obj)
 
static BNFunctionGetObject (const CoreRefCountObject *obj)
 
- Public Attributes inherited from BinaryNinja::CoreRefCountObject< BNFunction, BNNewFunctionReference, BNFreeFunction >
std::atomic< int > m_refs
 
bool m_registeredRef
 
BNFunctionm_object
 

Constructor & Destructor Documentation

◆ Function()

Function::Function ( BNFunction func)

◆ ~Function()

Function::~Function ( )
virtual

Member Function Documentation

◆ GetView()

Ref< BinaryView > Function::GetView ( ) const

Get the BinaryView this Function is defined in.

Returns
a BinaryView reference

◆ GetArchitecture()

Ref< Architecture > Function::GetArchitecture ( ) const

Get the architecture this function was defined with.

Returns
an Architecture reference

◆ GetPlatform()

Ref< Platform > Function::GetPlatform ( ) const

Get the platform this function was defined with.

Returns
a Platform reference

◆ GetStart()

uint64_t Function::GetStart ( ) const

Get the starting virtual address of this function.

Returns
the start address

◆ GetSymbol()

Ref< Symbol > Function::GetSymbol ( ) const

Get the Symbol for this function.

Returns
a Symbol reference

◆ WasAutomaticallyDiscovered()

bool Function::WasAutomaticallyDiscovered ( ) const

Whether this function was automatically discovered by analysis.

Returns
Whether the function was automatically discovered

◆ HasUserAnnotations()

bool Function::HasUserAnnotations ( ) const

Whether this function has user annotations.

Returns
Whether this function has user annotations

◆ CanReturn()

Confidence< bool > Function::CanReturn ( ) const

Whether this function can return.

Returns
Whether this function can return

◆ IsPure()

Confidence< bool > Function::IsPure ( ) const

Whether this function is pure.

Returns
Whether this function is pure

◆ HasExplicitlyDefinedType()

bool Function::HasExplicitlyDefinedType ( ) const

Whether this function has an explicitly defined type.

Returns
Whether this function has an explicitly defined type

◆ NeedsUpdate()

bool Function::NeedsUpdate ( ) const

Whether this function needs update.

Returns
Whether this function needs update

◆ GetBasicBlocks()

vector< Ref< BasicBlock > > Function::GetBasicBlocks ( ) const

Get a list of Basic Blocks for this function.

Returns
a list of BasicBlock references for this function

◆ GetBasicBlockAtAddress()

Ref< BasicBlock > Function::GetBasicBlockAtAddress ( Architecture arch,
uint64_t  addr 
) const

Get the basic block an address is located in.

Parameters
archArchitecture for the basic block
addrAddress to check
Returns

◆ MarkRecentUse()

void Function::MarkRecentUse ( )

Mark this function as recently used.

◆ GetComment()

string Function::GetComment ( ) const

Get the function comment.

Returns
The function comment

◆ GetCommentForAddress()

string Function::GetCommentForAddress ( uint64_t  addr) const

Get a comment located at an address.

Returns
The comment at an address

◆ GetCommentedAddresses()

vector< uint64_t > Function::GetCommentedAddresses ( ) const

Get a list of addresses with comments.

Returns
A list of virtual addresses with comments

◆ SetComment()

void Function::SetComment ( const std::string &  comment)

Set the comment for the function.

Parameters
commentThe new function comment

◆ SetCommentForAddress()

void Function::SetCommentForAddress ( uint64_t  addr,
const std::string &  comment 
)

Set the comment at an address.

Parameters
addrAddress for the comment
commentText of the comment

◆ GetCallSites()

vector< ReferenceSource > Function::GetCallSites ( ) const

Get a list of callsites for this function.

Returns
a list of ReferenceSource

◆ AddUserCodeReference()

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`.

Parameters
fromArchArchitecture of the source instruction
fromAddrVirtual address of the source instruction
toAddrVirtual address of the xref's destination.

◆ RemoveUserCodeReference()

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.

Parameters
fromArchArchitecture of the source instruction
fromAddrVirtual address of the source instruction
toAddrVirtual address of the xref's destination.

◆ AddUserTypeReference()

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`.

Parameters
fromArchArchitecture of the source instruction
fromAddrVirtual address of the source instruction
nameName of the referenced type

◆ RemoveUserTypeReference()

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.

Parameters
fromArchArchitecture of the source instruction
fromAddrVirtual address of the source instruction
nameName of the referenced type

◆ AddUserTypeFieldReference()

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`.

Parameters
fromArchArchitecture of the source instruction
fromAddrVirtual address of the source instruction
nameName of the referenced type
offsetOffset of the field, relative to the type
size(Optional) size of the access

◆ RemoveUserTypeFieldReference()

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.

Parameters
fromArchArchitecture of the source instruction
fromAddrVirtual address of the source instruction
nameName of the referenced type
offsetOffset of the field, relative to the type
size(Optional) size of the access

◆ GetLowLevelIL()

Ref< LowLevelILFunction > Function::GetLowLevelIL ( ) const

Get the LLIL for this function.

Returns
a LowLevelILFunction reference

◆ GetLowLevelILIfAvailable()

Ref< LowLevelILFunction > Function::GetLowLevelILIfAvailable ( ) const

Get the LLIL for this function if it is available.

Returns
a LowLevelILFunction reference

◆ GetLowLevelILForInstruction()

size_t Function::GetLowLevelILForInstruction ( Architecture arch,
uint64_t  addr 
)

Get the Low Level IL Instruction start for an instruction at an address.

Parameters
archArchitecture for the instruction
addrAddress of the instruction
Returns
Start address of the instruction

◆ GetLowLevelILInstructionsForAddress()

set< size_t > Function::GetLowLevelILInstructionsForAddress ( Architecture arch,
uint64_t  addr 
)

◆ GetLowLevelILExitsForInstruction()

vector< size_t > Function::GetLowLevelILExitsForInstruction ( Architecture arch,
uint64_t  addr 
)

◆ GetConstantData()

DataBuffer Function::GetConstantData ( BNRegisterValueType  state,
uint64_t  value,
size_t  size = 0 
)

◆ GetRegisterValueAtInstruction()

RegisterValue Function::GetRegisterValueAtInstruction ( Architecture arch,
uint64_t  addr,
uint32_t  reg 
)

◆ GetRegisterValueAfterInstruction()

RegisterValue Function::GetRegisterValueAfterInstruction ( Architecture arch,
uint64_t  addr,
uint32_t  reg 
)

◆ GetStackContentsAtInstruction()

RegisterValue Function::GetStackContentsAtInstruction ( Architecture arch,
uint64_t  addr,
int64_t  offset,
size_t  size 
)

◆ GetStackContentsAfterInstruction()

RegisterValue Function::GetStackContentsAfterInstruction ( Architecture arch,
uint64_t  addr,
int64_t  offset,
size_t  size 
)

◆ GetParameterValueAtInstruction()

RegisterValue Function::GetParameterValueAtInstruction ( Architecture arch,
uint64_t  addr,
Type functionType,
size_t  i 
)

◆ GetParameterValueAtLowLevelILInstruction()

RegisterValue Function::GetParameterValueAtLowLevelILInstruction ( size_t  instr,
Type functionType,
size_t  i 
)

◆ GetRegistersReadByInstruction()

vector< uint32_t > Function::GetRegistersReadByInstruction ( Architecture arch,
uint64_t  addr 
)

◆ GetRegistersWrittenByInstruction()

vector< uint32_t > Function::GetRegistersWrittenByInstruction ( Architecture arch,
uint64_t  addr 
)

◆ GetStackVariablesReferencedByInstruction()

vector< StackVariableReference > Function::GetStackVariablesReferencedByInstruction ( Architecture arch,
uint64_t  addr 
)

◆ GetStackVariablesReferencedByInstructionIfAvailable()

vector< StackVariableReference > Function::GetStackVariablesReferencedByInstructionIfAvailable ( Architecture arch,
uint64_t  addr 
)

◆ GetConstantsReferencedByInstruction()

vector< BNConstantReference > Function::GetConstantsReferencedByInstruction ( Architecture arch,
uint64_t  addr 
)

◆ GetConstantsReferencedByInstructionIfAvailable()

vector< BNConstantReference > Function::GetConstantsReferencedByInstructionIfAvailable ( Architecture arch,
uint64_t  addr 
)

◆ GetMediumLevelILVariableReferences()

vector< ILReferenceSource > Function::GetMediumLevelILVariableReferences ( const Variable var)

◆ GetMediumLevelILVariableReferencesFrom()

vector< VariableReferenceSource > Function::GetMediumLevelILVariableReferencesFrom ( Architecture arch,
uint64_t  addr 
)

◆ GetMediumLevelILVariableReferencesInRange()

vector< VariableReferenceSource > Function::GetMediumLevelILVariableReferencesInRange ( Architecture arch,
uint64_t  addr,
uint64_t  len 
)

◆ GetMediumLevelILVariableReferencesIfAvailable()

vector< ILReferenceSource > Function::GetMediumLevelILVariableReferencesIfAvailable ( const Variable var)

◆ GetMediumLevelILVariableReferencesFromIfAvailable()

vector< VariableReferenceSource > Function::GetMediumLevelILVariableReferencesFromIfAvailable ( Architecture arch,
uint64_t  addr 
)

◆ GetMediumLevelILVariableReferencesInRangeIfAvailable()

vector< VariableReferenceSource > Function::GetMediumLevelILVariableReferencesInRangeIfAvailable ( Architecture arch,
uint64_t  addr,
uint64_t  len 
)

◆ GetHighLevelILVariableReferences()

vector< ILReferenceSource > Function::GetHighLevelILVariableReferences ( const Variable var)

◆ GetHighLevelILVariableReferencesFrom()

vector< VariableReferenceSource > Function::GetHighLevelILVariableReferencesFrom ( Architecture arch,
uint64_t  addr 
)

◆ GetHighLevelILVariableReferencesInRange()

vector< VariableReferenceSource > Function::GetHighLevelILVariableReferencesInRange ( Architecture arch,
uint64_t  addr,
uint64_t  len 
)

◆ GetHighLevelILVariableReferencesIfAvailable()

vector< ILReferenceSource > Function::GetHighLevelILVariableReferencesIfAvailable ( const Variable var)

◆ GetHighLevelILVariableReferencesFromIfAvailable()

vector< VariableReferenceSource > Function::GetHighLevelILVariableReferencesFromIfAvailable ( Architecture arch,
uint64_t  addr 
)

◆ GetHighLevelILVariableReferencesInRangeIfAvailable()

vector< VariableReferenceSource > Function::GetHighLevelILVariableReferencesInRangeIfAvailable ( Architecture arch,
uint64_t  addr,
uint64_t  len 
)

◆ GetLiftedIL()

Ref< LowLevelILFunction > Function::GetLiftedIL ( ) const

Retrieves a LowLevelILFunction used to represent lifted IL.

Returns
LowLevelILFunction used to represent lifted IL.

◆ GetLiftedILIfAvailable()

Ref< LowLevelILFunction > Function::GetLiftedILIfAvailable ( ) const

Retrieves a LowLevelILFunction used to represent lifted IL, or None if not loaded.

Returns
LowLevelILFunction used to represent lifted IL, or None if not loaded.

◆ GetLiftedILForInstruction()

size_t Function::GetLiftedILForInstruction ( Architecture arch,
uint64_t  addr 
)

◆ GetLiftedILInstructionsForAddress()

set< size_t > Function::GetLiftedILInstructionsForAddress ( Architecture arch,
uint64_t  addr 
)

◆ GetLiftedILFlagUsesForDefinition()

set< size_t > Function::GetLiftedILFlagUsesForDefinition ( size_t  i,
uint32_t  flag 
)

◆ GetLiftedILFlagDefinitionsForUse()

set< size_t > Function::GetLiftedILFlagDefinitionsForUse ( size_t  i,
uint32_t  flag 
)

◆ GetFlagsReadByLiftedILInstruction()

set< uint32_t > Function::GetFlagsReadByLiftedILInstruction ( size_t  i)

◆ GetFlagsWrittenByLiftedILInstruction()

set< uint32_t > Function::GetFlagsWrittenByLiftedILInstruction ( size_t  i)

◆ GetMediumLevelIL()

Ref< MediumLevelILFunction > Function::GetMediumLevelIL ( ) const

Get the MLIL for this Function.

Returns
The MLIL for this Function.

◆ GetMediumLevelILIfAvailable()

Ref< MediumLevelILFunction > Function::GetMediumLevelILIfAvailable ( ) const

Get the MLIL for this Function if it's available.

Returns
The MLIL for this Function if it's available.

◆ GetMappedMediumLevelIL()

Ref< MediumLevelILFunction > Function::GetMappedMediumLevelIL ( ) const

Get the Mapped MLIL for this Function.

Returns
The Mapped MLIL for this Function.

◆ GetMappedMediumLevelILIfAvailable()

Ref< MediumLevelILFunction > Function::GetMappedMediumLevelILIfAvailable ( ) const

Get the Mapped MLIL for this Function if it's available.

Returns
The Mapped MLIL for this Function if it's available.

◆ GetHighLevelIL()

Ref< HighLevelILFunction > Function::GetHighLevelIL ( ) const

Get the HLIL for this Function.

Returns
The HLIL for this Function.

◆ GetHighLevelILIfAvailable()

Ref< HighLevelILFunction > Function::GetHighLevelILIfAvailable ( ) const

Get the HLIL for this Function if it's available.

Returns
The HLIL for this Function if it's available.

◆ GetLanguageRepresentation()

Ref< LanguageRepresentationFunction > Function::GetLanguageRepresentation ( ) const

◆ GetLanguageRepresentationIfAvailable()

Ref< LanguageRepresentationFunction > Function::GetLanguageRepresentationIfAvailable ( ) const

◆ GetType()

Ref< Type > Function::GetType ( ) const

◆ GetReturnType()

Confidence< Ref< Type > > Function::GetReturnType ( ) const

◆ GetReturnRegisters()

Confidence< vector< uint32_t > > Function::GetReturnRegisters ( ) const

◆ GetCallingConvention()

Confidence< Ref< CallingConvention > > Function::GetCallingConvention ( ) const

◆ GetParameterVariables()

Confidence< vector< Variable > > Function::GetParameterVariables ( ) const

◆ HasVariableArguments()

Confidence< bool > Function::HasVariableArguments ( ) const

◆ GetStackAdjustment()

Confidence< int64_t > Function::GetStackAdjustment ( ) const

◆ GetRegisterStackAdjustments()

map< uint32_t, Confidence< int32_t > > Function::GetRegisterStackAdjustments ( ) const

◆ GetClobberedRegisters()

Confidence< set< uint32_t > > Function::GetClobberedRegisters ( ) const

◆ SetAutoType()

void Function::SetAutoType ( Type type)

◆ SetAutoReturnType()

void Function::SetAutoReturnType ( const Confidence< Ref< Type > > &  type)

◆ SetAutoReturnRegisters()

void Function::SetAutoReturnRegisters ( const Confidence< std::vector< uint32_t > > &  returnRegs)

◆ SetAutoCallingConvention()

void Function::SetAutoCallingConvention ( const Confidence< Ref< CallingConvention > > &  convention)

◆ SetAutoParameterVariables()

void Function::SetAutoParameterVariables ( const Confidence< std::vector< Variable > > &  vars)

◆ SetAutoHasVariableArguments()

void Function::SetAutoHasVariableArguments ( const Confidence< bool > &  varArgs)

◆ SetAutoCanReturn()

void Function::SetAutoCanReturn ( const Confidence< bool > &  returns)

◆ SetAutoPure()

void Function::SetAutoPure ( const Confidence< bool > &  pure)

◆ SetAutoStackAdjustment()

void Function::SetAutoStackAdjustment ( const Confidence< int64_t > &  stackAdjust)

◆ SetAutoRegisterStackAdjustments()

void Function::SetAutoRegisterStackAdjustments ( const std::map< uint32_t, Confidence< int32_t > > &  regStackAdjust)

◆ SetAutoClobberedRegisters()

void Function::SetAutoClobberedRegisters ( const Confidence< std::set< uint32_t > > &  clobbered)

◆ SetUserType()

void Function::SetUserType ( Type type)

◆ SetReturnType()

void Function::SetReturnType ( const Confidence< Ref< Type > > &  type)

◆ SetReturnRegisters()

void Function::SetReturnRegisters ( const Confidence< std::vector< uint32_t > > &  returnRegs)

◆ SetCallingConvention()

void Function::SetCallingConvention ( const Confidence< Ref< CallingConvention > > &  convention)

◆ SetParameterVariables()

void Function::SetParameterVariables ( const Confidence< std::vector< Variable > > &  vars)

◆ SetHasVariableArguments()

void Function::SetHasVariableArguments ( const Confidence< bool > &  varArgs)

◆ SetCanReturn()

void Function::SetCanReturn ( const Confidence< bool > &  returns)

◆ SetPure()

void Function::SetPure ( const Confidence< bool > &  pure)

◆ SetStackAdjustment()

void Function::SetStackAdjustment ( const Confidence< int64_t > &  stackAdjust)

◆ SetRegisterStackAdjustments()

void Function::SetRegisterStackAdjustments ( const std::map< uint32_t, Confidence< int32_t > > &  regStackAdjust)

◆ SetClobberedRegisters()

void Function::SetClobberedRegisters ( const Confidence< std::set< uint32_t > > &  clobbered)

◆ HasUserType()

bool Function::HasUserType ( ) const

◆ ApplyImportedTypes()

void Function::ApplyImportedTypes ( Symbol sym,
Ref< Type type = nullptr 
)

◆ ApplyAutoDiscoveredType()

void Function::ApplyAutoDiscoveredType ( Type type)

◆ CreateFunctionGraph()

Ref< FlowGraph > Function::CreateFunctionGraph ( BNFunctionGraphType  type,
DisassemblySettings settings = nullptr 
)

◆ GetStackLayout()

map< int64_t, vector< VariableNameAndType > > Function::GetStackLayout ( )

◆ CreateAutoStackVariable()

void Function::CreateAutoStackVariable ( int64_t  offset,
const Confidence< Ref< Type > > &  type,
const std::string &  name 
)

◆ CreateUserStackVariable()

void Function::CreateUserStackVariable ( int64_t  offset,
const Confidence< Ref< Type > > &  type,
const std::string &  name 
)

◆ DeleteAutoStackVariable()

void Function::DeleteAutoStackVariable ( int64_t  offset)

◆ DeleteUserStackVariable()

void Function::DeleteUserStackVariable ( int64_t  offset)

◆ GetStackVariableAtFrameOffset()

bool Function::GetStackVariableAtFrameOffset ( Architecture arch,
uint64_t  addr,
int64_t  offset,
VariableNameAndType var 
)

◆ GetVariables()

map< Variable, VariableNameAndType > Function::GetVariables ( )

List of Function Variables.

Returns
List of Function Variables

◆ GetMediumLevelILVariables()

set< Variable > Function::GetMediumLevelILVariables ( )

◆ GetMediumLevelILAliasedVariables()

set< Variable > Function::GetMediumLevelILAliasedVariables ( )

◆ GetMediumLevelILSSAVariables()

set< SSAVariable > Function::GetMediumLevelILSSAVariables ( )

◆ GetHighLevelILVariables()

set< Variable > Function::GetHighLevelILVariables ( )

◆ GetHighLevelILAliasedVariables()

set< Variable > Function::GetHighLevelILAliasedVariables ( )

◆ GetHighLevelILSSAVariables()

set< SSAVariable > Function::GetHighLevelILSSAVariables ( )

◆ GetMediumLevelILVariablesIfAvailable()

set< Variable > Function::GetMediumLevelILVariablesIfAvailable ( )

◆ GetMediumLevelILAliasedVariablesIfAvailable()

set< Variable > Function::GetMediumLevelILAliasedVariablesIfAvailable ( )

◆ GetMediumLevelILSSAVariablesIfAvailable()

set< SSAVariable > Function::GetMediumLevelILSSAVariablesIfAvailable ( )

◆ GetHighLevelILVariablesIfAvailable()

set< Variable > Function::GetHighLevelILVariablesIfAvailable ( )

◆ GetHighLevelILAliasedVariablesIfAvailable()

set< Variable > Function::GetHighLevelILAliasedVariablesIfAvailable ( )

◆ GetHighLevelILSSAVariablesIfAvailable()

set< SSAVariable > Function::GetHighLevelILSSAVariablesIfAvailable ( )

◆ CreateAutoVariable()

void Function::CreateAutoVariable ( const Variable var,
const Confidence< Ref< Type > > &  type,
const std::string &  name,
bool  ignoreDisjointUses = false 
)

◆ CreateUserVariable()

void Function::CreateUserVariable ( const Variable var,
const Confidence< Ref< Type > > &  type,
const std::string &  name,
bool  ignoreDisjointUses = false 
)

◆ DeleteAutoVariable()

void BinaryNinja::Function::DeleteAutoVariable ( const Variable var)

◆ DeleteUserVariable()

void Function::DeleteUserVariable ( const Variable var)

◆ IsVariableUserDefinded()

bool Function::IsVariableUserDefinded ( const Variable var)

◆ GetVariableType()

Confidence< Ref< Type > > Function::GetVariableType ( const Variable var)

◆ GetVariableName()

string Function::GetVariableName ( const Variable var)

◆ GetVariableNameOrDefault()

string Function::GetVariableNameOrDefault ( const Variable var)

◆ GetLastSeenVariableNameOrDefault()

string Function::GetLastSeenVariableNameOrDefault ( const Variable var)

◆ SetAutoIndirectBranches()

void Function::SetAutoIndirectBranches ( Architecture sourceArch,
uint64_t  source,
const std::vector< ArchAndAddr > &  branches 
)

◆ SetUserIndirectBranches()

void Function::SetUserIndirectBranches ( Architecture sourceArch,
uint64_t  source,
const std::vector< ArchAndAddr > &  branches 
)

◆ GetIndirectBranches()

vector< IndirectBranchInfo > Function::GetIndirectBranches ( )

◆ GetIndirectBranchesAt()

vector< IndirectBranchInfo > Function::GetIndirectBranchesAt ( Architecture arch,
uint64_t  addr 
)

◆ GetUnresolvedIndirectBranches()

vector< uint64_t > Function::GetUnresolvedIndirectBranches ( )

◆ HasUnresolvedIndirectBranches()

bool Function::HasUnresolvedIndirectBranches ( )

◆ SetAutoCallTypeAdjustment()

void Function::SetAutoCallTypeAdjustment ( Architecture arch,
uint64_t  addr,
const Confidence< Ref< Type > > &  adjust 
)

◆ SetAutoCallStackAdjustment()

void Function::SetAutoCallStackAdjustment ( Architecture arch,
uint64_t  addr,
const Confidence< int64_t > &  adjust 
)

◆ SetAutoCallRegisterStackAdjustment() [1/2]

void BinaryNinja::Function::SetAutoCallRegisterStackAdjustment ( Architecture arch,
uint64_t  addr,
const std::map< uint32_t, Confidence< int32_t > > &  adjust 
)

◆ SetAutoCallRegisterStackAdjustment() [2/2]

void Function::SetAutoCallRegisterStackAdjustment ( Architecture arch,
uint64_t  addr,
uint32_t  regStack,
const Confidence< int32_t > &  adjust 
)

◆ SetUserCallTypeAdjustment()

void Function::SetUserCallTypeAdjustment ( Architecture arch,
uint64_t  addr,
const Confidence< Ref< Type > > &  adjust 
)

◆ SetUserCallStackAdjustment()

void Function::SetUserCallStackAdjustment ( Architecture arch,
uint64_t  addr,
const Confidence< int64_t > &  adjust 
)

◆ SetUserCallRegisterStackAdjustment() [1/2]

void BinaryNinja::Function::SetUserCallRegisterStackAdjustment ( Architecture arch,
uint64_t  addr,
const std::map< uint32_t, Confidence< int32_t > > &  adjust 
)

◆ SetUserCallRegisterStackAdjustment() [2/2]

void Function::SetUserCallRegisterStackAdjustment ( Architecture arch,
uint64_t  addr,
uint32_t  regStack,
const Confidence< int32_t > &  adjust 
)

◆ GetCallTypeAdjustment()

Confidence< Ref< Type > > Function::GetCallTypeAdjustment ( Architecture arch,
uint64_t  addr 
)

◆ GetCallStackAdjustment()

Confidence< int64_t > Function::GetCallStackAdjustment ( Architecture arch,
uint64_t  addr 
)

◆ GetCallRegisterStackAdjustment() [1/2]

map< uint32_t, Confidence< int32_t > > Function::GetCallRegisterStackAdjustment ( Architecture arch,
uint64_t  addr 
)

◆ GetCallRegisterStackAdjustment() [2/2]

Confidence< int32_t > Function::GetCallRegisterStackAdjustment ( Architecture arch,
uint64_t  addr,
uint32_t  regStack 
)

◆ IsCallInstruction()

bool Function::IsCallInstruction ( Architecture arch,
uint64_t  addr 
)

◆ GetBlockAnnotations()

vector< vector< InstructionTextToken > > Function::GetBlockAnnotations ( Architecture arch,
uint64_t  addr 
)

◆ GetIntegerConstantDisplayType()

BNIntegerDisplayType Function::GetIntegerConstantDisplayType ( Architecture arch,
uint64_t  instrAddr,
uint64_t  value,
size_t  operand 
)

◆ GetIntegerConstantDisplayTypeEnumType()

Ref< Type > Function::GetIntegerConstantDisplayTypeEnumType ( Architecture arch,
uint64_t  instrAddr,
uint64_t  value,
size_t  operand 
)

◆ SetIntegerConstantDisplayType()

void Function::SetIntegerConstantDisplayType ( Architecture arch,
uint64_t  instrAddr,
uint64_t  value,
size_t  operand,
BNIntegerDisplayType  type,
Ref< Type enumType = nullptr 
)

◆ GetIntegerConstantDisplayTypeAndEnumType()

std::pair< BNIntegerDisplayType, Ref< Type > > Function::GetIntegerConstantDisplayTypeAndEnumType ( Architecture arch,
uint64_t  instrAddr,
uint64_t  value,
size_t  operand 
)

◆ GetInstructionHighlight()

BNHighlightColor Function::GetInstructionHighlight ( Architecture arch,
uint64_t  addr 
)

◆ SetAutoInstructionHighlight() [1/4]

void Function::SetAutoInstructionHighlight ( Architecture arch,
uint64_t  addr,
BNHighlightColor  color 
)

◆ SetAutoInstructionHighlight() [2/4]

void Function::SetAutoInstructionHighlight ( Architecture arch,
uint64_t  addr,
BNHighlightStandardColor  color,
uint8_t  alpha = 255 
)

◆ SetAutoInstructionHighlight() [3/4]

void Function::SetAutoInstructionHighlight ( Architecture arch,
uint64_t  addr,
BNHighlightStandardColor  color,
BNHighlightStandardColor  mixColor,
uint8_t  mix,
uint8_t  alpha = 255 
)

◆ SetAutoInstructionHighlight() [4/4]

void Function::SetAutoInstructionHighlight ( Architecture arch,
uint64_t  addr,
uint8_t  r,
uint8_t  g,
uint8_t  b,
uint8_t  alpha = 255 
)

◆ SetUserInstructionHighlight() [1/4]

void Function::SetUserInstructionHighlight ( Architecture arch,
uint64_t  addr,
BNHighlightColor  color 
)

◆ SetUserInstructionHighlight() [2/4]

void Function::SetUserInstructionHighlight ( Architecture arch,
uint64_t  addr,
BNHighlightStandardColor  color,
uint8_t  alpha = 255 
)

◆ SetUserInstructionHighlight() [3/4]

void Function::SetUserInstructionHighlight ( Architecture arch,
uint64_t  addr,
BNHighlightStandardColor  color,
BNHighlightStandardColor  mixColor,
uint8_t  mix,
uint8_t  alpha = 255 
)

◆ SetUserInstructionHighlight() [4/4]

void Function::SetUserInstructionHighlight ( Architecture arch,
uint64_t  addr,
uint8_t  r,
uint8_t  g,
uint8_t  b,
uint8_t  alpha = 255 
)

◆ GetAllTagReferences()

std::vector< TagReference > Function::GetAllTagReferences ( )

◆ GetTagReferencesOfType()

std::vector< TagReference > Function::GetTagReferencesOfType ( Ref< TagType tagType)

◆ GetAddressTagReferences()

std::vector< TagReference > Function::GetAddressTagReferences ( )

◆ GetAutoAddressTagReferences()

std::vector< TagReference > Function::GetAutoAddressTagReferences ( )

◆ GetUserAddressTagReferences()

std::vector< TagReference > Function::GetUserAddressTagReferences ( )

◆ GetAddressTags()

std::vector< Ref< Tag > > Function::GetAddressTags ( Architecture arch,
uint64_t  addr 
)

◆ GetAutoAddressTags()

std::vector< Ref< Tag > > Function::GetAutoAddressTags ( Architecture arch,
uint64_t  addr 
)

◆ GetUserAddressTags()

std::vector< Ref< Tag > > Function::GetUserAddressTags ( Architecture arch,
uint64_t  addr 
)

◆ GetAddressTagsOfType()

std::vector< Ref< Tag > > Function::GetAddressTagsOfType ( Architecture arch,
uint64_t  addr,
Ref< TagType tagType 
)

◆ GetAutoAddressTagsOfType()

std::vector< Ref< Tag > > Function::GetAutoAddressTagsOfType ( Architecture arch,
uint64_t  addr,
Ref< TagType tagType 
)

◆ GetUserAddressTagsOfType()

std::vector< Ref< Tag > > Function::GetUserAddressTagsOfType ( Architecture arch,
uint64_t  addr,
Ref< TagType tagType 
)

◆ GetAddressTagsInRange()

std::vector< TagReference > Function::GetAddressTagsInRange ( Architecture arch,
uint64_t  start,
uint64_t  end 
)

◆ GetAutoAddressTagsInRange()

std::vector< TagReference > Function::GetAutoAddressTagsInRange ( Architecture arch,
uint64_t  start,
uint64_t  end 
)

◆ GetUserAddressTagsInRange()

std::vector< TagReference > Function::GetUserAddressTagsInRange ( Architecture arch,
uint64_t  start,
uint64_t  end 
)

◆ AddAutoAddressTag()

void Function::AddAutoAddressTag ( Architecture arch,
uint64_t  addr,
Ref< Tag tag 
)

◆ RemoveAutoAddressTag()

void Function::RemoveAutoAddressTag ( Architecture arch,
uint64_t  addr,
Ref< Tag tag 
)

◆ RemoveAutoAddressTagsOfType()

void Function::RemoveAutoAddressTagsOfType ( Architecture arch,
uint64_t  addr,
Ref< TagType tagType 
)

◆ AddUserAddressTag()

void Function::AddUserAddressTag ( Architecture arch,
uint64_t  addr,
Ref< Tag tag 
)

◆ RemoveUserAddressTag()

void Function::RemoveUserAddressTag ( Architecture arch,
uint64_t  addr,
Ref< Tag tag 
)

◆ RemoveUserAddressTagsOfType()

void Function::RemoveUserAddressTagsOfType ( Architecture arch,
uint64_t  addr,
Ref< TagType tagType 
)

◆ GetFunctionTagReferences()

std::vector< TagReference > Function::GetFunctionTagReferences ( )

◆ GetAutoFunctionTagReferences()

std::vector< TagReference > Function::GetAutoFunctionTagReferences ( )

◆ GetUserFunctionTagReferences()

std::vector< TagReference > Function::GetUserFunctionTagReferences ( )

◆ GetFunctionTags()

std::vector< Ref< Tag > > Function::GetFunctionTags ( )

◆ GetAutoFunctionTags()

std::vector< Ref< Tag > > Function::GetAutoFunctionTags ( )

◆ GetUserFunctionTags()

std::vector< Ref< Tag > > Function::GetUserFunctionTags ( )

◆ GetFunctionTagsOfType()

std::vector< Ref< Tag > > Function::GetFunctionTagsOfType ( Ref< TagType tagType)

◆ GetAutoFunctionTagsOfType()

std::vector< Ref< Tag > > Function::GetAutoFunctionTagsOfType ( Ref< TagType tagType)

◆ GetUserFunctionTagsOfType()

std::vector< Ref< Tag > > Function::GetUserFunctionTagsOfType ( Ref< TagType tagType)

◆ AddAutoFunctionTag()

void Function::AddAutoFunctionTag ( Ref< Tag tag)

◆ RemoveAutoFunctionTag()

void Function::RemoveAutoFunctionTag ( Ref< Tag tag)

◆ RemoveAutoFunctionTagsOfType()

void Function::RemoveAutoFunctionTagsOfType ( Ref< TagType tagType)

◆ AddUserFunctionTag()

void Function::AddUserFunctionTag ( Ref< Tag tag)

◆ RemoveUserFunctionTag()

void Function::RemoveUserFunctionTag ( Ref< Tag tag)

◆ RemoveUserFunctionTagsOfType()

void Function::RemoveUserFunctionTagsOfType ( Ref< TagType tagType)

◆ CreateAutoAddressTag() [1/2]

Ref< Tag > Function::CreateAutoAddressTag ( Architecture arch,
uint64_t  addr,
const std::string &  tagTypeName,
const std::string &  data,
bool  unique = false 
)

◆ CreateUserAddressTag() [1/2]

Ref< Tag > Function::CreateUserAddressTag ( Architecture arch,
uint64_t  addr,
const std::string &  tagTypeName,
const std::string &  data,
bool  unique = false 
)

◆ CreateAutoFunctionTag() [1/2]

Ref< Tag > Function::CreateAutoFunctionTag ( const std::string &  tagTypeName,
const std::string &  data,
bool  unique = false 
)

◆ CreateUserFunctionTag() [1/2]

Ref< Tag > Function::CreateUserFunctionTag ( const std::string &  tagTypeName,
const std::string &  data,
bool  unique = false 
)

◆ CreateAutoAddressTag() [2/2]

Ref< Tag > Function::CreateAutoAddressTag ( Architecture arch,
uint64_t  addr,
Ref< TagType tagType,
const std::string &  data,
bool  unique = false 
)

◆ CreateUserAddressTag() [2/2]

Ref< Tag > Function::CreateUserAddressTag ( Architecture arch,
uint64_t  addr,
Ref< TagType tagType,
const std::string &  data,
bool  unique = false 
)

◆ CreateAutoFunctionTag() [2/2]

Ref< Tag > Function::CreateAutoFunctionTag ( Ref< TagType tagType,
const std::string &  data,
bool  unique = false 
)

◆ CreateUserFunctionTag() [2/2]

Ref< Tag > Function::CreateUserFunctionTag ( Ref< TagType tagType,
const std::string &  data,
bool  unique = false 
)

◆ Reanalyze()

void Function::Reanalyze ( BNFunctionUpdateType  type = UserFunctionUpdate)

◆ MarkUpdatesRequired()

void Function::MarkUpdatesRequired ( BNFunctionUpdateType  type = UserFunctionUpdate)

◆ MarkCallerUpdatesRequired()

void Function::MarkCallerUpdatesRequired ( BNFunctionUpdateType  type = UserFunctionUpdate)

◆ GetWorkflow()

Ref< Workflow > Function::GetWorkflow ( ) const

◆ RequestAdvancedAnalysisData()

void Function::RequestAdvancedAnalysisData ( )

◆ ReleaseAdvancedAnalysisData() [1/2]

void Function::ReleaseAdvancedAnalysisData ( )

◆ ReleaseAdvancedAnalysisData() [2/2]

void BinaryNinja::Function::ReleaseAdvancedAnalysisData ( size_t  count)

◆ GetAnalysisPerformanceInfo()

map< string, double > Function::GetAnalysisPerformanceInfo ( )

◆ GetTypeTokens()

vector< DisassemblyTextLine > Function::GetTypeTokens ( DisassemblySettings settings = nullptr)

◆ GetGlobalPointerValue()

Confidence< RegisterValue > Function::GetGlobalPointerValue ( ) const

◆ GetRegisterValueAtExit()

Confidence< RegisterValue > Function::GetRegisterValueAtExit ( uint32_t  reg) const

◆ IsFunctionTooLarge()

bool Function::IsFunctionTooLarge ( )

Whether the function is too large to automatically perform analysis.

Returns
Whether the function is too large to automatically perform analysis

◆ IsAnalysisSkipped()

bool Function::IsAnalysisSkipped ( )

Whether automatic analysis was skipped for this function.

Returns
Whether automatic analysis was skipped for this function.

◆ GetAnalysisSkipReason()

BNAnalysisSkipReason Function::GetAnalysisSkipReason ( )

◆ GetAnalysisSkipOverride()

BNFunctionAnalysisSkipOverride Function::GetAnalysisSkipOverride ( )

◆ SetAnalysisSkipOverride()

void Function::SetAnalysisSkipOverride ( BNFunctionAnalysisSkipOverride  skip)

◆ GetUnresolvedStackAdjustmentGraph()

Ref< FlowGraph > Function::GetUnresolvedStackAdjustmentGraph ( )

◆ SetUserVariableValue()

void Function::SetUserVariableValue ( const Variable var,
uint64_t  defAddr,
PossibleValueSet value 
)

◆ ClearUserVariableValue()

void Function::ClearUserVariableValue ( const Variable var,
uint64_t  defAddr 
)

◆ GetAllUserVariableValues()

map< Variable, map< ArchAndAddr, PossibleValueSet > > Function::GetAllUserVariableValues ( )

◆ ClearAllUserVariableValues()

void Function::ClearAllUserVariableValues ( )

◆ RequestDebugReport()

void Function::RequestDebugReport ( const std::string &  name)

◆ GetGotoLabelName()

string Function::GetGotoLabelName ( uint64_t  labelId)

Get the name for a given label ID.

Parameters
labelIdID For the label. Saved in the highlight token value.
Returns
Name for the label

◆ SetGotoLabelName()

void Function::SetGotoLabelName ( uint64_t  labelId,
const std::string &  name 
)

Set the name for a given label ID.

Parameters
labelIdID For the label. Saved in the highlight token value.
nameNew name for the label

◆ GetVariableDeadStoreElimination()

BNDeadStoreElimination Function::GetVariableDeadStoreElimination ( const Variable var)

◆ SetVariableDeadStoreElimination()

void Function::SetVariableDeadStoreElimination ( const Variable var,
BNDeadStoreElimination  mode 
)

◆ GetMergedVariables()

std::map< Variable, std::set< Variable > > Function::GetMergedVariables ( )

◆ MergeVariables()

void Function::MergeVariables ( const Variable target,
const std::set< Variable > &  sources 
)

◆ UnmergeVariables()

void Function::UnmergeVariables ( const Variable target,
const std::set< Variable > &  sources 
)

◆ GetSplitVariables()

std::set< Variable > Function::GetSplitVariables ( )

◆ SplitVariable()

void Function::SplitVariable ( const Variable var)

◆ UnsplitVariable()

void Function::UnsplitVariable ( const Variable var)

◆ GetHighestAddress()

uint64_t Function::GetHighestAddress ( )

The highest (largest) virtual address contained in a function.

Returns
The highest (largest) virtual address contained in a function.

◆ GetLowestAddress()

uint64_t Function::GetLowestAddress ( )

The lowest (smallest) virtual address contained in a function.

Returns
The lowest (smallest) virtual address contained in a function.

◆ GetAddressRanges()

std::vector< BNAddressRange > Function::GetAddressRanges ( )

All of the address ranges covered by a function.

Returns
All of the address ranges covered by a function

◆ GetInstructionContainingAddress()

bool Function::GetInstructionContainingAddress ( Architecture arch,
uint64_t  addr,
uint64_t *  start 
)

◆ IsInlinedDuringAnalysis()

Confidence< bool > Function::IsInlinedDuringAnalysis ( )

◆ SetAutoInlinedDuringAnalysis()

void Function::SetAutoInlinedDuringAnalysis ( Confidence< bool >  inlined)

◆ SetUserInlinedDuringAnalysis()

void Function::SetUserInlinedDuringAnalysis ( Confidence< bool >  inlined)

◆ BinaryNinja::AdvancedFunctionAnalysisDataRequestor

class BinaryNinja::AdvancedFunctionAnalysisDataRequestor

Public Member Functions

 AdvancedFunctionAnalysisDataRequestor (Function *func=nullptr)
 
 AdvancedFunctionAnalysisDataRequestor (const AdvancedFunctionAnalysisDataRequestor &req)
 
 ~AdvancedFunctionAnalysisDataRequestor ()
 
AdvancedFunctionAnalysisDataRequestoroperator= (const AdvancedFunctionAnalysisDataRequestor &req)
 
Ref< FunctionGetFunction ()
 
void SetFunction (Function *func)
 

Constructor & Destructor Documentation

◆ AdvancedFunctionAnalysisDataRequestor() [1/2]

AdvancedFunctionAnalysisDataRequestor::AdvancedFunctionAnalysisDataRequestor ( Function func = nullptr)

◆ AdvancedFunctionAnalysisDataRequestor() [2/2]

AdvancedFunctionAnalysisDataRequestor::AdvancedFunctionAnalysisDataRequestor ( const AdvancedFunctionAnalysisDataRequestor req)

◆ ~AdvancedFunctionAnalysisDataRequestor()

AdvancedFunctionAnalysisDataRequestor::~AdvancedFunctionAnalysisDataRequestor ( )

Member Function Documentation

◆ operator=()

AdvancedFunctionAnalysisDataRequestor & AdvancedFunctionAnalysisDataRequestor::operator= ( const AdvancedFunctionAnalysisDataRequestor req)

◆ GetFunction()

Ref< Function > BinaryNinja::AdvancedFunctionAnalysisDataRequestor::GetFunction ( )
inline

◆ SetFunction()

void AdvancedFunctionAnalysisDataRequestor::SetFunction ( Function func)