Sunteți pe pagina 1din 7

Estudio completo del empaquetador

Armadillo 2.85
por

AkirA
Información

Programa: Crackme 2 de Red HawK (el Empacado)


Tamaño: El tamaño no importa XDDDDD
URL: www.iespana.es/ollydbg/akira.html
Herramientas: 1. Ollydbg 1.09c
Dificultad: NewBie avanzado

Introducción

Hola amigos!!!! Bienvenidos a la 54 entrega del curso de AkirA sobre protecciones


comerciales.

Bueno, pues ya hace tiempo que debía haber escrito esto, pero mi pasión por los
crackmes criptográficos me hizo que fuese retrasando este XD. Bueno, esta vez es un
armadillo sin CopyMem2 que no tiene mucho de especial. Solo una protección
AntiDump que me gustaría destacar y ese será el propósito de este tuto.

Un saludo para Mi Maestro y guía espiritual Joe Cracker y para +NCR/CRC, un buen
amigo. El fue quien me paso el crackme del CRC32 que visteis en el número anterior.
Se me olvidó dedicártelo XD, lo siento tío...

Espero que os guste a todos

Cualquier duda escribirme a mi email atalasa@hotmail.com

Nota: si necesitáis información sobre Ollydbg buscar en la pagina de Joe Cracker:


www.iespana.es/ollydbg esta es la mejor pagina que hay sobre el tema, de hecho gracias
ha ella yo hago todos es tos proyectos en olly

Comentario del Programa


Por supuesto el disclaimer de turno. Vamos a ver, no es que no me haga responsable de
la utilización de esta información, es que directamente paso del tema, el único propósito
de todo esto es de carácter educativo.
A fin de cuentas, si lo que quieres es crackear un programa pues te bajas el crack y
punto, pero si vas a leer este tutorial es porque tu objetivo es aprender. Eso es lo que nos
motiva, el comprender como funcionan las cosas o como están hechas por dentro, y por
supuesto el subidón de haberle ganado a un equipo de ingenieros diseccionando un
objeto que ellos habían diseñado y del cual no sabemos nada.
.
Manos a la Obra
Comienza el asedio....
Hola y bienvenidos a la 54 entrega del curso de AkirA sobre protecciones comerciales.

Bueno, pues lo primero es abrir el crackme 2 de RED con el STUD_PE para ver que
empacador se trata.

Vale ya sabemos que es armadillo 2.85. Pues que ilusión..... Creo que esta versión no
tiene el copymem2

Abrimos el Olly y cargamos el crackme. Pinchamos en el botón memory y


seleccionamos la sección code del crackme y damos a F2 para poner un breakpoint
toggle.

Ahora damos a F9 (RUN) y veréis como el Olly salta en 40100. Que es el EOP. Así que
debe estar hecho en MASM o en ensamblador similar. Eso nos da igual.

Ahora buscamos la zona de saltos a la IAT. Osea los JMP [XXXXXX].

Damos a CTRL +B para buscar y ponemos FF25 (que es el opcode de JMP[xxxxxxx] y


para aquí.
Entonces deducimos que no ha borrado la zona de saltos a la IAT. (Ahora, los nuevos
pacckers como PeSpin, suele hacerlo sustituyéndolos por EB, osea JMP normales)
Pero si podemos observar que hay entradas de la IAT que han sido redireccionadas, ya
que no apuntan a APIS, porque no sale su nombre al lado. En concreto faltan tres.

Pinchamos en el primer JMP[XXXXXXX] que no tiene el nombre de una api al lado y


con el derecho FOLLOW IN DUMP – MEMORY ADDRESS.

Ahora vamos al cuadrito DUMP (abajo a la izquierda) estamos delante de una entrada
de la IAT. Señalamos los 4 primeros bytes y con el derecho FOLLOW ADDRESS IN
DWORD.

Una vez aquí con el derecho damos a DISASSEMBLE.

Y si bajamos un par de líneas, vemos que llama a DialogBoxParamA.

Vamos a preguntarle al Olly cual es la dirección de esa API en mi PC

Y ahora, sustituimos la entrada de antes de la IAT, el valor malo por la dirección de la


API.

Para encontrar las otras dos APIS de la IAT que faltan, hacemos el mismo proceso y
encontramos que es:
Y la otra es:

Y las ponemos en su sitio.

Ya tenemos arreglado la IAT y tenemos el EOP. Ahora lo lógico seria dumpear el


proceso, pero si lo hicierais, os llevaríais una sorpresa, porque dumpearias un proceso
malo, si código, sin datos, en definitiva... ya me comprendéis no?

Ese fallo es debido a que el Armadillo modifica la cabecera PE del proceso para que no
pueda ser dumpeado.

Para solucionar esto, necesitamos una cabecera PE valida. Yo propongo utilizar la


cabecera del empaquetado y cambiar un par de valores luego. El proceso es el siguiente:

Vamos a Mis Documentos o donde tengáis el crackme 2 de RED, y lo abrís con el HEX
WORKSHOP.

Seleccionar todos los bytes entre 400000 y 400FFF y dad con el derecho a COPY.

Ahora nos vamos al Olly donde tenemos el crackme 2 de red parado en el EOP.

En la sección DUMP, con el derecho damos a GO TO – EXPRESSION – 400000


Seleccionamos hasta 400FFF y damos a BINARY-PASTE.

Ahora hay que hacer un par de cambios en la cabecera.

Pinchamos en el botón memory.

Seleccionamos la cabecera PE.

Buscamos el AddresCode, DataAddressy el Entry Point y los cambiamos por los


nuestros:
EOP 401000
AddressCode: Si el EOP esta en 401000 el Código pertenece a la sección 1000
AddressData: Mirad el código y buscad variables globales, string: 2000
Bueno, pues ahora ya s que podemos dumpear. Para ello vamos a PLUGINS-
OLLYDUMP y damos a OK

NOTA: Aunque veáis que pone otros AddressCode y AddressDta, no os preocupéis


porque luego los dumpea bien con lo que hicimos anteriormente.

Bueno, ahora abrimos el Import Reconstruct y seleccionamos el proceso Crackme 2 de


RED. En RVA EOP ponemos 1000. Damos a Auto IAT y luego a Get Import debéis ver
esto:
Luego damos a FIX DUMP y seleccionamos el uncarckme que dumpeamos antes y ya
tenemos una versión del crackme totalmente funcional.

Felicidades!!! Espero que hayas aprendido mucho.

P.D: Si quieres resolver el crackme investiga este salto y la variable global que depende
de ella y que debe valer 0 XDD

Saludos a todos.

Jejeje

Hasta la próxima!!!!!!!

Nota:
Bueno espero que te hayas divertido y sobre todo que hayas aprendido mucho que es de
lo que se trata, que te sirva de ejemplo para que tu también puedas hacerlo, desde luego
no hay comparado como coger un programa, abrirlo, ver un montón de código por todas
partes y manejar lo que otros ingenieros han hecho, tu solo, por ti mismo.

Bueno, si quieres comentarme algo escríbeme a atalasa@hotmail.com

Chao!!
Espero que hayan disfrutado leyendo este tutorial y que les sirva para incrementar sus
habilidades, pero recuerden, lean muchos tutoriales, practiquen, estudien y
CRACKEAR será mucho más.

S-ar putea să vă placă și