16 jul 2012

Crackme, jugando con un serial y OllyDBG II

Si recordáis la entrada de ayer, estábamos hablando sobre como podíamos con OllyDBG hacer el reversing de un binario que comprobaba el serial, al final conseguíamos editar en memoria y guardar el resultado de manera que podíamos introducir cualquier serial que nos daba un resultado de serial correcto.

En esta segunda parte, miraremos exactamente que check realiza el binario para saber que el serial que introducimos es correcto, o no lo es.

Por si no lo habéis leído, cuando abrimos el binario, nos vamos a buscar todas las referencias de String del binario.

Picamos otra vez en la parte de This serial, para ir a la parte que nos interesa.

Ahora lo que hacemos será ir a la parte de address de 00401F7, que es donde tenemos el call y el eax que compara a 0.

Esta vez no haremos ningún cambio con Assemble. Lo que hacemos es colocar un breakpoint. De esta manera cuando ejecutemos el programa y vaya a comprobar el serial introducido podremos ver como funciona.

Ponemos un breakpoint.

Ejecutamos el programa

Fijaros en las referencias y demás, luego veréis por que :D

Ahora lo que haremos será ir paso a paso (instrucción por instrucción) para ver que hace, así que hacemos el primer paso.

Podemos ver mas strings que antes no habíamos visto, además vemos justo en el recuadro de abajo, que hay dos strings, el que hemos introducido nosotros y otro mas. ¿Que es ese string? L2C-57816784-ABEX

Pues se trata del serial que estábamos buscando, así que lo introducimos en el programa para comprobarlo

Ueee, ya tenemos el serial que estábamos buscando.

En otras ocasiones encontraremos cifrado el serial, claro

3 comentarios:

  1. Me gusto mucho, lo unico si el serial esta cifrado no servirá de nada o me equivoco? Muy interesante el articulo!!!

    ResponderEliminar
  2. [...] señor Marc Rivero nos trae la segunda parte de su forma de ver el crackeo de seriales para algunos juegos… ¿y tú que opinas de [...]

    ResponderEliminar