Crackme-1 moofy's crackme #2

Posted by selmineos | Posted in | Posted on 9:13

Vamos a crackear nuestro primer programa, muy sencillito. Se trata simplemente de encontrar el número de serie correspondiente a nuestro nombre.

El link de descarga del crackme es éste.


Antes de empezar necesitamos echarle un ojo a cómo funciona el programa. Es muy lineal. Simplemente nos pide un usuario y un password, y si el password es incorrecto nos muestra un texto que pone "bad boy".



Lo primero que hacemos tras cargar el programa es darle a botón derecho y elegir "find all intermodular calls", que nos da la lista de APIs llamadas por el crackme:



De entre todas las llamadas nos interesan las siguientes:

lstrcmpA: comparar strings, seguramente compara el número de serie que le damos con el bueno con una llamada a esta función.
IsDebuggerPresent: usada para detectar nuestro debugger.

Así pues, antes de nada necesitamos interceptar esa llamada a IsDebuggerPresent. Ponemos un breakpoint tanto allí como en la llamada a lstrcmpA:






Y ejecutamos el programa ... Pronto, alcanza la llamada a IsDebuggerPresent, cuyo resultado parcheamos. Tras cambiar el código de retorno a cero, volvemos a darle a F9 y dejamos que continue, hasta que salta el dialogbox pidiéndonos el usuario y el password. Metemos nuestro nombre y cualquier otra cosa como password y le damos a check:



ahí tenemos nuestro password ... Lo copiamos, volvemos a ejecutar el programa sin el debugger y vemos si funciona:



Nunca se debe comparar el número de serie directamente con el input del usuario por esta razón. Siempre, y digo siempre, hay que comparar un hash del número de serie - entre otras muchas medidas que podríamos nombrar.

Saludos,


Articulo copiado de hacking/avanzado

Comments (0)

Publicar un comentario

Archivo del blog