Vector35 / Vector35/binaryninja-api

Add option to `Apply BNDB`

Open
#4,494 3 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Component: UI Effort: Low Impact: Low
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?
For Import From BNDB to be useful for importing analysis progress to a fresh BNDB created from the same original binary, it needs to offer to import analysis artifacts like data variables, symbols, tags, etc.

I don't know if BN stores a hash of the original binary in the BNDB or something similar, but if so, and they match, I imagine it would be perfectly safe to offer to import these artifacts at the same addresses?

Arguably, this should be offered regardless, maybe along with a warning that the results may be incorrect if the hashes don't match.

Is your feature request related to a problem?
I have thousands of data vars, symbols, tags, etc that would take far too long to re-do when creating a fresh BNDB.

Are any alternative solutions acceptable?
None that I can think of are practical.

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

Start by locating the implementation of Import From BNDB and Apply BNDB, then inspect how BNDBs record the original binary and analysis artifacts. Define the behavior for matching and non-matching binaries, including whether a warning is required; done means the option can import the requested artifacts without silently applying unsafe results.

Written by the indexing model from the issue text.

Assessment

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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.