Vector35 / Vector35/binaryninja-api

Sidepanel Wigdet Context Aware at the Project Level

Open
#7,626 0 comments 2 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Component: Plugin Component: UI Effort: Low Impact: Medium UI: Projects
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?
As a follow up to #7353, I'd like to be able to create a sidebar widget that is context aware to which file/folder is currently selected in the project view - when the selected file changes then the sidebar widget updates. Not for sure what is needed allow for the sidepanel widget to context aware...

Is your feature request related to a problem?
The challenge I'm trying to solve is capturing the relationships of files in a project quickly via a sidepanel widget at the project level

Are any alternative solutions acceptable?
Folders sort of work, but not really due to the potential complexity of the relationships.

Additional Information:
I'm looking to create a plugin that would generate a flow chart of sorts based upon the file selected. With the recent container/archive support (containers make me thing of docker 🙃 ), I'd like to make a chart showing the relationships between the files. Yes, this can be done using folders but I don't want to rely on folders for that. I also envision being able to link files together in additional ways outside of what some of the metadata already captures by building on top of the the project metadata feature to capture these relationships (think zip -> encrypted file -> decrypted file or X exe sideloads Y dll) and then using the flowchart feature in a sidepanel widget to quickly show those relationships.

Long term goal would be to add a more robust note taking feature at the bndb level that I can access at the project level via the above plugin idea that I can then say "Generate report for this set of files".

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

The issue names no files, tests, or entry points. Start by reading the sidepanel-widget work in #7353 and the project-view selection behavior, then determine how selected files and folders should reach project-level widgets. Done would require an agreed API and defined behavior for updating widgets, but the issue does not specify acceptance tests.

Written by the indexing model from the issue text.

Assessment

Tech stack
cpp
Domain
desktop, 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.