Vector35 / Vector35/binaryninja-api

Selection range not correct while using arrow keys in linearview

Aperta
#6,726 1 commento 0 reazioni 0 assegnatari Vedi su GitHub

Nessuno ha ancora preso questa issue.

Component: UI Effort: Low Impact: Low UI: Linear
Lingua principale
C++
Stelle
1.3k
Fork
298
Merge medio
5g 5h
PR unite (30g)
19

Descrizione

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:

  1. 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.
  2. Select the first three instructions (address 00 through 0a inclusive) by clicking address 00 with the mouse, holding Shift and pressing Down two times. You will see: Image
  3. Run Patch > Convert to NOP (via mouse, command palette, etc). One more instruction at address 11 gets gobbled: Image
  4. 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.

Guida per i contributori

Nessuna guida per i contributori indicizzata per questo repository

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Direzione di ricerca

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.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Valutazione

Stack tecnologico
cpp
Ambito
desktop, reverse-engineering
Tipo di issue
Bug
Difficoltà
3/5
Tempo stimato
1-2 giorni
Stato di attività
Ferma
Chiarezza
Specificata chiaramente
Idoneità per principianti
35/100

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.