Vector35 / Vector35/binaryninja-api
Need interface to allow control load/store splitting behavior
Nobody has claimed this yet.
- Dominant language
- C++
- Stars
- 1.3k
- Forks
- 298
- Avg merge
- 5d 5h
- Merged PRs (30d)
- 19
Description
Neither validFieldsOnly nor allOffsets setting for load /store splitting does not effect the example code below. I believe that there will be some cases like below where manually split /unsplit option would be useful.
void init_proxy_ctx()
00410d50 init_wsa_ctx(&proxy_ctx.local_wsa)
00410d5a init_wsa_ctx(&proxy_ctx.remote_wsa)
00410d67 proxy_ctx.local_thread.o = zx.o(0)
00410d6e InitializeCriticalSection(&proxy_ctx.lock)
proxy_ctx structure:
struct proxy_ctx
{
int32_t waiting;
struct wsa_ctx local_wsa;
int32_t field_1e0;
struct wsa_ctx remote_wsa;
int32_t field_3c0;
HANDLE local_thread;
int32_t field_3c8;
HANDLE remote_thread;
int32_t field_3d0;
struct cc_handler* cc_handler;
struct RTL_CRITICAL_SECTION lock;
};
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 tracing how the validFieldsOnly and allOffsets settings affect load/store splitting, using the proxy_ctx example as the reproducer. Determine where an interface for manually selecting split or unsplit behavior would belong, and confirm done when the example can express the requested control without relying on those settings.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- c, cpp
- Domain
- api, reverse-engineering
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100