Practicando con OLLYBDG

Antes que nada, felices fiestas a todos, supongo que entenderéis que son unas fechas algo complicadas y no he tenido tiempo de escribir mucho. Vamos a cerrar el año completando las lecciones de ingeniería inversa para Newbies que nos quedan para dar por terminado este modulo. El ejercicio de hoy consiste en solventar un crackme usando OllyDbg con la misma técnica que empleamos en la anterior práctica con el W32Dasm.



Herramientas

• Crackme 2.0
• OllyDbg
• Editor hexadecimal



El que lo desee puede usar el crackme del ejercicio anterior ya que las instrucciones son las mismas, con la practica de hoy vamos a tomar contacto por primera vez con OllyDbg, nos familiarizaremos con su menú contextual y las funciones principales.

Antes de comenzar, os aconsejo que tengáis una carpeta con todos los crackmes que vayáis recolectando de vuestras practicas y cada vez que uséis uno para vuestros ejercicios le hagáis una copia, así siempre los tendréis disponibles en un mismo sitio para cuando los vayáis a usar. Dicho esto comenzamos:


Podéis usar el crackme del ejercicio anterior o este otro que es el que voy a usar yo, abrimos OllyDbg y localizamos la ruta del crackme en file, seleccionamos el directorio del crackme y hacemos click en open y ya lo tenemos abierto en OllyDbg, esta es la pantalla que deberemos tener delante:


OLLYBDG

Como podéis observar hay tres ventanas de diferentes tamaños, en cada una de ellas se llevan a cabo unas determinadas funciones, aunque hoy sólo nos centraremos en la primera. Si ejecutamos el crackme e introducimos un serial cualquiera nos tira el error No luck there mate! ,este paso es igual que en el ejercicio anterior por tanto no me detendré en explicarlo ,pasaremos directamente a realizar las correspondientes modificaciones en OllyDbg para saltar el chico malo y lograr redireccionarnos al chico bueno para conseguir validar el crackme con cualquier serial. De manera que vamos a ello, nos situaremos en la primera ventana que nos muestra OllyDbg y hacemos click en el botón derecho para después seleccionar la opción Search for y dentro de esta opción escogeremos All referente text strings , os pongo una muestra.

Search for

























En la ventana que se nos abrirá a continuación debemos localizar al incordioso amigo No luck there mate! Que es el mensaje que nos indica que no estamos registrados.

No luck there mate!

Una vez localizado, hacemos doble clic sobre el mensaje y nos lleva a la instrucción 00401357, veámoslo:

instrucción 00401357,


Vamos a centrarnos en el bloque de la instrucción 00401357, concretamente nos situaremos en la primera instrucción que esta delimitada por el corchete ,la instrucción 0401349,una vez localizada ,pulsamos el botón derecho del Mouse y escogemos las opciones Find referentes to y después selected command :

Find referentes to

Y se nos abrira el siguiente cuadro donde hallaremos la instrucción 00401243 que es la zona del chico malo.

chico malo.

Hacemos doble clic en dicha instrucción para que nos derive a la zona del chico bueno y establecer el salto condicional que necesitamos para resolver el crackme. La pantalla que visualizaremos a continuación será esta:


salto condicional


La instrucción 00401243 (marcada en gris) nos ha llevado hasta 00401241 (marcada en rojo) sobre la que estableceremos el salto ,para ello nos situamos sobre la instrucción marcada en rojo 00401241 y con el botón derecho del Mouse seleccionamos la opción assembler y se nos abrirá este cuadro.

assembler

Aquí sustitiremos JE SHORT por JMP (que significa salto)

salto

Quedaría así, ahora pulsamos Assemble y después cancel, los dígitos que hemos modificados aparecerán en color rojo :

Assemble







Si lo comparamos con el primer ejercicio, observaremos que los datos que hemos cambiado son exactamente los mismos, el numero 74 ha sido sustituido por las letras EB. A continuación para comprobar que lo hemos realizado correctamente debemos ejecutar el crackme y registrarnos con cualquier serial ,si el mensaje que obtuviste fue:
Solucion



Enhorabuena!!!!!! Has superado con éxito tu segundo crackme

Importante Los cambios que acabamos de efectuar en el crackme son temporales y desaparecerán en cuanto cerremos OllyDbg, para hacerlos definitivos deberemos modificar los caracteres de la secuencia correspondiente con el editor hexadecimal, eso ya lo explique en la lección primera, el procedimiento es exactamente igual el que no se acuerde que repase el primer tutorial.


Articulo escrito por S3l3n1ty para Hacker’s Land

No hay comentarios :