Vector35 / Vector35/binaryninja-api

Non-SSA instructions are returning SSA IL mappings

Open
#6,706 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Component: Core Core: HLIL Core: LLIL Core: MLIL Impact: Low
Dominant language
C++
Stars
1.3k
Forks
298
Avg merge
5d 5h
Merged PRs (30d)
19

Description

This is also breaking the xrefs preview updating when changing between certain ILs (LLIL/MLIL and HLIL).

To reproduce:
current_il_instruction.mlil on non-SSA HLIL instructions return SSA instructions.

Other observations:

  1. LLIL_CALL returns .mlil and .hlil as expected (non-ssa)
  2. MLIL_CALL returns SSA for .llil and non-SSA for .hlil
  3. HLIL_CALL returns SSA for both .llil and .mlil

This is a regression in 5.0.7284 on all platforms from 4.2, caught by BNSB-25 (just the UI portion).

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reproducing the reported behavior through current_il_instruction.mlil on non-SSA HLIL instructions, comparing the LLIL_CALL, MLIL_CALL, and HLIL_CALL cases across the listed IL mappings. Verify the expected non-SSA versus SSA results and confirm that changing between LLIL, MLIL, and HLIL restores correct xrefs preview updates.

Written by the indexing model from the issue text.

Assessment

Tech stack
cpp
Domain
reverse-engineering
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.