summaryrefslogtreecommitdiff
path: root/plugins/workflow_objc
diff options
context:
space:
mode:
authorBrian Potchik <brian@vector35.com>2025-07-14 15:25:20 -0400
committerBrian Potchik <brian@vector35.com>2025-07-14 15:25:20 -0400
commit7fc56eae3bae6f4f9023f3417300784b30c73f3b (patch)
tree4911a4840379556e21929c72e90876ea9a73fec3 /plugins/workflow_objc
parent5bafe5c7bdb0b56037a0b5c573236f9c6367353a (diff)
Revert "Update Objective-C Workflow to use the meta workflow."
This reverts commit 5bafe5c7bdb0b56037a0b5c573236f9c6367353a.
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, 20 insertions, 13 deletions
diff --git a/plugins/workflow_objc/Workflow.cpp b/plugins/workflow_objc/Workflow.cpp
index 176a0fcd..e0986943 100644
--- a/plugins/workflow_objc/Workflow.cpp
+++ b/plugins/workflow_objc/Workflow.cpp
@@ -299,20 +299,18 @@ 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()
{
- 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");
+ 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);
- BinaryNinja::Workflow::RegisterWorkflow(workflow);
+ BinaryNinja::Workflow::RegisterWorkflow(wf, WorkflowInfo);
}
diff --git a/plugins/workflow_objc/Workflow.h b/plugins/workflow_objc/Workflow.h
index 8b24951b..4479a8a7 100644
--- a/plugins/workflow_objc/Workflow.h
+++ b/plugins/workflow_objc/Workflow.h
@@ -10,6 +10,15 @@
#include "BinaryNinja.h"
/**
+ * Namespace to hold activity ID constants.
+ */
+namespace ActivityID {
+
+constexpr auto ResolveMethodCalls = "core.function.objectiveC.resolveMethodCalls";
+
+}
+
+/**
* Workflow-related procedures.
*/
class Workflow {