Vector35 / Vector35/binaryninja-api

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

Abierto
#3,937 1 comentario 0 reacciones 0 asignados Ver en GitHub

Nadie ha tomado este issue todavía.

Component: UI Effort: Low Impact: Low UI: Linear
Lenguaje dominante
C++
Estrellas
1.3k
Forks
298
Merge medio
5 d 5 h
PR fusionados (30 d)
19

Descripción

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

Guía de contribución

No hay ninguna guía de contribución indexada para este repositorio

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Línea de trabajo

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.

Escrito por el modelo de indexación a partir del texto del issue.

Evaluación

Stack tecnológico
cpp
Área
reverse-engineering
Tipo de issue
Error
Dificultad
4/5
Tiempo estimado
3-5 días
Estado de actividad
Estancado
Claridad
Bastante claro
Aptitud para principiantes
35/100

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.