solución examen 2 con ollydbg
DESCRIPTION
Solución examen 2 con ollydbgTRANSCRIPT
CRACKEO BÁSICO INGENIERÍA INVERSASolución de Examen 2
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.
Ejecutamos el crackme y nos aparecerá lo siguiente
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.
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
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.
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.
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:
Ahora que ya hemos modificado el algoritmo de la aplicación, pasamos a
probarlo: Pulsamos en Debug > Run (O directamente pulsamos F9)
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
Posteriormente nos aparecerá la siguiente ventana
En esa ventana le damos clic con el botón derecho del mouse y le damos
save file
Una vez salvado probamos nuestro archivo creado para comprobar que
realmente funciona de manera adecuada, en mi caso ejecuto crackme ok