Vector35 / Vector35/binaryninja-api

Cross references duplicated and don't display correctly when switching ILs

Offen
#5,757 1 Kommentar 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

Dieses Issue hat noch niemand übernommen.

Component: UI Impact: Low UI: Cross References
Vorherrschende Sprache
C++
Sterne
1.3k
Forks
298
Ø Merge
5 T. 5 Std.
Gemergte PRs (30 T.)
19

Beschreibung

Version and Platform (required):

  • Binary Ninja Version: 4.1.5746
  • OS: Ubuntu
  • OS Version: 24.04
  • CPU Architecture: aarch64

Bug Description:
We now have what appears to be weirdly duplicated cross-references when switching ILs in certain cases? I'm pretty sure that's not actually what's happening, it's just what the effect looks like from a user perspective.

Here's an example in HLIL on 4.0 stable:

image

When you switch from HLIL to disassembly, it won't change at first, and then will eventually change to this, which is also wrong:

image

Re-clicking on that address leads to this:

image

In the new 4.1 stable we're testing, it does this in HLIL:

image

...which immediately switches to this:

image

...and clicking on the address again gives this:

image

Steps To Reproduce:

  1. Open the binary below
  2. Navigate to 0x217af4
  3. Click on x0
  4. Observe cross-references
  5. Change view to Disassembly
  6. Observe cross-references again

Expected Behavior:
Something closer to what's in 4.0 than 4.1. And, also, showing what I see when I re-click on the address possibly.

Screenshots/Video Recording:
See above.

Binary:
libicui18n.so.70.zip

Beitragsleitfaden

Für dieses Repository ist kein Beitragsleitfaden indexiert

Erste Schritte

  1. Lies das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreib ins Issue, dass du es übernimmst — das erspart doppelte Arbeit.
  3. Forke das Repository und arbeite in einem Branch.
  4. Öffne einen Pull Request, der die Issue-Nummer nennt.

Rechercherichtung

Open the supplied libicui18n.so.70 binary in Binary Ninja and reproduce the sequence at 0x217af4: click x0, inspect cross-references, switch from HLIL to Disassembly, and click the address again. Trace the cross-reference display and IL-switch handling; done means references are not duplicated or stale and remain consistent across the views.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
cpp
Bereich
reverse-engineering
Issue-Typ
Bug
Schwierigkeit
4/5
Geschätzter Aufwand
3-5 Tage
Aktivitätsstatus
Ruhig
Klarheit
Größtenteils klar
Anfängerfreundlichkeit
45/100

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.