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

Function GetRealSymbol

plugins/rtti/itanium.cpp:14–27  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

12
13
14Ref<Symbol> GetRealSymbol(BinaryView *view, uint64_t relocAddr, uint64_t symAddr)
15{
16 if (view->IsOffsetExternSemantics(symAddr))
17 {
18 // Because bases in the extern section are not 8 byte width only they will
19 // overlap with other externs, until https://github.com/Vector35/binaryninja-api/issues/6387 is fixed.
20 // Check relocation at objectAddr for symbol
21 for (const auto& r : view->GetRelocationsAt(relocAddr))
22 if (auto relocSym = r->GetSymbol())
23 return relocSym;
24 }
25
26 return view->GetSymbolByAddress(symAddr);
27}
28
29
30// Some fields are not always u32, use this if it goes from u32 -> u16 on 32bit

Callers 2

ReadTypeInfoVariantFunction · 0.85
ProcessVFTMethod · 0.85

Calls 4

GetRelocationsAtMethod · 0.80
GetSymbolByAddressMethod · 0.80
GetSymbolMethod · 0.45

Tested by

no test coverage detected