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

Function RTTIAnalysis

plugins/rtti/plugin.cpp:14–32  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

12
13
14void RTTIAnalysis(const Ref<AnalysisContext>& analysisContext)
15{
16 auto view = analysisContext->GetBinaryView();
17 auto platform = view->GetDefaultPlatform();
18 if (!platform)
19 return;
20 auto platformName = platform->GetName();
21 if (platformName.find("window") != std::string::npos)
22 {
23 // We currently only want to check for MSVC rtti on windows platforms
24 auto processor = RTTI::Microsoft::MicrosoftRTTIProcessor(view);
25 processor.ProcessRTTI();
26 view->StoreMetadata(VIEW_METADATA_RTTI, processor.SerializedMetadata(), true);
27 }
28
29 auto processor = RTTI::Itanium::ItaniumRTTIProcessor(view);
30 processor.ProcessRTTI();
31 view->StoreMetadata(VIEW_METADATA_RTTI, processor.SerializedMetadata(), true);
32}
33
34
35void VFTAnalysis(const Ref<AnalysisContext>& analysisContext)

Callers

nothing calls this directly

Calls 9

GetBinaryViewMethod · 0.80
GetDefaultPlatformMethod · 0.80
findMethod · 0.80
SerializedMetadataMethod · 0.80
GetNameMethod · 0.45
ProcessRTTIMethod · 0.45
StoreMetadataMethod · 0.45

Tested by

no test coverage detected