From 5bafe5c7bdb0b56037a0b5c573236f9c6367353a Mon Sep 17 00:00:00 2001 From: Brian Potchik Date: Mon, 14 Jul 2025 14:45:09 -0400 Subject: Update Objective-C Workflow to use the meta workflow. --- plugins/workflow_objc/Workflow.cpp | 24 +++++++++++++----------- plugins/workflow_objc/Workflow.h | 9 --------- 2 files changed, 13 insertions(+), 20 deletions(-) (limited to 'plugins/workflow_objc') diff --git a/plugins/workflow_objc/Workflow.cpp b/plugins/workflow_objc/Workflow.cpp index e0986943..176a0fcd 100644 --- a/plugins/workflow_objc/Workflow.cpp +++ b/plugins/workflow_objc/Workflow.cpp @@ -299,18 +299,20 @@ void Workflow::inlineMethodCalls(AnalysisContextRef ac) llil->GenerateSSAForm(); } -static constexpr auto WorkflowInfo = R"({ - "title": "Objective-C", - "description": "Enhanced analysis for Objective-C code.", - "capabilities": [] -})"; - void Workflow::registerActivities() { - const auto wf = BinaryNinja::Workflow::Instance("core.function.baseAnalysis")->Clone("core.function.objectiveC"); - wf->RegisterActivity(new BinaryNinja::Activity( - ActivityID::ResolveMethodCalls, &Workflow::inlineMethodCalls)); - wf->InsertAfter("core.function.translateTailCalls", ActivityID::ResolveMethodCalls); + auto workflow = BinaryNinja::Workflow::Instance("core.function.metaAnalysis")->Clone(); + workflow->RegisterActivity(new BinaryNinja::Activity( + R"({ + "name": "analysis.objectiveC.resolveMethodCalls", + "title" : "Objective-C Method Call Resolution", + "description": "This analysis step performs enhanced analysis for Objective-C code.", + "aliases": ["core.function.objectiveC.resolveMethodCalls"], + "eligibility": { + "auto": { "default": false } + } + })", &Workflow::inlineMethodCalls)); + workflow->InsertAfter("core.function.translateTailCalls", "analysis.objectiveC.resolveMethodCalls"); - BinaryNinja::Workflow::RegisterWorkflow(wf, WorkflowInfo); + BinaryNinja::Workflow::RegisterWorkflow(workflow); } diff --git a/plugins/workflow_objc/Workflow.h b/plugins/workflow_objc/Workflow.h index 4479a8a7..8b24951b 100644 --- a/plugins/workflow_objc/Workflow.h +++ b/plugins/workflow_objc/Workflow.h @@ -9,15 +9,6 @@ #include "BinaryNinja.h" -/** - * Namespace to hold activity ID constants. - */ -namespace ActivityID { - -constexpr auto ResolveMethodCalls = "core.function.objectiveC.resolveMethodCalls"; - -} - /** * Workflow-related procedures. */ -- cgit v1.3.1