Vector35 / Vector35/debugger

Debugger should ask the user to select the arch and platform if he tries to connect or attach with a raw view

Open
#971 2 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

bug functionality GDB RSP Adapter Impact: Medium remote debugging
Dominant language
C++
Stars
331
Forks
33
PR merge metrics
No merged PRs in 30d

Description

Version and Platform (required):

  • Binary Ninja Version: 5.3.8940-dev
  • OS: macOS (host) Linux (remote)
  • OS Version: 14.2 (host) 24.04 (remote)
  • CPU Architecture: M2 (host) x86_64 (remote)
  • Local or Remote Debugging: remote

Bug Description:
I tried to attach to a gdbserver using an empty binary data view (New Binary Data action) and the debugger was unable to show me any memory of the target. This is likely because I'm using New Binary Data, as this does not replicate when using New Mapped Data. I got an error: [Analysis] Attempting to add function not backed by file: 0x784b95b84490 which I assume is of similar reason.

Steps To Reproduce:

  1. Start gdbserver on remote host, I used gdbserver --attach --once stdio <pid>
  2. Binja > New
  3. Binja > Debugger > Connect to Remote Process
  4. Enter remote details
  5. Observe debugger attaches and cannot show memory
  6. In my case I also was presented Code Insight Map which was entirely unhelpful

Expected Behavior:
I expected to either be able to see the debugged binary's memory or to have an error message telling me to use Mapped Data or something.

Screenshots/Video Recording:
Image

Binary:
No binary, because the whole bug is that I didn't open a binary to begin with

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 listed steps with New Binary Data, a remote gdbserver, and Connect to Remote Process; compare the result with New Mapped Data. Investigate the raw-view connection and attach flow, including the reported analysis error. Done means the user is prompted to select the architecture and platform, or receives a clear message explaining the required mapped data setup.

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.