Vector35 / Vector35/binaryninja-api

Show type cast option does not work as expected

Open
#4,960 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Component: Core Effort: Medium Impact: Medium LanguageRep: Pseudo-C
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.6.4790-dev, 10b89271
  • OS: macos
  • OS Version: 14.3
  • CPU Architecture: arm64

Bug Description:
In the example below, the breed parameter has a type of int64_t and is used as a parameter for strlen. Even if I enable the 'Show Type Casts' option, BN does not display the required cast at 100003b44, which should be something like _strlen((char*)breed).

When I perform reverse engineering on large data structures, I often forget to set basic but important type information that I already know. Those type casts serve as reminders for me, and therefore, I expect BN to show them.

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 example on the reported Binary Ninja version and inspect the decompiler path responsible for the “Show Type Casts” display option. Confirm the expected behavior by checking whether the call at 100003b44 displays a cast from breed to char*, then verify the fix against this example.

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
42/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.