Multiple definitions in HLIL SSA
@rssor arbeitet bereits daran.
Seit 31.1.2022.
Bewertung
Dieses Issue wurde noch nicht bewertet.
Beschreibung
Version and Platform (required):
- Binary Ninja Version: 2.5.3140-dev
- OS: macOS
- OS Version: 11.3
Bug Description:
HLIL SSA form contains variables with multiple definitions for the same variable version.

I found this bug while walking def-use chains... and unexpectedly found a cycle. I went to look at the HLIL and saw this wacky output. I do not have much experience with SSA form so if this is intended behavior I'm sorry and feel free to close.
Steps To Reproduce:
- Open the attached libc - note it's just from some random ctf challenge and was probably compiled from source (ie. it doesn't match any from common distros)
- Switch to HLIL SSA form
- Go to 0x73a2e
Expected Behavior:
SSA form would have a single definition for each variable version
Screenshots:
above
Additional Information:
In addition to the multiple definitions, I’m not sure the handling of writes to subsets of registers is really right:
rcx_2#0.b = /* something */
being treated as just a use is really correct? Seems misleading at best… then again, I don’t really have much experience with SSA form.
- Vorherrschende Sprache
- C++
- Sterne
- 1.3k
- Forks
- 298
- Ø Merge
- 5 T. 5 Std.
- Gemergte PRs (30 T.)
- 19
Beitragsleitfaden
Für dieses Repository ist kein Beitragsleitfaden indexiert
Erste Schritte
- Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
- Forken Sie das Repository und arbeiten Sie in einem Branch.
- Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.
Mehr aus Vector35/binaryninja-api
-
Schwierigkeit 1/5 1-3 Stunden Anfängerfreundlichkeit 88/100
Vector35/binaryninja-api#8540 ·
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 88/100
Vector35/binaryninja-api#8516 ·
-
Schwierigkeit 1/5 Unter einer Stunde Anfängerfreundlichkeit 92/100
Vector35/binaryninja-api#8503 ·
-
Schwierigkeit 1/5 Unter einer Stunde Anfängerfreundlichkeit 88/100
Vector35/binaryninja-api#8446 ·
-
Schwierigkeit 1/5 Unter einer Stunde Anfängerfreundlichkeit 88/100
Vector35/binaryninja-api#8444 ·
Alle Issues in Vector35/binaryninja-api
Ähnliche Issues
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 86/100
-
Sensor initialization takes very long when `--initial-sim-time` is set to current UNIX timestamp Offen
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 78/100
gazebosim/gz-sensors#662 · 1 Kommentar ·
-
enhancement
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 76/100
-
comp-datalake
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 88/100
ClickHouse/ClickHouse#121222 ·
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 68/100
LadybirdBrowser/ladybird#12123 ·