Bueno,
es más sencillo de lo que parece. Usa MD5 para protecciones anti-modificaciones. En este CrackMe no se tiene que hayar ningún pass, ni mucho menos desencriptar nada. Esta técnica la he pilao de la protección de un juego jeje. Así nos adentramos un poco en el mundo del MD5...

Imagen


[Enlace externo eliminado para invitados]
Pass: Slek

Para este CrackMe no se necesitan muchos conocimientos sobre carcking, más bien lógica. He dado muchas pistas, demasiadas diría yo.

Condiciones:
- Se tiene que Modificar el Archivo para que cuando se pulse el botón Run aparezca un Form con título Mod.
- No se vale Crackear y Saltar la condición/comparación (eso lo sabe hacer todo el mundo).
- Se debe Postear un mini-tuto de como se realizó y la descarga del archivo modificado.

Suerte!
github.com/Slek-Z
hola bueno a ver lo estuve mirando hasta que pude ver, aunque en mi pc ahi un error que desconosco y no me funciona bien cuando es resuelto me da un error al pasarle los parametros a la funcion shell pero bueno no se...

Un MD5

3 Archivos

CrackMe.exe = Programa principal
Project.dll = Dll donde esta la rutina de encriptacion MD5
Project.bin = Ventana que muestra al resolverse (Es la ventana cambiada a .bin)
Si lo quieren comprobar renombrelo a .exe y corranlo y veran

Bueno vamos a analizarlo a ver

Lo abrimos con el OllyDBG y vamos a buscar las referencias a string en el a ver si encontramos donde ir a evaluar

Imagen


Encontramos string sospechosas y vamos a ella y caemos en la rutina principal

Imagen


Subimos con el scroll hasta el principio de la rutina para ir traceando y evaluandola toda, Ponemos un breakpoint ahi...

Imagen


Corremos el programa (F9 o Run) y damos click en el boton Run para caer en el BreakPoint

Imagen


Empezamos a tracear hasta que vemos que empieza a concatenar alguns string primeros vemos lo que se asemeja a app.path en vb

Imagen


Lo concatena con Project.bin y lo pasa como parametro a la siguiente funcion...

Imagen


Ya pasado como parametro la ruta ahora llama a la funcion open
supongo que
Open ruta For Binary As #1

Imagen


Ahora traceando y ya abierto toma su longitud

Imagen


Seguimos traceando hasta llegar a la call 40211A donde calcula un md5 pasado el parametro de la ruta y longitud del archivo Project.bin
asi que suponemos calcula algun md5 de ese archivo pero aun no sabemos que es entonces seguimos

Imagen


Mas abajo compara este md5 con "bec9ef5fb0e6d8b4897b711093269d02" que si sabemos sera incrackeable a menos que contemos con mucha suerte

Imagen


Probemos a ver que pasa si yo cambio el nombre del archivo a CronuX.bin

Imagen


Ahora abrimos el Crackme.exe con el OllyDBG nuevamente y paramos en la call donde calculaba el md5

Imagen


ahora observamos que calcula un md5 pero este si lo reconocemos el "d41d8cd98f00b204e9800998ecf8427e" es el md5 de nada osea que sospechamos que calcula el md5 de todo lo contenido en el archivo y esto es el mismo MD5 Checksum de este, tambien observamos que se creo el archivo Project.bin vacio

Imagen


Entonces vamos a mirarcon con el MD5Check el Project.bin vacio

Imagen


Ahora miramos el original renombrado a CronuX.bin y apuntamos este md5 pues la unica forma de crackearlo sin modificar el "salto" y diciendonos que podemos modificar el archivo pero el "salto" no entonces la unica forma es cambiar el md5 a comparar pues averiguar o modificar un md5 checksum de un archivo al que uno quiera es una posibilidad en billones pues por cada byte que se modifique este cambia ahora tendrias que saber cuantos y que bytes cambiar (imposible)

Imagen


Entonces ahora abrimos el Crackme.exe con el olly y vamos a la linea de comparacion donde esta el MD5 a comparar y damos click derecho - follow in dump - immediate constant

Imagen


Selecionamos el md5 y damos click derecho binary - edit

Imagen


Modificamos por el md5 del Project.bin original "37328bba6a4c79f7b9eb6bdf95ce9e3c"

Imagen


Clkick derecho y guardamos en el executable le ponemos el nombre que queramos...

Imagen


Por ultimo renombramos el archivo a Project.bin y ejecutamos el crackme modificado, Probamos
y nos sale la ventana con nombre "Mod"

Imagen


Adunto archivo modificado como dice en las reglas:
[Enlace externo eliminado para invitados]

Y listo a sido resuelto, la cosa es que la ultima imagen me toco tomarla de una virtual machine con so xp sp2 pues en mi pc con mi so me da un error con la dll
Saludos y espero que hayan entendido
Muchismas gracias Slek por el crackme y espero algun otro
CronuX

Cualquier inconveniente por favor notificarmelo...
Nota: Despues de subir tanta imagen me doy vacaciones para la proxima se ira en un pdf jeje
Imagen

Imagen
Jeje, muy bueno CronuX

Lo único es que no hacía falta calcular el MD5 del Project.bin con otro programa, podías cojer el Hash directamente de los parámetros de comparación. En el Mov EDX, EAX se encuentra el Hash, lo podrías haber cogido de ahí directamente.

A ver si se me ocurre algon otro CrackMe de estos jeje.

Slaudos!!
github.com/Slek-Z
vaya que tambien necesito aprender ollydbg jeje
eres grande CronuX
Imagen

♪♪ 2pac & Notorius B.I.G ♪♪
¿Por qué estoy luchando para vivir cuando estoy solo viven para luchar,
¿Por qué estoy tratando de ver cuando no hay nada a la vista,
¿Por qué estoy tratando de dar cuando nadie me da una oportunidad,
¿Por qué estoy muriendo para vivir cuando yo estoy viviendo para morir.♪♪
Responder

Volver a “Cracking/Reversing”