Vector35 / Vector35/binaryninja-api

Make databases depend on workflows/plugins that were previously used in analysis

Open
#3,358 1 comment 1 reaction 0 assignees View on GitHub

Nobody has claimed this yet.

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

Description

Version and Platform (required):

  • Binary Ninja Version: 3.1
  • OS: *
  • OS Version: *
  • CPU Architecture: *

Steps To Reproduce:
Please provide all steps required to reproduce the behavior:

  1. Enable objc plugin, restart
  2. Set the workflow to the objc one, disable the objc plugin, restart again
  3. Open any binary without modifying the default workflow

Linear Analysis will be entirely broken with only a line in the error log vaguely indicating what went wrong.

Settings UI will still indicate that the workflow is available until you un-select it and restart again.

Screenshots:
image

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

Reproduce the objc plugin and workflow sequence described in the issue, then inspect how workflow selection is persisted and how Linear Analysis and the Settings UI handle a disabled plugin. Trace the database dependency checks around those entry points. Done means opening a binary cannot silently leave analysis broken or show an unavailable workflow as selected.

Written by the indexing model from the issue text.

Assessment

Domain
reverse-engineering, tooling
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.