From 62324a6d46f2dbab070bcbf7f712cc822d64bcbc Mon Sep 17 00:00:00 2001 From: Malware Utkonos Date: Mon, 5 Jan 2026 18:19:37 -0500 Subject: [PATCH] Add module workflow hello world example. --- python/examples/wf_module_helloworld.py | 36 +++++++++++++++++++++++++ 1 file changed, 36 insertions(+) create mode 100644 python/examples/wf_module_helloworld.py diff --git a/python/examples/wf_module_helloworld.py b/python/examples/wf_module_helloworld.py new file mode 100644 index 000000000..3ebe8c556 --- /dev/null +++ b/python/examples/wf_module_helloworld.py @@ -0,0 +1,36 @@ +"""Module Workflow hello world.""" +import json + +from binaryninja.log import Logger +from binaryninja.workflow import Workflow, Activity, AnalysisContext + +log = Logger(0, 'WorkflowHelloWorld') + + +def do_action(context: AnalysisContext): + """Do stuff in main workflow action.""" + bv = context.view + log.session_id = bv.file.session_id + bv.add_tag(bv.entry_point, 'Needs Analysis', 'Hello World!') + log.log_info('Added Hello World Tag') + + +wf = Workflow('core.module.metaAnalysis').clone('plugin.module.HelloWorld') + +wf.register_activity(Activity( + configuration=json.dumps({ + 'name': 'analysis.helloworld', + 'title': 'Tag Entry Point', + 'description': 'Tag the entry point with "Hello World!".', + 'eligibility': { + 'runOnce': True + }, + 'dependencies': { + 'downstream': ['core.module.update'] + } + }), + action=do_action +)) + +wf.insert('core.module.finishUpdate', ['analysis.helloworld']) +wf.register()