diff options
| author | Mason Reed <mason@vector35.com> | 2025-02-13 20:28:29 -0500 |
|---|---|---|
| committer | Mason Reed <mason@vector35.com> | 2025-02-17 21:22:18 -0500 |
| commit | edcba9286268656ee3c5594051263c51c1011f39 (patch) | |
| tree | 10c7f436b8dbef3b6050ff02ebbafe865635bd4d /view/sharedcache/core/SharedCache.h | |
| parent | 9fa3dd7b2f00fe2e988e319d3fdb83ee99e30cd0 (diff) | |
[SharedCache] Split out symbol processing into own function
Split out from https://github.com/WeiN76LQh/binaryninja-api/tree/process-local-symbols
Diffstat (limited to 'view/sharedcache/core/SharedCache.h')
| -rw-r--r-- | view/sharedcache/core/SharedCache.h | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/view/sharedcache/core/SharedCache.h b/view/sharedcache/core/SharedCache.h index ee4228ef..c683806c 100644 --- a/view/sharedcache/core/SharedCache.h +++ b/view/sharedcache/core/SharedCache.h @@ -643,7 +643,10 @@ private: std::shared_ptr<MMappedFileAccessor> linkeditFile, const SharedCacheMachOHeader& header); std::shared_ptr<std::unordered_map<uint64_t, Ref<Symbol>>> GetExportListForHeader(std::lock_guard<std::mutex>&, const SharedCacheMachOHeader& header, std::function<std::shared_ptr<MMappedFileAccessor>()> provideLinkeditFile, bool* didModifyExportList = nullptr); - std::shared_ptr<std::unordered_map<uint64_t, Ref<Symbol>>> GetExistingExportListForBaseAddress(std::lock_guard<std::mutex>&, uint64_t baseAddress) const; + std::shared_ptr<std::unordered_map<uint64_t, Ref<Symbol>>> GetExistingExportListForBaseAddress(std::lock_guard<std::mutex>&, uint64_t baseAddress) const; + void ProcessSymbols(std::shared_ptr<MMappedFileAccessor> file, const SharedCacheMachOHeader& header, + uint64_t stringsOffset, size_t stringsSize, uint64_t nlistEntriesOffset, uint32_t nlistCount, uint32_t nlistStartIndex = 0); + void ApplySymbol(Ref<BinaryView> view, Ref<TypeLibrary> typeLib, Ref<Symbol> symbol); void ProcessAllObjCSections(std::lock_guard<std::mutex>&); bool LoadImageWithInstallName(std::lock_guard<std::mutex>&, std::string installName, bool skipObjC); |
