Vector35 / Vector35/binaryninja-api

Invocation of module level workflows

Open
#6,925 3 comments 2 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Component: Core Core: Workflow Impact: Medium
Dominant language
C++
Stars
1.3k
Forks
298
Avg merge
5d 5h
Merged PRs (30d)
19

Description

What is the feature you'd like to have?
A way to invoke specific module level workflows, both in the UI and through the API.

Is your feature request related to a problem?
We have certain sets of analysis that may want to be ran again after a user has made changes to the binary. An easy example is RTTI information in a shared cache view, we load new regions after view init and now need a way to queue up the RTTI analysis after the fact.

Another issue is we might only want to run this module level activity on the new region, so we should have a way to parameterize the workflow with information like the sections or ranges to scan, this will vary for each workflow.

Additional Information:
This is the likely solution to https://github.com/Vector35/binaryninja-api/issues/6603 and also will be very useful in allowing us to make other similar analysis like objective-c its own completely separate plugin.

We currently have an API called AddAnalysisOption that does this, but it is not parameterized and most importantly it hard codes the list of activities.

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

No files or tests are named. Start by reviewing the existing AddAnalysisOption API and issue #6603, then map how module-level activities are exposed in the UI and API. Done means callers can select a workflow, provide workflow-specific regions or sections, and invoke it after view initialization without a hard-coded activity list.

Written by the indexing model from the issue text.

Assessment

Tech stack
cpp
Domain
api, reverse-engineering
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.