Solución examen 1 con ollydbg

30
CRACKEO BÁSICO INGENIERÍA INVERSA Solución de Examen 1 Ollydbg

Transcript of Solución examen 1 con ollydbg

Page 1: Solución examen 1 con ollydbg

CRACKEO BÁSICO INGENIERÍA INVERSASolución de Examen 1

Ollydbg

Page 2: Solución examen 1 con 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.

Page 3: Solución examen 1 con ollydbg

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:

Page 4: Solución examen 1 con ollydbg
Page 5: Solución examen 1 con ollydbg
Page 6: Solución examen 1 con ollydbg

Posteriormente nos iremos al menú debug y a run como se muestra en la

siguiente imagen, nos deberá aparecer lo siguiente

Page 7: Solución examen 1 con ollydbg
Page 8: Solución examen 1 con ollydbg
Page 9: Solución examen 1 con ollydbg

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:

Page 10: Solución examen 1 con ollydbg
Page 11: Solución examen 1 con ollydbg
Page 12: Solución examen 1 con ollydbg

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:

Page 13: Solución examen 1 con ollydbg
Page 14: Solución examen 1 con ollydbg

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:

Page 15: Solución examen 1 con ollydbg
Page 16: Solución examen 1 con ollydbg

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

Page 17: Solución examen 1 con ollydbg

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:

Page 18: Solución examen 1 con ollydbg
Page 19: Solución examen 1 con ollydbg

Creamos el salto como se muestra en la siguiente figura:

Page 20: Solución examen 1 con ollydbg

Seleccionamos la sentencia completa desde:

JMP SHORT 00401660 hasta JMP SHORT 00401665

Page 21: Solución examen 1 con ollydbg

Creamos el salto como se muestra en la siguiente figura:

Page 22: Solución examen 1 con ollydbg

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

posteriormente nos vamos a edit y copy to executable

Page 23: Solución examen 1 con ollydbg
Page 24: Solución examen 1 con ollydbg

Nos aparecerá la siguiente ventana

Page 25: Solución examen 1 con ollydbg
Page 26: Solución examen 1 con ollydbg

Posteriormente salvaremos al fragmento que ensamblamos del programa

como se muestra a continuación

Page 27: Solución examen 1 con ollydbg
Page 28: Solución examen 1 con ollydbg
Page 29: Solución examen 1 con ollydbg

Posteriormente probaremos nuestro programa nuevamente para verificar

que efectivamente se guardo el cambio correctamente

Page 30: Solución examen 1 con ollydbg