2. Bien,
para hacer este tipo de crackeo hay varios tipos de programas, como por
ejemplo: OLLYDBG, W32DSM, INMMUNITY DEBUGGER, utilizaremos OLLYDBG,
ya que lo considero sencillo, pero debes de saber que en el caso de OLLYDBG, el
proceso es el mismo, bien, una vez ya tenemos nuestro programa para
debuggear(desensamblar) y nuestro crackme (programa para crackear) comenzamos
con la operación.
4. Recordemos que los programas son conjuntos de operaciones aritméticas que se
ejecutan sobre la memoria.
A estas operaciones se acceden mediante una serie de saltos (ya sean condicionales o
incondicionales).
Si lo que quiero es obtener una salida distinta a la habitual, lo que debo hacer es
modificar el algoritmo, forzando una serie de saltos concretos. (Estudiando las
operaciones aritméticas y saltos que realiza la aplicación)
Tenemos una aplicación que parece contener una contraseña, pero no está autorizada a
mostrárnosla.
5. Abrimos la aplicación con Ollydbg y buscamos cadenas legibles, con el fin de poder
situarnos en el flujo que contiene la condición que nos niega darnos la contraseña
6.
7.
8.
9. Podemos ver la parte que devuelve la contraseña, pero esta enmascarada, así que
no aparece directamente, si no que en el momento de ejecución cada %c, será
sustituido por valores char.
10.
11. Pulsamos doble clic sobre el y nos mandará a esa parte, además si nos situamos
sobre el “No puedo darte la clave”, y se desplegará una flecha, que nos indicará
desde que salto proviene la instrucción.
12.
13. Nos posicionamos en el origen y vemos que pone JE, que significa “salta si es
equivalente”, entonces entendemos que hay una condición que esta impidiendo que
la aplicación nos de la contraseña.
Por lo tanto vamos a modificar JE por su antónimo: JNE, que significa “salta si no es
equivalente”.
Hacemos doble clic sobre el, lo modificamos y pulsamos Assemble:
14.
15.
16.
17. Ahora que ya hemos modificado el algoritmo de la aplicación, pasamos a probarlo:
Pulsamos en Debug > Run (O directamente pulsamos F9)
18.
19. Si deseamos guardar nuestro resultado hacemos el siguiente procedimiento y no vez
que modificamos el salto de equivalencia por uno no equivalente seleccionamos el
código que se muestra en la imagen y le damos clic con el botón derecho y
seleccionamos edit y copy to executable