Vector35 / Vector35/binaryninja-api

Accessing dest on mapped_medium_level_il gives an exception/empty result

Open
#2,207 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

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

Description

Hello,

I came across the following bug which happens on both the latest development build as well as the latest release.

Observed Behavior: accessing the dest of an mapped medium level il raises an exception (dev) or prints out nothing (release)
it is still possible to access properties of the destination like source_type and storage even when an direct access would raise an exception.

This happens for both registers and stack destinations, and the operation does not seem to matter (tested for load, set_var, add).

image
^-- 2.2.2587-dev (latest dev)

image
^-- 2.2.2487 (latest release)

Platform: Ubuntu 20.04.1 LTS

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

Reproduce the issue by accessing dest on mapped medium level IL for register and stack destinations, including load, set_var, and add, on the development and release builds described. Trace the destination access entry point and compare its behavior with source_type and storage; done means dest is accessible consistently without an exception or empty result.

Written by the indexing model from the issue text.

Assessment

Tech stack
cpp
Domain
reverse-engineering
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 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.