Crackme #1 Gizmo by neguxAquí traigo la realización de otro crackme que encontré en algún mirror de crackmes; así que empecemos.
Veamos que nos dice el RDG.
Abrámoslo con el Olly
Caemos en esa zona y vemos que tiene un PUSHAD, así que lo pasamos con F8, y hacemos follow in dump del registro ESP.
Marcamos los primeros cuatro bytes y marcamos el breakpoint.
Damos run y llegamos aquí, vemos el POPAD, y abajo el salto que nos llevara al OEP, le damos F8 hasta que nos lleve ala dirección del salto. Y hacemos dump del proceso, yo lo hice con el plugin OllyDump
Una vez que hicimos ese proceso, lo guardamos con otro nombre y ahora si, podemos empezar a trabajar con el crackme, je.
Buscamos por text strings y nos aparece esto:
Vemos una cadena sospechosa, bueno dos, pero no les hagamos caso por el momento, le doy doble clic donde terminaría la primera parte “Part1 finished”, para ver qué pasa en esa zona.
Caigo aquí, pero subo para buscar el inicio del código o alguna comparación o salto que me lleve a esta zona
Llego a esta parte, vemos arriba como está la cadena sospechosa, decido ponerle breakpoint ahí, y aunque arriba hay una comparación y luego un salto mi intuición me dice que ponga el breakpoint aquí, seguramente esa comparación a de ser para que metamos algo en el serial.
Damos run:
Vemos como aquí va a meter nuestro serial, seguimos traceando hasta llegar a esta función que compara
Vemos en el stack los argumentos a comparar.
Vayamos a esa direcciones haber que guarda.
Vemos que en esa zona esta nuestro serial y la otra cadena sospechosa, así que probemos:
Lo hicimos, llegando a este punto pensé que ya había terminado je, pero bueno ahí me dice que hay una segunda parte, veamos de que trata.
Nombre y serial y en este caso.
Bueno hagamos lo mismo que el primero, buscar por text strings, “try again”, y subo en la búsqueda del inicio, llego a esta parte:
Vemos otra vez arriba una cadena sospechosa, pero no, en este caso no es el serial, pongo un breakpoint en el inicio.
Doy Run (F9), para y empezamos a tracear, y vemos que mete a EAX la cadena “t@b@c”
Seguimos traceando y llegamos a esta zona:
Vemos que ahí ya metió en EAX, el valor de 74, que es el hexadecimal de “t”, de la cadena “t@b@c”, sigamos:
Vemos que ahora mete 6E, a EAX, que es el valor de “n”, de mi serial, “negux”.
Seguimos traceando y llegamos a esta función, que hace un Xor, entre el valor en hexadecimal de cada letra de “t@b@c” y cada letra de mi serial “negux”:
Aquí vemos cómo se va generando nuestro serial, quedando al final de esta forma.
negux -> 6E 65 67 75 78 t@b@c -> 74 40 62 40 63
6E xor 74 = 1A
65 xor 40 = 25
67 xor 62 = 5
75 xor 40 = 35
78 xor 63 = 1B
Name: negux
Serial: 1A255351B
Eso lo metemos y llegamos a la última parte
Un NAG. Para esto hacemos, search for -> constant y buscamos: 2B0:
Presionamos Ok y nos aparecen varias instrucciones, una de ellas debería de ser la que buscamos eliminar, llegamos aquí:
Este es el call de nuestra NAG, así que lo que hice fue nopearla
, quedando así:
Y listo, guarde los cambios en el ejecutable y no mas NAG, y así terminamos este crackme que no pensé que fueran tres en uno je.
Gracias
No se por que no me puso las imagenes asi
PD. Aqui dejo el link si gustan descargar el tuto, viene con el crackme y un pequeño keygen de la segunda parte, solo que el serial lo da en minusculas, y tendria que cambiarse a mayusculas je
http://www.mediafire.com/?zf1f4n8emacq6cv*Modificado