Bueno aqui el pequeño tute de la solucion, ya saben que me gusta sacarle tuto a lo que se me venga
aunque en este momento ando un poco escapao y debo irme mas tarde
:, la explicacion de la rutina generadora la dejo para despues que sino el tute se alarga
.
::::::::::::: Tute Crackme NaXoS 1.1 - AmeRiK@nO :::::::::::::
Primero lo cargamos en Peid y no dice nada
y en RDG muestra UPX:
No presentará mucho problema, por lo que podemos hacerlo
A MANO o usando el mismo UPX con la opcion -d y descomprimirlo.
Una vez descompreso vemos que se trata de un
Borland C++, ejecutamos el crackme y miramos a que nos enfrentaremos:
Ahi vemos que pase lo que pase tendremos que activar primero ese boton para poder hacer algo, tambien porque el crackme en si no usa la rutina en los eventos de las 2 cajas de edicion ni usa apis llamativas, por lo que solamente el registro se realizará una vez presionado el boton, y tendremos varias alternativas para activarlo, usando editores, etc, pero para hacerlo mas elegante vamos a hacer uso de la api
EnableWindow... cargamos primero el
unpacked en olly
y ahora ponemos el BP en dicha api:
Luego de esto ejecutamos el crackme y vemos que no para alguna vez, asi que para no tener que injertar ni nada por el estilo miremos todos los botones que trae el crackme para ver cuando hace uso de la api:
Nos muestra ese segundo
Form y aun no ha parado en la api, asi que demos click en el boton
Prem!OS y ahi si para el olly:
Ahora nos vamos a ver en la pila los parametros:
Ahi vemos en
ESP+4 el handle del control a activar o desactivar segun indique el flag en
ESP+8, por lo tanto vayamos a la ventana
Windows de Olly y pillemos el
handle del boton que necesitamos:
Ahi vemos que se trata del boton en cuestion de la clase
TBitBtn de Borland, y alli vemos su
handle tambien, copiamos este valor, y vamos a modificar los parametros en la pila antes de la llamada a
EnableWindow. Seleccionamos el DWORD de
ESP+4, damos click
derecho/modificar y ponemos el
Handle de nuestro boton, y en
ESP+8 ponemos el valor de
1 que indica
Enabled:
Una vez hecho todo esto, deberia quedar asi:
Bueno ahora quitemoss el
BP en la api y presionamos
F9, y cerramos los forms que abrimos y vemos que aunque no lo parezca por su color, el boton ya esta activo:
Ahora si vamos a hacer lo sigueinte, para seguirle el paso a nuestro serial, primero ingresamos los datos y antes de presionar
Comprobar usaremos el plugin
The Kluger y pondremos un BP en el
Punto H.
Entonces ahora presionamos
Comprobar y vemos que para allí:
En este instante es donde movera los dos datos a sus respectivos buffers, por lo tanto si apreciamos en
ESI apunta al nombre y lo movera a la direccion que apunta
EDI, por lo tanto presionemos
F9 2 veces y cuando vaya a mover el serial, es decir cuando aparezca justo en
ESI, presionamos
F8 para que lo mueva y ahora vamos a la direccion de
EDI y ponemos un
HBP on Acces en ese sitio:
Presionemos
F9, y ya estamos justo cuando el crackme va a manipular los datos:
Salimos de esta parte y continuamos el traceo hasta aqui, sin entrar en las calls, ya que hay muchas que son tipicas de
Borland (un poco de experiencia ya
) y no son necesarias para la rutina:
Compara que la longitud del nombre sea mayor a
1. Continuemos.... y vemos aqui que compara si es mayor o igual que
6, y como lo és, veamos donde nos manda:
A otra comparacion que indica lo contrario por lo cual no se cumplirá, y si seguimos llegamos a esta otra parte:
Esta rutina es una gran parte de la rutina generadora del serial por no decir toda
y no es muy complicada que digamos, por eso puse los comentarios para mas detalles
.... ahora cuando salgamos vemos esta comparacion:
Ahi compara la longitud de la cadena generada antes
07h, ahi se ve en el
Dump con la longitud de nuestro nombre
09h en mi caso, y si es mayor o igual saltará, y como en este caso continuamos por una serie de rutinas que son interesantes si queremos hacer el keygen pero como no vamos a hacer un tute de 3 post
vamos directo al serial, solo puse alguna info para animaros a crear el keygen.. pasemos estas rutinas y continuamos hasta llegar finalmente a la comparacion:
Esta esta pequeño bucle que ira comparando caracter por caracter, entonces antes de que salga miremos que hay en
[EBP+EDX-E8]:
Ahi vemos nuestro serial correcto, asi que sin alargar mas el tute, quitamos todos los
BPs, lo probamos y....:
Ahi ta la mona con su bikini
!!!
Resumiendo...
Name: AmeRiK@nOPass: aj_i]\-A4F-dwssqfwSalu2 a todos!!!