From 43df228b4c51bade4810cadf96bddc4ec630ffcb Mon Sep 17 00:00:00 2001 From: Jon Palmisciano Date: Wed, 8 Jun 2022 11:11:10 -0400 Subject: [PATCH] Log analysis results on completion --- Plugin/InfoHandler.cpp | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/Plugin/InfoHandler.cpp b/Plugin/InfoHandler.cpp index 92b2f37..0bf6117 100644 --- a/Plugin/InfoHandler.cpp +++ b/Plugin/InfoHandler.cpp @@ -156,6 +156,8 @@ void InfoHandler::applyInfoToView(SharedAnalysisInfo info, BinaryViewRef bv) defineReference(bv, sr->address, sr->nameAddress); } + unsigned totalMethods = 0; + // Create data variables and symbols for the analyzed classes. for (const auto& ci : info->classes) { defineVariable(bv, ci.listPointer, taggedPointerType); @@ -181,6 +183,8 @@ void InfoHandler::applyInfoToView(SharedAnalysisInfo info, BinaryViewRef bv) // Create data variables for each method in the method list. for (const auto& mi : ci.methodList.methods) { + ++totalMethods; + defineVariable(bv, mi.address, methodType); defineSymbol(bv, mi.address, sanitizeSelector(mi.selector), "mt_"); defineVariable(bv, mi.typeAddress, stringType(mi.type.size())); @@ -200,4 +204,10 @@ void InfoHandler::applyInfoToView(SharedAnalysisInfo info, BinaryViewRef bv) bv->CommitUndoActions(); bv->UpdateAnalysis(); + + const auto log = BinaryNinja::LogRegistry::GetLogger("ObjectiveNinja"); + log->LogInfo("Structure analysis complete"); + log->LogInfo("Found %d classes, %d methods, %d selector references", + info->classes.size(), totalMethods, info->selectorRefs.size()); + log->LogInfo("Found %d CFString instances", info->cfStrings.size()); }