Aprovechando que pase por la página de Joe mire algún crackme más y este me
resulto interesante para incluirlo en el curso.
Me gustan los crackmes de Joe.
Lo analizamos con Peid y nos dice que no esta protegido y que esta escrito en
Delphi
Ejecutamos el crackme y nos sale esta ventana

Parece el principio de una película de Bond
Para resolver este reto me meteré en la piel del doblecero más famoso del
mundo mundial.

Oigo una voz que me dice: el tiempo empieza a contar en tu contra James,
tienes que detenerlo!!!
Aun no se como hacerlo, pero el malo de la película siempre tiene un punto
débil en su plan, en este caso me deja cerrar el programa antes de que la
cuenta del reloj llegue al final

Antes de cerrarlo me da tiempo a echar un vistazo para tener una idea de cual
será el siguiente reto después de inutilizar el reloj
Pulso ayuda – desactivar y aparece esta ventana de la imagen inferior
Para hallar la forma de desactivar la bomba necesitare un código y además
colocar 4 interruptores (Trackbar) en una cierta posición, una vez este
seguro de esto deberé pulsar el botón Desactivar y se acabo la amenaza.

Cierro el crackme y voy a ver la forma de detener el contador de tiempo para
así desactivar la bomba
Utilizo uno de los inventos que Q me proporciono para esta aventura: DeDe
En el TPrincipal busco el contador que hará explotar la bomba y como los
inventos de Q son la #sti@ lo veo a la primera de cambio: ahí esta
Timer1Timer
Sin tiempo que perder apunto la dirección 46AF58

Aprovecho para buscar el botón que desactivara la bomba
Lo veo en el TDesactivador y me aseguro mirando el Caption. La dirección es 46A714, lo
apunto

Cierro DeDe y abro Olly que lo llevo en mi reloj de pulsera (este Q esta en
todo)
Voy a concederme tiempo estropeando el cronometro
Busco la dirección donde estaba el cronometro 46AF58

Para el público:
En otro capitulo observasteis que el timer estaba en un Call que nopeabamos y
arreglado, pero ahora esta en un push, esta vez lo haremos de otra forma.
El tiempo apremia, pues una vez desactivada esta bomba me espera la maciza de
turno
Pruebo a colocar un RETN


Se que cuento con unos segundos para hacer la prueba y ver si este apaño
funciona o no, así que ejecuto el crackme y…

Reloj detenido, se acabo el capitulo, mundo salvado.
Me dispongo a irme para retozar con la maciza pero M me avisa por el
zapatofono que Cho-Chin la maciza de esta película es asiática y acaba de
pillar la gripe del pollo, se jodio el rollito.
Para entretenerme mientras me encomiendan otra misión examino el crackme más
detenidamente y pruebo a hacer otro cambio
Me pregunto que pasaría si en lugar de cambiar la primera instrucción
directamente por un RETN lo cambiara por un JMP al RETN siguiente en el
código que esta en al dirección 46B003

Activo la bomba y parece que también funciona, también con este cambio
detengo el reloj
Mi libido se altera en exceso y tiro de agenda para buscar chavalitas pero se
me acaba la batería del zapatofono antes de concertar una cita.
Bueno seguiré estudiando el mecanismo de la bomba mientras espero órdenes de
M
Con Olly miro en la dirección del botón desactivar 46A714
Como podéis observar a partir de este capitulo prescindo de poner los dos
ceros delante pues no afecta al hacer la búsqueda con Control + G (aparte ya
los llevo delante en mi número de serie: 007)
Pongo un BP en 46A714

Activo la bomba e introduzco un código al azar

Pulso desactivar y Olly se detiene

Pero no veo nada cerca que me llame la atención, entro en los Call que me voy
encontrando por el camino mientras traceo y encuentro algunas cadenas en
ASCII que pruebo pero no valen para desactivar el código, también he visto
que el programa de la bomba hace algunas operaciones con mi numero, pero como
soy un agente secreto y no un matemático paso de liarme y continuo analizando
Sigo bajando poco a poco con F8 y llego aquí 46A80D
Veo cuatro CMP seguidos de cuatro saltos condicionales
Imagino que cada uno corresponde a una de las barritas (TrackBar) que tengo
que poner en una determinada posición para desactivar la bomba
Cuatro condiciones, si se cumplen pasa algo.

Cambio el valor de los saltos

Sin mover la posición de ninguna de las barras el crackme introduzco 151515

y funciona, pero a t#mar p#r cul# libido y esta vez sin remedio
Deduzco que sin detener el reloj una vez cambiados esos saltos en el ejecutable
si introduzco el código 151515 parare la bomba
Lo pruebo y… si la detengo!!!
Pero que pasa si introduzco otro numero distinto a 151515 o si dejo en blanco
la casilla ¿?
Pues unas veces parare la bomba y otras no, esto se debe a una serie de operaciones
que realiza el crackme con el código introducido.
Como la foto de este respetable señor me ha dejado sin apetito sexual y M no
manda a nadie para recogerme (debe estar entretenida haciendo bolillos o
dándole al bourbon, nunca aprobé una directora en la agencia) pruebo otra
cosa
Y si cambio esos saltos condicionales por NOPs ¿?

Pruebo y ahora me funciona aunque no introduzca ningún código

En vista de que ni siquiera Moneypenny viene en mi auxilio (estará con 0069
casi seguro, no se que tendrá ese, estas mujeres…) decido averiguar la
posición buena en la que tendría que poner las barritas para que actuaran con
mi numero de código 151515
BP en los cuatro CMP que preceden a los 4 saltos y cambio el valor de los
saltos condicionales para que los vaya pasando uno a uno y parándome en los
call

Introduzco 151515 y pulso F9
Parada en el primer CMP compara EBX con algo
Me fijo en que EBX es igual a 5

F9 y segunda parada
Compara ESI con algo
Me fijo en que ESI es igual a 3

F9 y tercera parada
Compara EDI con algo
Me fijo en que EDI es igual a 7

F9 y cuarta parada (esto mas que una peli de Bond parece cine de barrio con
tanto parada, puag!!!)
Compara EAX con algo
Me fijo en que EAX es igual a 6

Tengo cuatro comparaciones y cuatro números : 5 3 7 6
Pruebo en el crackme original escribiendo como código 151515 y probando las
posiciones de las barritas llevándolas
la primera a la 5ª rayita
la segunda a la 3ª rayita
la tercera a la 7ª rayita
la cuarta a la 6ª rayita.
Tuve que probar un par de veces pues me equivoque en el orden, no sabia cual
era la numero 1 ni 2 ni 3 ni 4.
Esto depende del orden de cada TrackBar en el programa, podéis ver si lo
abrís con un editor de recursos cual es el orden que siguen las barras y
darle al track1 su valor, al track2 el suyo, etc.
Esta seria la posición de los 4 TrackBar para el código 151515. 5 3 7 6

Desesperado por la falta de atención de mis jefes y de las titis me pimplo 3
botellas de martíni seco y otras 2 de vodka (mezcladas, no agitadas) vuelvo a
fumar un par de paquetitos de tabaco que ya esta bien de m#ric#n#d#s y espero
la aparición de alguien conocido o en su defecto de una unidad del samur que
me libre de este principio de coma etílico que empieza a nublar mi
entendimiento.

Fin del capitulo/película
El autor de este documento no se hace responsable de las consecuencias a
nivel de salud mental derivadas si llegarais a soñar con el señor de la foto,
el del gorrillo rojo que da las gracias a Dios
si soñáis con el señor Connery pues eso ya
según vuestro gusto y tendencia sexual.
Tampoco de ninguna otra, vamos que no me hago responsable de nada de lo que
sufráis por ver esta imagen, si no os gusta o no la soportáis coged un editor
de recursos y cambiarla por otra mas al gusto de cada cual, o cambiadle al
menos el gorrillo rojo por uno de copa y le ponéis la cara de Luis Sánchez
Pollack (Tip), no se, al menos alegrara un poco la cosa.
James Bond volverá ¿?
El del gorrillo rojo volvera ¿?
Repasad jóvenes padawans.
|