Vector35 / Vector35/binaryninja-api

PDB Doesn't correct apply calling convention for fastcall

Open
#5,761 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Component: DebugInfo DebugInfo: PDB 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: 4.1 Stable

Bug Description:
Binary Ninja can properly figure out the difference between stdcall and fastcall in x86 windows binaries. However when debug info is applied at least in this particular case the calling convention is not correctly set.

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

  1. Open the shcore.dll binary shared internally with debug info enabled
  2. Open the same binary again without debug info
  3. View 10024bd0 int32_t __stdcall InlineIsEqualGUID(struct _GUID const& arg1, struct _GUID const& arg2) on both
  4. Observe the calling convention is correct before debug info is applied and incorrect afterward

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 mismatch with shcore.dll by comparing InlineIsEqualGUID with and without debug info enabled. Inspect the debug-info application path and calling-convention handling, then verify that applying the PDB preserves the correct fastcall convention rather than changing it to stdcall.

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.