Vector35 / Vector35/binaryninja-api

Incorrect possible value calculated as sum of unsigned ranges

Aperta
#5,339 1 commento 3 reazioni 1 assegnatario Vedi su GitHub

@negasora ci sta già lavorando.

Dal 26/5/2025.

Component: Core Core: MLIL Impact: Medium
Lingua principale
C++
Stelle
1.3k
Fork
298
Merge medio
5g 5h
PR unite (30g)
19

Descrizione

On 4.1.5182-dev

a.txt

image

>>> current_il_instruction.get_possible_reg_values(bv.arch.get_reg_index('rax'))
<unsigned ranges: [<range: 0x0 to 0x1c, step 0x4>]>
>>> current_il_instruction.get_possible_reg_values(bv.arch.get_reg_index('rdx'))
<unsigned ranges: [<range: 0x0 to 0x7>]>
>>> current_il_instruction.get_possible_reg_values_after(bv.arch.get_reg_index('rax'))
<unsigned ranges: [<range: 0x0 to 0x3>]>

The result should be <unsigned ranges: [<range: 0x0 to 0x23>]>

This looks like it's because rax_3#5 is internally UndeterminedValue but you can hover and see we know the correct value for it. Setting the value of rax_3#5 manually to {0 : 0x1c : 4} fixes this.

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.

Valutazione

Questa issue non è ancora stata valutata.

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.