diff options
Diffstat (limited to 'plugins/workflow_objc')
| -rw-r--r-- | plugins/workflow_objc/Workflow.cpp | 24 | ||||
| -rw-r--r-- | plugins/workflow_objc/Workflow.h | 9 |
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 { |
