Binary Ninja API C++: Database

Classes

struct  BinaryNinja::DatabaseException
class  BinaryNinja::KeyValueStore
 Maintains access to the raw data stored in Snapshots and various other Database-related structures. More...
class  BinaryNinja::Snapshot
 A model of an individual database snapshot, created on save. More...
class  BinaryNinja::Database
 Provides lower level access to raw snapshot data used to construct analysis data. More...

◆ BinaryNinja::DatabaseException

struct BinaryNinja::DatabaseException

◆ BinaryNinja::KeyValueStore

class BinaryNinja::KeyValueStore

Maintains access to the raw data stored in Snapshots and various other Database-related structures.

Public Member Functions

 KeyValueStore ()
 KeyValueStore (const DataBuffer &buffer)
 KeyValueStore (BNKeyValueStore *store)
std::vector< std::string > GetKeys () const
bool HasValue (const std::string &name) const
Json::Value GetValue (const std::string &name) const
DataBuffer GetValueHash (const std::string &name) const
DataBuffer GetBuffer (const std::string &name) const
void SetValue (const std::string &name, const Json::Value &value)
void SetBuffer (const std::string &name, const DataBuffer &value)
DataBuffer GetSerializedData () const
void BeginNamespace (const std::string &name)
void EndNamespace ()
bool IsEmpty () const
size_t ValueSize () const
size_t DataSize () const
size_t ValueStorageSize () const
size_t NamespaceSize () const
Public Member Functions inherited from BinaryNinja::CoreRefCountObject< BNKeyValueStore, BNNewKeyValueStoreReference, BNFreeKeyValueStore >
 CoreRefCountObject ()
virtual ~CoreRefCountObject ()
BNKeyValueStoreGetObject () const
void AddRef ()
void Release ()
void AddRefForRegistration ()
void ReleaseForRegistration ()
void AddRefForCallback ()
void ReleaseForCallback ()

◆ KeyValueStore() [1/3]

KeyValueStore::KeyValueStore ( )

◆ KeyValueStore() [2/3]

KeyValueStore::KeyValueStore ( const DataBuffer & buffer)

◆ KeyValueStore() [3/3]

◆ GetKeys()

std::vector< std::string > KeyValueStore::GetKeys ( ) const

◆ HasValue()

bool KeyValueStore::HasValue ( const std::string & name) const

◆ GetValue()

Json::Value KeyValueStore::GetValue ( const std::string & name) const

◆ GetValueHash()

DataBuffer KeyValueStore::GetValueHash ( const std::string & name) const

◆ GetBuffer()

DataBuffer KeyValueStore::GetBuffer ( const std::string & name) const

◆ SetValue()

void KeyValueStore::SetValue ( const std::string & name,
const Json::Value & value )

◆ SetBuffer()

void KeyValueStore::SetBuffer ( const std::string & name,
const DataBuffer & value )

◆ GetSerializedData()

DataBuffer KeyValueStore::GetSerializedData ( ) const

◆ BeginNamespace()

void KeyValueStore::BeginNamespace ( const std::string & name)

◆ EndNamespace()

void KeyValueStore::EndNamespace ( )

◆ IsEmpty()

bool KeyValueStore::IsEmpty ( ) const

◆ ValueSize()

size_t KeyValueStore::ValueSize ( ) const

◆ DataSize()

size_t KeyValueStore::DataSize ( ) const

◆ ValueStorageSize()

size_t KeyValueStore::ValueStorageSize ( ) const

◆ NamespaceSize()

size_t KeyValueStore::NamespaceSize ( ) const

◆ BinaryNinja::Snapshot

class BinaryNinja::Snapshot

◆ BinaryNinja::Database

class BinaryNinja::Database

Provides lower level access to raw snapshot data used to construct analysis data.

Public Member Functions

 Database (BNDatabase *database)
bool SnapshotHasData (int64_t id)
Ref< SnapshotGetSnapshot (int64_t id)
std::vector< Ref< Snapshot > > GetSnapshots ()
void SetCurrentSnapshot (int64_t id)
Ref< SnapshotGetCurrentSnapshot ()
int64_t WriteSnapshotData (std::vector< int64_t > parents, Ref< BinaryView > file, const std::string &name, const Ref< KeyValueStore > &data, bool autoSave, const ProgressFunction &progress)
void TrimSnapshot (int64_t id)
void RemoveSnapshot (int64_t id)
std::vector< std::string > GetGlobalKeys () const
bool HasGlobal (const std::string &key) const
Json::Value ReadGlobal (const std::string &key) const
void WriteGlobal (const std::string &key, const Json::Value &val)
DataBuffer ReadGlobalData (const std::string &key) const
void WriteGlobalData (const std::string &key, const DataBuffer &val)
Ref< FileMetadataGetFile ()
void ReloadConnection ()
Ref< KeyValueStoreReadAnalysisCache () const
void WriteAnalysisCache (Ref< KeyValueStore > val)
Public Member Functions inherited from BinaryNinja::CoreRefCountObject< BNDatabase, BNNewDatabaseReference, BNFreeDatabase >
 CoreRefCountObject ()
virtual ~CoreRefCountObject ()
BNDatabaseGetObject () const
void AddRef ()
void Release ()
void AddRefForRegistration ()
void ReleaseForRegistration ()
void AddRefForCallback ()
void ReleaseForCallback ()

◆ SnapshotHasData()

bool Database::SnapshotHasData ( int64_t id)

◆ GetSnapshot()

Ref< Snapshot > Database::GetSnapshot ( int64_t id)

◆ GetSnapshots()

vector< Ref< Snapshot > > Database::GetSnapshots ( )

◆ SetCurrentSnapshot()

void Database::SetCurrentSnapshot ( int64_t id)

◆ GetCurrentSnapshot()

Ref< Snapshot > Database::GetCurrentSnapshot ( )

◆ WriteSnapshotData()

int64_t Database::WriteSnapshotData ( std::vector< int64_t > parents,
Ref< BinaryView > file,
const std::string & name,
const Ref< KeyValueStore > & data,
bool autoSave,
const ProgressFunction & progress )

◆ TrimSnapshot()

void Database::TrimSnapshot ( int64_t id)

◆ RemoveSnapshot()

void Database::RemoveSnapshot ( int64_t id)

◆ GetGlobalKeys()

std::vector< std::string > Database::GetGlobalKeys ( ) const

◆ HasGlobal()

bool Database::HasGlobal ( const std::string & key) const

◆ ReadGlobal()

Json::Value Database::ReadGlobal ( const std::string & key) const

◆ WriteGlobal()

void Database::WriteGlobal ( const std::string & key,
const Json::Value & val )

◆ ReadGlobalData()

DataBuffer Database::ReadGlobalData ( const std::string & key) const

◆ WriteGlobalData()

void Database::WriteGlobalData ( const std::string & key,
const DataBuffer & val )

◆ GetFile()

◆ ReloadConnection()

void Database::ReloadConnection ( )

◆ ReadAnalysisCache()

Ref< KeyValueStore > Database::ReadAnalysisCache ( ) const

◆ WriteAnalysisCache()

void Database::WriteAnalysisCache ( Ref< KeyValueStore > val)