Foro de elhacker.net

Seguridad Informática => Análisis y Diseño de Malware => Mensaje iniciado por: orApic en 19 Junio 2017, 17:04 pm



Título: Pregunta trozo código ensamblador de malware
Publicado por: orApic en 19 Junio 2017, 17:04 pm
Buenas,
 estoy analizando la función que instala un inline hook y me encontré con este trozo de código:

Código:
loc_10004599:           ; lpModuleName
push    0
call    ebx ; GetModuleHandleW
inc     esi
cmp     esi, 44h
jb      short loc_10004599

No parece hacer nada con el resultado por que hace un mov con destino eax.
¿Alguna idea de porqué hace esto?


Título: Re: Pregunta trozo código ensamblador de malware
Publicado por: MCKSys Argentina en 19 Junio 2017, 17:13 pm
El retorno de la API está en eax. Quizás lo usa más adelante?

El código que has colocado es muy poco/corto. Es difícil saber lo que está pasando...  :P

Saludos!


Título: Re: Pregunta trozo código ensamblador de malware
Publicado por: orApic en 19 Junio 2017, 17:25 pm
Justo después del jb hay un
Código:
mov     eax, edi
Por eso no sé muy bien para qué lo hace  :-\


Título: Re: Pregunta trozo código ensamblador de malware
Publicado por: MCKSys Argentina en 19 Junio 2017, 17:28 pm
Justo después del jb hay un
Código:
mov     eax, edi
Por eso no sé muy bien para qué lo hace  :-\

Si es así puede que sea ofuscación?

Saludos!


Título: Re: Pregunta trozo código ensamblador de malware
Publicado por: orApic en 19 Junio 2017, 17:32 pm
Si es así puede que sea ofuscación?

Saludos!
Podrías explicarte? No entiendo porqué sería ofuscación. Me refiero aquí sólo está iterando 68 veces con esa llamada de GetModuleHandle pero luego no hace nada con el resultado entiendo. O me estoy equivocando  :huh:


Título: Re: Pregunta trozo código ensamblador de malware
Publicado por: MCKSys Argentina en 19 Junio 2017, 17:39 pm
Podrías explicarte? No entiendo porqué sería ofuscación. Me refiero aquí sólo está iterando 68 veces con esa llamada de GetModuleHandle pero luego no hace nada con el resultado entiendo. O me estoy equivocando  :huh:

Claro. Es un bucle que no hace nada, pero que llama a una API. Puede que sea para confundir a los analizadores automáticos (como haz dicho, este código proviene de un malware).

Llamar a esa API más de una vez, en un bucle y sin usar el resultado; equivale a no hacer nada excepto perder ciclos de cpu.

Saludos!


Título: Re: Pregunta trozo código ensamblador de malware
Publicado por: orApic en 19 Junio 2017, 17:44 pm
Claro. Es un bucle que no hace nada, pero que llama a una API. Puede que sea para confundir a los analizadores automáticos (como haz dicho, este código proviene de un malware).

Llamar a esa API más de una vez, en un bucle y sin usar el resultado; equivale a no hacer nada excepto perder ciclos de cpu.

Saludos!

mmm Puede ser sí. Gracias!