Vector35 / Vector35/binaryninja-api

SCC: Predefined API on Windows x86_64 target broken

Open
#2,181 2 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

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

Description

At least some predefined windows API or something data type definition related seems to be broken for the Windows x86_64 target in scc.

The simple MessageBox example from https://scc.binary.ninja/examples.html does not compile anymore.
In this case scc errors out with prototype for 'MessageBoxA' not compatible with existing declaration.
Removing the redefinition of MessageBoxA leads to type mismatch in parameter 2.

I think the issue was introduced with 2.2.2487

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 with the SCC Windows x86_64 target and the simple MessageBox example from the Binary Ninja examples page. Compare the predefined API and data type behavior around version 2.2.2487; the work is done when the example compiles without the MessageBoxA declaration or parameter type errors.

Written by the indexing model from the issue text.

Assessment

Domain
compilers, operating-systems
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.