MCPcopy Create free account
hub / github.com/Vector35/binaryninja-api / ParseExportTrie

Method ParseExportTrie

view/kernelcache/core/KernelCache.cpp:1862–1880  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

1860
1861
1862std::vector<Ref<Symbol>> KernelCache::ParseExportTrie(Ref<BinaryView> view, KernelCacheMachOHeader header)
1863{
1864 if (!header.exportTriePresent || !header.exportTrie.dataoff || !header.exportTrie.datasize)
1865 return {};
1866
1867 std::vector<Ref<Symbol>> symbols;
1868 try
1869 {
1870 std::vector<ExportNode> nodes;
1871
1872 DataBuffer buffer = view->GetParentView()->ReadBuffer(header.exportTrie.dataoff, header.exportTrie.datasize);
1873 ReadExportNode(view, symbols, header, buffer, header.textBase, "", 0, header.exportTrie.datasize);
1874 }
1875 catch (std::exception& e)
1876 {
1877 BNLogError("Failed to load Export Trie");
1878 }
1879 return symbols;
1880}
1881
1882std::vector<std::string> KernelCache::GetAvailableImages()
1883{

Callers

nothing calls this directly

Calls 2

GetParentViewMethod · 0.80
ReadBufferMethod · 0.45

Tested by

no test coverage detected