From 8ef4a64be527a85aa0aca5253abcf5c1f14b3770 Mon Sep 17 00:00:00 2001 From: Brian Potchik Date: Wed, 2 Jul 2025 08:31:11 -0400 Subject: Fix Objective-C dynamic dispatch setting. --- plugins/workflow_objc/Plugin.cpp | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) (limited to 'plugins/workflow_objc/Plugin.cpp') diff --git a/plugins/workflow_objc/Plugin.cpp b/plugins/workflow_objc/Plugin.cpp index 2773e10a..6323e1a6 100644 --- a/plugins/workflow_objc/Plugin.cpp +++ b/plugins/workflow_objc/Plugin.cpp @@ -31,13 +31,14 @@ BINARYNINJAPLUGIN bool CorePluginInit() BinaryNinja::LogRegistry::CreateLogger(PluginLoggerName); auto settings = BinaryNinja::Settings::Instance(); - settings->RegisterSetting("core.function.objectiveC.rewriteMessageSendTarget", + settings->RegisterSetting("analysis.objectiveC.resolveDynamicDispatch", R"({ - "title" : "Rewrite objc_msgSend calls in IL", - "type" : "boolean", - "default" : false, - "description" : "Message sends of selectors with any visible implementation are replaced with a direct call to the first visible implementation. Note that this can produce false positives if the selector is implemented by more than one class, or shares a name with a method from a system framework." - })"); + "title" : "Resolve Dynamic Dispatch Calls", + "type" : "boolean", + "default" : false, + "aliases": ["core.function.objectiveC.assumeMessageSendTarget", "core.function.objectiveC.rewriteMessageSendTarget"], + "description" : "Replaces objc_msgSend calls with direct calls to the first found implementation when the target method is visible. May produce false positives when multiple classes implement the same selector or when selectors conflict with system framework methods." + })"); return true; } -- cgit v1.3.1