Pregunta trozo código ensamblador de malware

Iniciado por orApic, 19 Junio 2017, 17:04 PM

0 Miembros y 1 Visitante están viendo este tema.

orApic

Buenas,
estoy analizando la función que instala un inline hook y me encontré con este trozo de 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?

MCKSys Argentina

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!
MCKSys Argentina

"Si piensas que algo está bien sólo porque todo el mundo lo cree, no estás pensando."


orApic

Justo después del jb hay un mov     eax, edi
Por eso no sé muy bien para qué lo hace  :-\

MCKSys Argentina

Cita de: orApic en 19 Junio 2017, 17:25 PM
Justo después del jb hay un mov     eax, edi
Por eso no sé muy bien para qué lo hace  :-\

Si es así puede que sea ofuscación?

Saludos!
MCKSys Argentina

"Si piensas que algo está bien sólo porque todo el mundo lo cree, no estás pensando."


orApic

Cita de: MCKSys Argentina en 19 Junio 2017, 17:28 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:

MCKSys Argentina

Cita de: orApic en 19 Junio 2017, 17:32 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!
MCKSys Argentina

"Si piensas que algo está bien sólo porque todo el mundo lo cree, no estás pensando."


orApic

Cita de: MCKSys Argentina en 19 Junio 2017, 17:39 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!