Set Variable Value Fails When Current View Doesn't Match Appropriate Level of IL

Aperta
#4,892 0 commenti 0 reazioni 0 assegnatari Vedi su GitHub

Nessuno ha ancora preso questa issue.

Valutazione

Difficoltà
4/5
Tempo stimato
3-5 giorni
Idoneità per principianti
35/100
Tipo di issue
Bug
Chiarezza
Abbastanza chiara
Stato di attività
Ferma
Stack tecnologico
cpp

Direzione di ricerca

Reproduce the failure through the Variables sidebar by setting a variable in MLIL, switching to HLIL, and using Set Variable Value. Compare the silent failure and log message with the expected behavior: either provide a descriptive dialog directing the user back to MLIL or correctly identify the edited MLIL value.

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

Descrizione

Component: UI Effort: Trivial Impact: Low UI: Variables

Version and Platform (required):

  • Binary Ninja Version: 3.6.2125
  • OS: macOS
  • OS Version: 14.2.1
  • CPU Architecture: ARMv8

Bug Description:
If you use "Set Variable Value" from the Variables sidebar on a value that was set in MLIL while your current Binary View is HLIL, you will get an error in the log that says "Unable to determine variable definition address".

Steps To Reproduce:

  1. Navigate to a function that has some variables
  2. Switch your active pane to MLIL
  3. Set one or more of those variables to a ConstantValue
  4. Switch your active pane to HLIL
  5. Try to right-click one of the variables whose values have been set with "Set Variable View"
  6. Observe that nothing happens
  7. Check the log to see the error message

Expected Behavior:
Having nothing occur at all but a log message that's probably hidden because you have the Python console up is unexpected. Instead, I would expect:

  • An error dialog with a descriptive error message that, ideally, tells me to try again in MLIL
  • Possibly logic that just figures out what I really want and lets me correctly edit the MLIL value, since there's only one MLIL source that I edited

Additional Information:
Switching your active pane back to MLIL will let you change the variable normally. So, the functionality works, it just isn't able to convey to the user how to get around the issue well when changing from the wrong level of IL.

Lingua principale
C++
Stelle
1.3k
Fork
298
Merge medio
5g 5h
PR unite (30g)
19

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.

Altre issue di Vector35/binaryninja-api

Tutte le issue di Vector35/binaryninja-api

Issue simili

Altre issue su C++

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.