elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.
 
Inicio Ayuda Buscar Ingresar Registrarse
17 Mayo 2012, 07:00  


Tema destacado: Nueva página de elhacker.net en Google+ Google+

+  Foro de elhacker.net
|-+  Seguridad Informática
| |-+  Análisis y Diseño de Malware (Moderadores: Karcrack, [Zero])
| | |-+  Analisis codigo ofuscado
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Analisis codigo ofuscado  (Leído 1,679 veces)
bizco


Desconectado Desconectado

Mensajes: 698


Ver Perfil
Analisis codigo ofuscado
« en: 1 Mayo 2010, 22:24 »

Continuando hoy con el tema que empece ayer y basandome en lo mismo (un downloader) me gustaria que la gente del foro que analiza malware lo analizase y dejase un comentario sobre la facilidad o dificultad de seguir el codigo con un depurador, mas que nada para seguir con este enfoque o cambiarlo todo y empezar de 0, es mucho trabajo lo que queda y no quiero que sea una perdida de tiempo. Igual que ayer solo baja una imagen y muestra un MessageBox, la idea no es que me digan lo que hace, me gustaria una valoracion a la hora de seguir el codigo, si se hace confuso el analisis, cansado de seguir, que cosas cambiarias etc etc.

http://www.sendspace.com/file/u4xlw5

En línea
Karcrack
Moderador
***
Desconectado Desconectado

Mensajes: 2.186


Se siente observado ¬¬'


Ver Perfil
Re: Analisis codigo ofuscado
« Respuesta #1 en: 2 Mayo 2010, 01:40 »

 ;-)
La verdad es que da muchas vueltas y hace mucha *****, asi que supongo que esta bien ofuscado :xD
Si no tuviese la cadena "URLDownloadToFileA" creo que jamas sabria lo que hace :laugh: ;)
En línea

bizco


Desconectado Desconectado

Mensajes: 698


Ver Perfil
Re: Analisis codigo ofuscado
« Respuesta #2 en: 2 Mayo 2010, 12:06 »

gracias por darle un ojo :), entonces continuo y si llego a terminarlo lo publicare para el que quiera usarlo ;). intento hacer un codigo hibrido, las vueltas que ves es el interprete ejecutando el codigo pudiendo mezclar codigo real y codigo interpretado de forma sencilla.
En línea
[Zero]
Moderador
***
Desconectado Desconectado

Mensajes: 1.057


CALL DWORD PTR DS:[0]


Ver Perfil WWW
Re: Analisis codigo ofuscado
« Respuesta #3 en: 2 Mayo 2010, 13:00 »

Jaja, si, ta bien ofuscado  ;D. Lo estás intentando automatizar o lo has hecho "a mano" ?

Saludos
En línea


“El Hombre, en su orgullo, creó a Dios a su imagen y semejanza.”
Nietzsche
bizco


Desconectado Desconectado

Mensajes: 698


Ver Perfil
Re: Analisis codigo ofuscado
« Respuesta #4 en: 2 Mayo 2010, 13:48 »

es automatizado todo, y a diferencia de el que publique el otro dia no hay comparacion de opcodes. es decir cada instruccion se ejecuta en su orden como si fuese codigo real. para hacer esto cada "opcode" es el indice de su correspondiente funcion en una tabla de llamadas. por ejemplo:

Código:
macro v_pushr [reg]
{
 db 01h             ; opcode
 db reg             ; registro
}   

esto es el macro que define la instruccion push registro, el opcode no es mas que el indice 1 en la tabla de llamadas interna del interprete y el valor registro es el registro que se quiere pushear (la instruccion es automodificable). ahora la implementacion de esto es la siguiente:

Código:
_PUSH_REG:  ;Pushea un registro, el registro se especifica y se asigna en ejecucion.
  inc ebx        ; se a llegado aqui desde otra funcion del interprete, necesitamos incrementar para obtener el registro que se quiere pushear.
  mov cl,byte [ebx]    ; se lee el registro
  mov byte [$+6],cl   ; se pone el registro en el codigo
  nop                        ; aqui se ejecuta el push X, siendo X el registro especificado
  add ebx,1               ; incremento para leer la siguiente instruccion
  xor edx,edx
  mov dl,byte [ebx]
  jmp dword [CALL_TABLE+edx*4]   ; ejecuta la siguiente instruccion

y como ya dije puedes mezclar codigo sin complicaciones, por ejemplo:

mov eax,valor
v_sta                        ; inicia ejecucion por parte del interprete
v_pushr _eax            ; pusheamos eax
v_mov_r _ecx,valor   ; movemos a ecx el valor X
v_calld funcion,0       ; llamamos a una funcion
v_end                       ; indicamos al interprete que a finalizado su bloque de instrucciones y ahora se ejecuta codigo normal
cmp eax,Lo-que-sea
+codigo.

a la hora de escribir no es que sea un proceso complicado ya que las instrucciones interpretadas se asemejan a su correspondiente real en nombre. de este modo nada mas compilar ya esta el ejecutable ofuscado :).
En línea
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Herramienta análisis de código fuente
Nivel Web
elrond30 0 1,358 Último mensaje 13 Junio 2011, 22:32
por elrond30
Script Ofuscado
Scripting
index1993 2 240 Último mensaje 23 Marzo 2012, 17:34
por index1993
[Python] (Ayuda) Código ofuscado.
Scripting
adrianmendezRap 8 439 Último mensaje 21 Abril 2012, 15:16
por adrianmendezRap
Powered by SMF 1.1.16 | SMF © 2006-2008, Simple Machines