Vector35 / Vector35/binaryninja-api

Improve application of symbols in the presence of ordinals

Open
#5,217 5 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

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

Description

Version and Platform (required):

  • Binary Ninja Version: 3.5.4526 Personal (ec37d737)
  • OS: Windows
  • OS Version: 11
  • CPU Architecture: x64

Bug Description:
The ordinal of some symbols is incorrectly set to 0. And it's name in Triage Summary's Exports part is not true.

Steps To Reproduce:
Please provide all steps required to reproduce the behavior:

  1. open mfc90u.dll (attached below)
  2. go to triage summary
  3. check exports
  4. See that ordinal 268's name is ordinal_268 instead of real name.
  5. click on ordinal_268 to go to the Linear view, we can see that it has name.
  6. run current_symbol.ordinal in console, the output is 0 instead of 268.

Expected Behavior:
Show real name in Exports and set the ordinal correctly

Screenshots:
image

Additional Information:
mfc90u.zip

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 opening the attached mfc90u.dll in Binary Ninja 3.5.4526 on Windows and reproduce the export entry for ordinal 268 in Triage Summary and the Linear view. Compare the displayed export name and current_symbol.ordinal value; done means the real name is shown and the symbol reports ordinal 268.

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.