Vector35 / Vector35/binaryninja-api
Improve feedback to user when call parameter resolution is failing due to the stack being unresolved
Open
@rssor is already working on this.
Since Jun 8, 2023.
Component: Core
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: 3.5.4307-dev (390387c6)
- OS: macOS
- OS Version: 13.3 (22E252)
- CPU Architecture: arm64
The binary being reverse engineered is also arm64.
Bug Description:
I used Override Call Type on a blr instruction, specifying a function type with 10 arguments. Yet the HLIL view only shows 8 arguments.
Steps To Reproduce:
- Open this ELF and make a function at address 0.
- Set the
blrat0xe8to have this type with 10 arguments:
int64_t calltarget(int64_t arg1, int64_t arg2, int64_t* arg3, int64_t* arg4, int32_t* arg5, int32_t arg6, int64_t* arg7, int32_t arg8, int32_t* arg9, int32_t* arg10)
- Note that the decompiled call shows only 8 arguments:
int64_t x0_4 = x8_3(arg1, arg3, arg5, x7, arg8, 1, &var_a0, 2)
The extra arguments are stored to the stack at 0xc8, but this is not being made part of the call for some reason.
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Assessment
This issue has not been assessed yet.