Vector35 / Vector35/binaryninja-api

Ghost Outlines in Memory Map

Open
#7,284 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

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

Description

Version and Platform (required):

  • Binary Ninja Version: 5.2.8133-dev Ultimate, 824a6537
  • OS: macos
  • OS Version: 15.6
  • CPU Architecture: x86_64

Bug Description:
If the mouse focus is on the Segments part of the Memory Map sidebar pane and one section is selected, an outline is drawn on the corresponding entry in the Sections part of the pane. The opposite happens when mouse focus is on the Sections. Whatever has been clicked there makes an outline on the corresponding Segments. I can see what it is that you're trying to do here, but files that have size zero sections like this packer appear to throw off whatever algorithm you're using and it's making ghost outlines appear on the wrong corresponding entries.

Steps To Reproduce:

  1. Open this file: "lily amplitude discovers curiously"
  2. Click around in the Memory Map pane
  3. Notice ghost outlines.
  4. Specifically click on 0x406000 in the Start column of the Segments part of the pane.
  5. Look at the outlined areas of the Sections part of the pane. Notice that .rsrc is outlined but is definitely not in the segment that you just clicked.

Expected Behavior:
Outlines of the corresponding Section/Segment in the non-focused part of the pane.

Screenshots:
https://github.com/user-attachments/assets/2e5a25a5-f3bb-4b20-beba-2e9f64dd46bf

Binary:
"lily amplitude discovers curiously"

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 issue in the Memory Map sidebar using the provided binary, focusing on the Segments and Sections entries around 0x406000 and .rsrc. Trace how selection outlines are matched between the two panes; done means clicking an entry outlines only its corresponding Section or Segment, including zero-size sections.

Written by the indexing model from the issue text.

Assessment

Tech stack
cpp
Domain
desktop, reverse-engineering
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
45/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.