Vector35 / Vector35/binaryninja-api

Need interface to allow control load/store splitting behavior

Aperta
#4,168 2 commenti 0 reazioni 0 assegnatari Vedi su GitHub

Nessuno ha ancora preso questa issue.

Component: Core Core: MLIL Effort: Medium Impact: Medium
Lingua principale
C++
Stelle
1.3k
Fork
298
Merge medio
5g 5h
PR unite (30g)
19

Descrizione

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;
};

Guida per i contributori

Nessuna guida per i contributori indicizzata per questo repository

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Direzione di ricerca

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.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Valutazione

Stack tecnologico
c, cpp
Ambito
api, reverse-engineering
Tipo di issue
Funzionalità
Difficoltà
5/5
Tempo stimato
Più di una settimana
Stato di attività
Ferma
Chiarezza
Abbastanza chiara
Idoneità per principianti
35/100

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.