summaryrefslogtreecommitdiff
path: root/plugins/workflow_objc
diff options
context:
space:
mode:
authorBrian Potchik <brian@vector35.com>2025-07-14 14:45:09 -0400
committerBrian Potchik <brian@vector35.com>2025-07-14 14:45:09 -0400
commit5bafe5c7bdb0b56037a0b5c573236f9c6367353a (patch)
tree2f04a8b4c013c1f6f9b6513b9544092a26ef11f0 /plugins/workflow_objc
parent2b3ce702bdaa825af2dbff45f7899b9ffd82a257 (diff)
Update Objective-C Workflow to use the meta workflow.
Diffstat (limited to 'plugins/workflow_objc')
-rw-r--r--plugins/workflow_objc/Workflow.cpp24
-rw-r--r--plugins/workflow_objc/Workflow.h9
2 files changed, 13 insertions, 20 deletions
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
@@ -10,15 +10,6 @@
#include "BinaryNinja.h"
/**
- * Namespace to hold activity ID constants.
- */
-namespace ActivityID {
-
-constexpr auto ResolveMethodCalls = "core.function.objectiveC.resolveMethodCalls";
-
-}
-
-/**
* Workflow-related procedures.
*/
class Workflow {