Solución de Examen 1
Ollydbg
 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.
 Lo primero que haremos será abrir el programa que vamos a crackear y una vez nos

pide el serial para activarlo ponemos lo que queramos, en este caso yo he puesto
123456 y le damos a entrar o checar, ver imagen:
 Posteriormente nos iremos al menú debug y a run como se muestra en la siguiente

imagen, nos deberá aparecer lo siguiente
 Ahora nuestro debugger automáticamente nos abrirá

y desensamblara nuestro

crackme o programa, bien una vez hecho esto, haremos click derecho y se nos abrirá
una ventana, ahí haremos click sobre serach for y posteriormente sobre all referenced
text strings, con esto último se nos abrirán todas las referencias de las cadenas de
texto que contiene nuestro programa o crackme, ver imagen:
 Bien, una vez hecho esto, lo que hacemos es buscar en el debugger el mensaje de

error que anteriormente nos dio el

crackme, que era key is wrong y una vez

localizado hacemos un doble click sobre el, ver imagen:
 Bien, una vez hecho el doble click sobre el, lo que hacemos será buscar el mensaje

que nos de paso, el ok al programa y una vez localizado, que en este caso es key is
ok lo que haremos será copiar el numero que se muestra en la siguiente imagen:
 Una vez localizado el número lo que haremos será buscar el mesaje anterior de error

y haremos un doble click sobre la zona donde pone push seguido de crackme1 y un
numero y automáticamente se nos abrirá una ventana en la que deberemos introducir
lo siguiente:

 JMP SHORT 0041660
 Y pulsamos doble clic sobre la instrucción y nos aparecerá una ventana llamada

assemble, de este modo lo que estamos haciendo es crear un salto, desde el
mensaje de error(key is worng) hasta el mensaje del ok (key is ok) para que lo
entendamos, con la orden JMP SHORT lo que le estamos diciendo al programa es
que cuando llegue al mensaje de error, salte directamente al ok, de esta forma
creamos el salto, ver imagen:
 Creamos el salto como se muestra en la siguiente figura:
 Seleccionamos la sentencia completa desde:
 JMP SHORT 00401660 hasta JMP SHORT 00401665
 Creamos el salto como se muestra en la siguiente figura:
 En

el código seleccionado damos clic con el botón derecho del mouse,

posteriormente nos vamos a edit y copy to executable
 Nos aparecerá la siguiente ventana
 Posteriormente salvaremos al fragmento que ensamblamos del programa como se

muestra a continuación
 Posteriormente probaremos nuestro programa nuevamente para verificar que

efectivamente se guardo el cambio correctamente
Solución examen 1 con ollydbg

Solución examen 1 con ollydbg

  • 1.
  • 2.
     Bien, para hacereste 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.
  • 3.
     Lo primeroque haremos será abrir el programa que vamos a crackear y una vez nos pide el serial para activarlo ponemos lo que queramos, en este caso yo he puesto 123456 y le damos a entrar o checar, ver imagen:
  • 6.
     Posteriormente nosiremos al menú debug y a run como se muestra en la siguiente imagen, nos deberá aparecer lo siguiente
  • 9.
     Ahora nuestrodebugger automáticamente nos abrirá y desensamblara nuestro crackme o programa, bien una vez hecho esto, haremos click derecho y se nos abrirá una ventana, ahí haremos click sobre serach for y posteriormente sobre all referenced text strings, con esto último se nos abrirán todas las referencias de las cadenas de texto que contiene nuestro programa o crackme, ver imagen:
  • 12.
     Bien, unavez hecho esto, lo que hacemos es buscar en el debugger el mensaje de error que anteriormente nos dio el crackme, que era key is wrong y una vez localizado hacemos un doble click sobre el, ver imagen:
  • 14.
     Bien, unavez hecho el doble click sobre el, lo que hacemos será buscar el mensaje que nos de paso, el ok al programa y una vez localizado, que en este caso es key is ok lo que haremos será copiar el numero que se muestra en la siguiente imagen:
  • 16.
     Una vezlocalizado el número lo que haremos será buscar el mesaje anterior de error y haremos un doble click sobre la zona donde pone push seguido de crackme1 y un numero y automáticamente se nos abrirá una ventana en la que deberemos introducir lo siguiente:  JMP SHORT 0041660
  • 17.
     Y pulsamosdoble clic sobre la instrucción y nos aparecerá una ventana llamada assemble, de este modo lo que estamos haciendo es crear un salto, desde el mensaje de error(key is worng) hasta el mensaje del ok (key is ok) para que lo entendamos, con la orden JMP SHORT lo que le estamos diciendo al programa es que cuando llegue al mensaje de error, salte directamente al ok, de esta forma creamos el salto, ver imagen:
  • 19.
     Creamos elsalto como se muestra en la siguiente figura:
  • 20.
     Seleccionamos lasentencia completa desde:  JMP SHORT 00401660 hasta JMP SHORT 00401665
  • 21.
     Creamos elsalto como se muestra en la siguiente figura:
  • 22.
     En el códigoseleccionado damos clic con el botón derecho del mouse, posteriormente nos vamos a edit y copy to executable
  • 24.
     Nos aparecerála siguiente ventana
  • 26.
     Posteriormente salvaremosal fragmento que ensamblamos del programa como se muestra a continuación
  • 29.
     Posteriormente probaremosnuestro programa nuevamente para verificar que efectivamente se guardo el cambio correctamente