Académique Documents
Professionnel Documents
Culture Documents
01A
Por AkirA
Crackslatinos TEAM
DISCLAIMER
Aquí no encontraras cracks ni seriales , ni codigos de acceso. El unico proposito de este
tutorial es de carácter educativo. Se pretende discutir la seguridad de ciertos protectores
de software y discutir la posibilidades de nuevos ataques que harian vulnerables a estos
programas y por lo tanto harian vulnerables nuestros sistemas
Direcciones WEB :
AkirA:
http://www.iespana.es/ollydbg/akira.html
email : akira_cracker@yahoo.com.ar
Joe Cracker:
http://www.iespana.es/ollydbg
Crackslatinos:
www.crackslatinos.hispadominio.net/
Hoy vamos a hablar de Armadillo 4.0a . O por lo menos eso creo. Yo cogi este crackme
de un foro de ingenieria inversa muy conocido. Pero a la hoy de desempacarlo me
resulto extremadamente sencillo para ser un armadillo, asi que consulte a la lista.
Quiero dedicarle el tuto a mi amigo Red Hawk que me paso las siguientes fotos y la
siguiente información:
Según peid es :
Y segúnRdgmax es:
Con lo cual ni una cosa ni otra (hombre , yo me fio mas del segundo programa que es
capaz de detectar inluso el themida). Yo voy a escribir el tutorial y si alguien sabe que
version es , pues mejor para el.
1) Sacaremos la IAT
2) Sacaremos el EOP
3) Obtendremos un dumpeado 100% funcional
(yo he renombrado el crackme a b8.exe jejeje, seguro que alguno se imagina por que ☺
me fue muy util para sacar cierta info)
Damos a till return trazamos con F8 un poco hasta llegar a esta linea
(fijaos que es facil de verlo gracias a ese GetTickCount de abajo)
Como ves en eax esta la entrada de la IAT que va a escribir y en ECX la direccion
correcta o falsa, depende. Pero es que en edx esta el nombre de la api verdadera, asi que
si pone una direccion falsa en ecx , para corregirlo sera tan sencillo como poner la
direccion verdadera en esta linea
(explicación de cómo este armadillo saca la IAT) utiliza strcpy ystrlcmp para obtener
EL NOMBRE de la api correspondiente. Anteriormente obtuvo con relaciones entre
Nombre api – direccion verdadera. Osea la manera que tiene de buscar la direccion de
las apis es comparando el nombre de la api que toca con su tabla de nombres-direccions
con la funcion strlcmp , lo cual… me parece demasiado facil para ser un armadillo)
Asi que poniendo un BPX en esa linea ira saliendo todas las apis y sus respectivas
direcciones. Lo unico que hay que comprobar es si en ecx hay una direccion verdadera.
Si es asi, damos a run , si no es asi, veamos un ejemplo de lo que hay que hacer para
solucionarlo:
Y asi iriamos con todas las apis, hasta que termine de ejecutarse. En esta primera pasada
solo queremos sacar la IAT, luego nos preocuparemos del eop. (cuando terminemos
todas las entradas damos a Binary->copy (seleccioando la IAT claro) y copiandolo a un
archivo de texto
Otro ejemplo:
(bueno, los saltos, pongo esta foto para que sea mas facil ☺ )
Ahora vamos a sacar el EOP.
Y vamos pasando las excepciones y los bp hasta que llegue un momento en la lipa en el
que vemos que se ha llamado a GetModuleHandleA y la pila esta llena de ceros
Es el momento de dar a till return
Y vamos dando un poco a F8, y vemos que pasamos una llamada a CreateThread y que
un poco mas abajo llegamos a un CALL ECX
Asi que lo resolveremos a lo facil. Cogemos el b8.exe y hacemos una copia en otra
carpeta. Yo lo llame dumepado.exe. Abrimos el dumpeado.exe con el olly.
Recapitulemos tenemos un olly con el crackme en el eop y un olly con una copia de
b8.exe.
Ahora lo unico que tenemos que hacer es seleccionar toda la seccion de codigo del
primero y copiarla en la seccion de codigo del segundo (binary copy)
Y lo mismo con los datos (binary copy en el primero y binary paste en el segundo)
Como ya dije en otro tuto anterior esta es una forma facil de arreglar el asunto, ya que el
tamaño de la seccion de codigo y de datos es lógicamente la misma, los packers suelen
encriptar las secciones y añadir otras, pero no suelen varias el tamaño de los originales
Ahora lo unico que queda por hacer es copiar la IAT que resolvimos al principio
(binary -> paste si lo copiaste a un archivo) y ya podemos cerrar el primer Olly
Nota Mental : en la IAT aun quedan un par de direccion que no son de apis, esas
direccion hay que ponerlas a cero (mirar la foto) es un truco antidebug para que no se
pueda arreglar la IAT
Espero que te hayas divertido o que por lo menos te lo hayas pasado bien
Hasta la proxima!!!