Vector35 / Vector35/binaryninja-api
Selection range not correct while using arrow keys in linearview
Nobody has claimed this yet.
- Dominant language
- C++
- Stars
- 1.3k
- Forks
- 298
- Avg merge
- 5d 5h
- Merged PRs (30d)
- 19
Description
Version and Platform (required):
- Binary Ninja Version: 5.0.7291-test Ultimate (ac5099fd)
- OS: Debian
- OS Version: trixie
- CPU Architecture: x64
Bug Description:
When multiple instructions are selected in Linear Disassembly view using keyboard and then they are replaced with NOPs, one extra instruction gets replaced. When the same is done using mouse, the command works as intended.
Steps To Reproduce:
- Open the attached database. There is nothing special about it; you could copy the hex bytes into a new binary view and the issue will manifest just the same.
- Select the first three instructions (address 00 through 0a inclusive) by clicking address 00 with the mouse, holding
Shiftand pressingDowntwo times. You will see: - Run
Patch > Convert to NOP(via mouse, command palette, etc). One more instruction at address 11 gets gobbled: - Question whether you have "lost it" or it is the tool which is wrong
Expected Behavior:
Instructions get NOPped out iff they appear selected on screen.
Binary:
bug.zip
Additional Information:
I am sure this could be minimized further but it doesn't seem necessary to do so.
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Reproduce the issue in the Linear Disassembly view using the supplied bug.zip or equivalent bytes: select instructions with Shift+Down, then run Patch > Convert to NOP. Compare the keyboard selection range with the mouse-selected range; done means Convert to NOP changes only the instructions visibly selected on screen.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- cpp
- Domain
- desktop, reverse-engineering
- Issue type
- Bug
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Stale
- Clarity
- Clearly specified
- Newbie friendliness
- 35/100