summaryrefslogtreecommitdiff
path: root/plugins
diff options
context:
space:
mode:
authorMason Reed <mason@vector35.com>2024-10-26 13:59:46 -0400
committerMason Reed <mason@vector35.com>2024-10-26 13:59:46 -0400
commit4864ede6684833163153343b9604619c7e7a5dd6 (patch)
treeeece5a31cef849d1df4c2e38474ce3e3b730024b /plugins
parent27a74f2ed3256405ebd8ace5e01abb411a24cc95 (diff)
MSVC RTTI: misc formatting
Diffstat (limited to 'plugins')
-rw-r--r--plugins/msvc_rtti/plugin.cpp4
-rw-r--r--plugins/msvc_rtti/rtti.cpp13
2 files changed, 14 insertions, 3 deletions
diff --git a/plugins/msvc_rtti/plugin.cpp b/plugins/msvc_rtti/plugin.cpp
index 03ece2b7..8c7d5be5 100644
--- a/plugins/msvc_rtti/plugin.cpp
+++ b/plugins/msvc_rtti/plugin.cpp
@@ -7,11 +7,13 @@ using namespace BinaryNinja;
static Ref<BackgroundTask> rttiBackgroundTask = nullptr;
static Ref<BackgroundTask> vftBackgroundTask = nullptr;
+
bool MetadataExists(Ref<BinaryView> view)
{
return view->QueryMetadata(VIEW_METADATA_MSVC) != nullptr;
}
+
void RTTIAnalysis(Ref<AnalysisContext> analysisContext)
{
auto view = analysisContext->GetBinaryView();
@@ -29,6 +31,7 @@ void RTTIAnalysis(Ref<AnalysisContext> analysisContext)
rttiBackgroundTask->Finish();
}
+
void VFTAnalysis(Ref<AnalysisContext> analysisContext)
{
auto view = analysisContext->GetBinaryView();
@@ -41,6 +44,7 @@ void VFTAnalysis(Ref<AnalysisContext> analysisContext)
vftBackgroundTask->Finish();
}
+
extern "C" {
BN_DECLARE_CORE_ABI_VERSION
diff --git a/plugins/msvc_rtti/rtti.cpp b/plugins/msvc_rtti/rtti.cpp
index 6c0a2275..6d7bb641 100644
--- a/plugins/msvc_rtti/rtti.cpp
+++ b/plugins/msvc_rtti/rtti.cpp
@@ -307,6 +307,7 @@ Ref<Metadata> ClassInfo::SerializedMetadata()
return new Metadata(classInfoMeta);
}
+
ClassInfo ClassInfo::DeserializedMetadata(const Ref<Metadata> &metadata)
{
std::map<std::string, Ref<Metadata> > classInfoMeta = metadata->GetKeyValueStore();
@@ -320,6 +321,7 @@ ClassInfo ClassInfo::DeserializedMetadata(const Ref<Metadata> &metadata)
return info;
}
+
Ref<Metadata> VirtualFunctionTableInfo::SerializedMetadata()
{
std::vector<Ref<Metadata> > funcsMeta;
@@ -332,6 +334,7 @@ Ref<Metadata> VirtualFunctionTableInfo::SerializedMetadata()
return new Metadata(vftMeta);
}
+
VirtualFunctionTableInfo VirtualFunctionTableInfo::DeserializedMetadata(const Ref<Metadata> &metadata)
{
std::map<std::string, Ref<Metadata> > vftMeta = metadata->GetKeyValueStore();
@@ -344,6 +347,7 @@ VirtualFunctionTableInfo VirtualFunctionTableInfo::DeserializedMetadata(const Re
return vftInfo;
}
+
Ref<Metadata> VirtualFunctionInfo::SerializedMetadata()
{
std::map<std::string, Ref<Metadata> > vFuncMeta;
@@ -351,6 +355,7 @@ Ref<Metadata> VirtualFunctionInfo::SerializedMetadata()
return new Metadata(vFuncMeta);
}
+
VirtualFunctionInfo VirtualFunctionInfo::DeserializedMetadata(const Ref<Metadata> &metadata)
{
std::map<std::string, Ref<Metadata> > vFuncMeta = metadata->GetKeyValueStore();
@@ -358,6 +363,7 @@ VirtualFunctionInfo VirtualFunctionInfo::DeserializedMetadata(const Ref<Metadata
return vFuncInfo;
}
+
Ref<Metadata> MicrosoftRTTIProcessor::SerializedMetadata()
{
std::map<std::string, Ref<Metadata> > classesMeta;
@@ -372,6 +378,7 @@ Ref<Metadata> MicrosoftRTTIProcessor::SerializedMetadata()
return new Metadata(msvcMeta);
}
+
void MicrosoftRTTIProcessor::DeserializedMetadata(const Ref<Metadata> &metadata)
{
std::map<std::string, Ref<Metadata> > msvcMeta = metadata->GetKeyValueStore();
@@ -385,6 +392,7 @@ void MicrosoftRTTIProcessor::DeserializedMetadata(const Ref<Metadata> &metadata)
}
}
+
std::optional<std::string> MicrosoftRTTIProcessor::DemangleName(const std::string &mangledName)
{
QualifiedName demangledName = {};
@@ -604,9 +612,7 @@ std::optional<VirtualFunctionTableInfo> MicrosoftRTTIProcessor::ProcessVFT(uint6
}
-MicrosoftRTTIProcessor::MicrosoftRTTIProcessor(const Ref<BinaryView> &view, bool useMangled, bool checkRData,
- bool vftSweep) : m_view(
- view)
+MicrosoftRTTIProcessor::MicrosoftRTTIProcessor(const Ref<BinaryView> &view, bool useMangled, bool checkRData, bool vftSweep) : m_view(view)
{
m_logger = new Logger("Microsoft RTTI");
allowMangledClassNames = useMangled;
@@ -690,6 +696,7 @@ void MicrosoftRTTIProcessor::ProcessRTTI()
m_logger->LogInfo("ProcessRTTI took %f seconds", elapsed_time.count());
}
+
void MicrosoftRTTIProcessor::ProcessVFT()
{
std::map<uint64_t, uint64_t> vftMap = {};