Vector35 / Vector35/binaryninja-api
Cannot set the return register on a call unless it is a call to an actual function
Nobody has claimed this yet.
- Dominant language
- C++
- Stars
- 1.3k
- Forks
- 298
- Avg merge
- 5d 5h
- Merged PRs (30d)
- 19
Description
Right now we cannot set the return register of a call if it is an indirect call or a call to a pointer in a data variable. This can be set if the call it is an actual function call (using the edit function properties dialog), but there is no way to specify that info only using the type of the call. Similarly we cannot set clobbered registers for the very same reason. Luckily, we can set the type of the call, including no-return, stack adjustment, etc.
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.
Research direction
Start by reviewing the call type and the existing function-properties configuration described in the issue. Trace how indirect calls and calls through data-variable pointers are represented, then determine how return and clobbered registers could be specified without an actual function. Done means both register settings can be applied to those call types.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- cpp
- Domain
- reverse-engineering
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100