From 578c5e77a60957a4d04eaac000679de3e5534e7b Mon Sep 17 00:00:00 2001 From: Mason Reed Date: Thu, 3 Apr 2025 13:00:47 -0400 Subject: [SharedCache] Identify unloaded symbols that are called in standard functions Fixes https://github.com/Vector35/binaryninja-api/issues/6550 --- view/sharedcache/api/sharedcache.cpp | 10 ++++++++++ view/sharedcache/api/sharedcacheapi.h | 2 ++ 2 files changed, 12 insertions(+) (limited to 'view/sharedcache/api') diff --git a/view/sharedcache/api/sharedcache.cpp b/view/sharedcache/api/sharedcache.cpp index 8c9b2234..b92a0e64 100644 --- a/view/sharedcache/api/sharedcache.cpp +++ b/view/sharedcache/api/sharedcache.cpp @@ -125,6 +125,16 @@ std::string SharedCacheAPI::GetRegionTypeAsString(const BNSharedCacheRegionType } } +Ref CacheSymbol::GetBNSymbol(BinaryView &view) const +{ + QualifiedName qname; + Ref outType; + std::string shortName = name; + if (DemangleGeneric(view.GetDefaultArchitecture(), name, outType, qname, &view, true)) + shortName = qname.GetString(); + return new Symbol(type, shortName, shortName, name, address, nullptr); +} + std::string SharedCacheAPI::GetSymbolTypeAsString(const BNSymbolType &type) { // NOTE: We currently only use the function and data symbol for cache symbols. diff --git a/view/sharedcache/api/sharedcacheapi.h b/view/sharedcache/api/sharedcacheapi.h index ee49140e..db5eeefc 100644 --- a/view/sharedcache/api/sharedcacheapi.h +++ b/view/sharedcache/api/sharedcacheapi.h @@ -287,6 +287,8 @@ namespace SharedCacheAPI { BNSymbolType type; uint64_t address; std::string name; + + BinaryNinja::Ref GetBNSymbol(BinaryNinja::BinaryView& view) const; }; std::string GetSymbolTypeAsString(const BNSymbolType& type); -- cgit v1.3.1