Vector35 / Vector35/binaryninja-api

Not get all function info from DWARF

Open
#5,183 10 comments 1 reaction 0 assignees View on GitHub

Nobody has claimed this yet.

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

Description

Version and Platform (required):

  • Binary Ninja Version: 4.1.4957-dev, 89858360
  • OS: macOS
  • OS Version: 14.4
  • CPU Architecture: x86_64

Bug Description:

  1. Binary Ninja not get function names from DWARF.
    2.Binary Ninja not to get function boundary info from DWARF.

Steps To Reproduce:

  1. Download and install KDK: https://github.com/dortania/KdkSupportPkg/releases/download/23E214/Kernel_Debug_Kit_14.4_build_23E214.dmg.
  2. kernel.release.t8103 and kernel.release.t8103.dSYM are in dir /System/Library/Kernels, copy them to other place.
  3. Rename kernel.release.t8103.dSYM to kernel.release.t8103_dSYM.
  4. File | Open with Options...
  5. Select kernel.release.t8103
  6. Select External Debug Info File: kernel.release.t8103_dSYM/Contents/Resources/DWARF/kernel.release.t8103
  7. Load them.

Expected Behavior:

  1. Load function info from DWARF.

Screenshots:
out

Additional Information:

  1. seems that function info from DWARF has a low priority by design.

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 report with kernel.release.t8103 and its external DWARF file from the KDK, following the listed Open with Options steps. Start by tracing external debug-info loading and the handling of DWARF function names and boundaries. Done means the supplied DWARF data provides the expected function names and boundary information.

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.