Vous êtes sur la page 1sur 7

ARMADILLO 4.

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/

Hola a todos y bienvenidos a la 62 entrega del curso de protecciones comerciales.

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.

En este tuto vamos a hacer lo siguiente:

1) Sacaremos la IAT
2) Sacaremos el EOP
3) Obtendremos un dumpeado 100% funcional

Va ser muy rapido

(yo he renombrado el crackme a b8.exe jejeje, seguro que alguno se imagina por que ☺
me fue muy util para sacar cierta info)

Abrimos el Olly y file->open y seleccionamos el b8.exe

(tengo los plugins de hidedebugger y lo tengo parcheado para vprotect)

Damos a run, pasamos las excepciones con shift+f9 y saldra el cartelito:

Lo aceptamos y parara en otro excepcion.


Es el momento de ir a la Command Bar y poner “he strcpy”

Y damos a run. Pasamos las excepciones hasta que pare aquí:

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:

Un ejemplo , vemos en los registros que en ecx no esta la direccion verdadera de


DialogBoxParamA , pero sabemos que es esa dirección porque el nombre esta justo
debajo ☺
Vamos a command bar y ponemos “? DialogBoxParamA”

Apuntamos la direccion Y la escribimos en ecx

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:

(Si hay excepciones entremedias, las pasais con shift+f9)

Total, que la IAT queda asi:

(bueno, los saltos, pongo esta foto para que sea mas facil ☺ )
Ahora vamos a sacar el EOP.

Arrancamos el Olly y damos a file->open y cogemos b8.exe


Damos a run y pasamos las excepciones con shift+f9 y saldra el cartelito:

Aceptamos y para en una excepcion. Es el momento de ir al command bar y escribir “he


GetModuleHandleA”

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

Ese call ecx apunta a 401099 que es el EOP

Ya tenemos todo lo necesario. EOP , IAT y codigo y datos desencriptados. En este


momento lo logico seria dumpear, pero si lo hacemos nos dara un ejecutable malo. Debe
tener algun tipo de truco antidebug, ya que tiene varios hilos ejecutandose en este
momento.

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

Ahora damos a plugins->ollydump y cambiamos el EOP


Y ya tenemos un dumpeado2.exe totalmente funcional

Espero que te hayas divertido o que por lo menos te lo hayas pasado bien

Hasta la proxima!!!

Vous aimerez peut-être aussi