FirmwareNinjaRelationship is a class used to represent inter-binary and cross-binary relationships. More...
FirmwareNinjaRelationship is a class used to represent inter-binary and cross-binary relationships.
This class is only available in the Ultimate Edition of Binary Ninja.
Public Member Functions | |
FirmwareNinjaRelationship (Ref< BinaryView > view, BNFirmwareNinjaRelationship *relationship=nullptr) | |
~FirmwareNinjaRelationship () | |
void | SetPrimaryAddress (uint64_t address) |
Set the primary relationship object to an address. | |
void | SetPrimaryDataVariable (DataVariable &variable) |
Set the primary relationship object to a data variable. | |
void | SetPrimaryFunction (Ref< Function > function) |
Set the primary relationship object to a function. | |
bool | PrimaryIsAddress () const |
Determine if the primary object is an address. | |
bool | PrimaryIsDataVariable () const |
Returns true if the primary object is a data variable. | |
bool | PrimaryIsFunction () const |
Returns true if the primary object is a function. | |
bool | GetPrimaryDataVariable (DataVariable &var) |
Get the primary data variable contained in the relationship. | |
std::optional< uint64_t > | GetPrimaryAddress () const |
Get the primary address contained in the relationship. | |
Ref< Function > | GetPrimaryFunction () const |
Get the primary function contained in the relationship. | |
void | SetSecondaryAddress (uint64_t address) |
Set the secondary relationship object to an address. | |
void | SetSecondaryDataVariable (DataVariable &variable) |
Set the secondary relationship object to a data variable. | |
void | SetSecondaryFunction (Ref< Function > function) |
Set the secondary relationship object to a function. | |
void | SetSecondaryExternalAddress (Ref< ProjectFile > projectFile, uint64_t address) |
Set the secondary relationship object to an external address. | |
void | SetSecondaryExternalSymbol (Ref< ProjectFile > projectFile, const std::string &symbol) |
Set the secondary relationship object to an external symbol. | |
bool | SecondaryIsAddress () const |
Determine if the secondary object is an address in the current binary view. | |
bool | SecondaryIsDataVariable () const |
Returns true if the secondary object is a data variable in the current binary view. | |
bool | SecondaryIsFunction () const |
Returns true if the secondary object is a function in the current binary view. | |
bool | SecondaryIsExternalAddress () const |
Returns true if the secondary object is an address contained in another binary in the project. | |
bool | SecondaryIsExternalSymbol () const |
Returns true if the secondary object is a symbol contained in another binary in the project. | |
Ref< ProjectFile > | GetSecondaryExternalProjectFile () const |
Get the secondary object's external project file. | |
std::optional< uint64_t > | GetSecondaryAddress () const |
Get the secondary address from the relationship. | |
bool | GetSecondaryDataVariable (DataVariable &variable) |
Get the secondary data variable from the relationship. | |
Ref< Function > | GetSecondaryFunction () const |
Get the secondary function from the relationship. | |
std::string | GetSecondaryExternalSymbol () const |
Get the secondary external address from the relationship. | |
void | SetDescription (const std::string &description) |
Set the description of the relationship. | |
std::string | GetDescription () const |
Get the description of the relationship. | |
void | SetProvenance (const std::string &provenance) |
Set the provenance for the relationship. | |
std::string | GetProvenance () const |
Get the provenance for the relationship. | |
std::string | GetGuid () const |
Get the relationship identifier. | |
![]() | |
CoreRefCountObject () | |
virtual | ~CoreRefCountObject () |
BNFirmwareNinjaRelationship * | GetObject () const |
void | AddRef () |
void | Release () |
void | AddRefForRegistration () |
void | ReleaseForRegistration () |
void | AddRefForCallback () |
void | ReleaseForCallback () |
Additional Inherited Members | |
![]() | |
static BNFirmwareNinjaRelationship * | GetObject (CoreRefCountObject *obj) |
static BNFirmwareNinjaRelationship * | GetObject (const CoreRefCountObject *obj) |
![]() | |
std::atomic< int > | m_refs |
bool | m_registeredRef |
BNFirmwareNinjaRelationship * | m_object |
FirmwareNinjaRelationship::FirmwareNinjaRelationship | ( | Ref< BinaryView > | view, |
BNFirmwareNinjaRelationship * | relationship = nullptr ) |
FirmwareNinjaRelationship::~FirmwareNinjaRelationship | ( | ) |
void FirmwareNinjaRelationship::SetPrimaryAddress | ( | uint64_t | address | ) |
Set the primary relationship object to an address.
address | Address in current binary view |
void FirmwareNinjaRelationship::SetPrimaryDataVariable | ( | DataVariable & | variable | ) |
Set the primary relationship object to a data variable.
var | DataVariable in current binary view |
Set the primary relationship object to a function.
function | Function in current binary view |
bool FirmwareNinjaRelationship::PrimaryIsAddress | ( | ) | const |
Determine if the primary object is an address.
bool FirmwareNinjaRelationship::PrimaryIsDataVariable | ( | ) | const |
Returns true if the primary object is a data variable.
bool FirmwareNinjaRelationship::PrimaryIsFunction | ( | ) | const |
Returns true if the primary object is a function.
bool FirmwareNinjaRelationship::GetPrimaryDataVariable | ( | DataVariable & | var | ) |
Get the primary data variable contained in the relationship.
var | Output data variable |
std::optional< uint64_t > FirmwareNinjaRelationship::GetPrimaryAddress | ( | ) | const |
Get the primary address contained in the relationship.
Get the primary function contained in the relationship.
void FirmwareNinjaRelationship::SetSecondaryAddress | ( | uint64_t | address | ) |
Set the secondary relationship object to an address.
address | Address in current binary view |
void FirmwareNinjaRelationship::SetSecondaryDataVariable | ( | DataVariable & | variable | ) |
Set the secondary relationship object to a data variable.
var | DataVariable in current binary view |
Set the secondary relationship object to a function.
function | Function in current binary view |
void FirmwareNinjaRelationship::SetSecondaryExternalAddress | ( | Ref< ProjectFile > | projectFile, |
uint64_t | address ) |
Set the secondary relationship object to an external address.
projectFile | Project file for external binary in the project |
address | Address in the external binary |
void FirmwareNinjaRelationship::SetSecondaryExternalSymbol | ( | Ref< ProjectFile > | projectFile, |
const std::string & | symbol ) |
bool FirmwareNinjaRelationship::SecondaryIsAddress | ( | ) | const |
Determine if the secondary object is an address in the current binary view.
bool FirmwareNinjaRelationship::SecondaryIsDataVariable | ( | ) | const |
Returns true if the secondary object is a data variable in the current binary view.
bool FirmwareNinjaRelationship::SecondaryIsFunction | ( | ) | const |
Returns true if the secondary object is a function in the current binary view.
bool FirmwareNinjaRelationship::SecondaryIsExternalAddress | ( | ) | const |
Returns true if the secondary object is an address contained in another binary in the project.
bool FirmwareNinjaRelationship::SecondaryIsExternalSymbol | ( | ) | const |
Returns true if the secondary object is a symbol contained in another binary in the project.
Ref< ProjectFile > FirmwareNinjaRelationship::GetSecondaryExternalProjectFile | ( | ) | const |
Get the secondary object's external project file.
std::optional< uint64_t > FirmwareNinjaRelationship::GetSecondaryAddress | ( | ) | const |
Get the secondary address from the relationship.
bool FirmwareNinjaRelationship::GetSecondaryDataVariable | ( | DataVariable & | variable | ) |
Get the secondary data variable from the relationship.
var | Output data variable |
Get the secondary function from the relationship.
std::string FirmwareNinjaRelationship::GetSecondaryExternalSymbol | ( | ) | const |
Get the secondary external address from the relationship.
void FirmwareNinjaRelationship::SetDescription | ( | const std::string & | description | ) |
Set the description of the relationship.
description | Description string |
std::string FirmwareNinjaRelationship::GetDescription | ( | ) | const |
Get the description of the relationship.
void FirmwareNinjaRelationship::SetProvenance | ( | const std::string & | provenance | ) |
Set the provenance for the relationship.
provenance | Provenance string |
std::string FirmwareNinjaRelationship::GetProvenance | ( | ) | const |
Get the provenance for the relationship.
std::string FirmwareNinjaRelationship::GetGuid | ( | ) | const |
Get the relationship identifier.