Vector35 / Vector35/binaryninja-api

BN does not use field of the structure if structure have only one field

Aperta
#3,937 1 commento 0 reazioni 0 assegnatari Vedi su GitHub

Nessuno ha ancora preso questa issue.

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

Descrizione

Binary Ninja Version: 3.4.4090-dev
Platform: Windows 11 Version 22H2

Structure:

struct SERVICE_DESCRIPTIONA
{
    char* lpDescription;
};

HLIL:

Info = "My description"
ChangeServiceConfig2A(svc_handle, SERVICE_CONFIG_DESCRIPTION, &Info)

I expect it to be like this:

Info.lpDescription = "My description"

I've tried it with integer field, it's same.

Test code:

#include <stdio.h>

struct test {
    int sy;
};

int main() {
    struct test t;
    t.sy = 42;
    printf("%d", t.sy);

    t.sy = 40;

    return 0;
}

HLIL:

14001187c  struct test var_f4 = 0x2a
14001188d  j_printf("%d", 0x2a)
140011892  struct test var_f4_1 = 0x28

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

Reproduce the supplied C++ structure example and inspect its HLIL output, including the SERVICE_DESCRIPTIONA case and the integer-field case. The work is done when a single-field structure is represented through its named field rather than as a scalar value in HLIL.

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

Valutazione

Stack tecnologico
cpp
Ambito
reverse-engineering
Tipo di issue
Bug
Difficoltà
4/5
Tempo stimato
3-5 giorni
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.