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

Function VFTAnalysis

plugins/rtti/plugin.cpp:35–47  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

33
34
35void VFTAnalysis(const Ref<AnalysisContext>& analysisContext)
36{
37 auto view = analysisContext->GetBinaryView();
38 if (!MetadataExists(view))
39 return;
40 auto microsoftProcessor = RTTI::Microsoft::MicrosoftRTTIProcessor(view);
41 microsoftProcessor.ProcessVFT();
42 // TODO: We have to store the data for the second processor to pick up the info.
43 view->StoreMetadata(VIEW_METADATA_RTTI, microsoftProcessor.SerializedMetadata(), true);
44 auto itaniumProcessor = RTTI::Itanium::ItaniumRTTIProcessor(view);
45 itaniumProcessor.ProcessVFT();
46 view->StoreMetadata(VIEW_METADATA_RTTI, itaniumProcessor.SerializedMetadata(), true);
47}
48
49
50extern "C" {

Callers

nothing calls this directly

Calls 7

MetadataExistsFunction · 0.85
GetBinaryViewMethod · 0.80
SerializedMetadataMethod · 0.80
ProcessVFTMethod · 0.45
StoreMetadataMethod · 0.45

Tested by

no test coverage detected