Ejecutamos el programa, y luego ponemos 989898, le damos a "Amos a ver" y no ocurre nada de nada… Bueno, en realidad si que pasa, si hacemos caso de las instrucciones del crackme y lo colocamos en el raiz C:/ el ejecutable se borra al cerrarlo sin haber hallado el serial. Como no es objeto de esta solución no vamos a explicar como se “salta” la bromita del archivo que crea cls.bat, que es el encargado de borrar el ejecutable principal. Lo siguiente que haremos es pasarlo por el RDGPacker Detector, y vemos que esta empacado con UPX. Lo desempacamos con el Guipex y después lo abrimos con Olly, y ponemos un BP en el punto H (con el plugin de los puntos mágicos), lo ejecutamos con F9, y ponemos nuestro clásico 989898 le damos al botón, y aterrizamos en USER32 en el punto H. Una vez aquí traceamos con F7 hasta salir de USER32 y llegar aCrackmeMod en donde después de tracear, poco tiempo, llegamos a esta comprobació.
En 0040147B vemos que nuestro 989898 se ha transformado en 2D5055, que al compararlo con 334B nos hecha fuera. (Si cambiamos el jnz de 00401481, por un je, el crackme se validaría para cualquier serial, pero se pedía el serial válido sin parchear). Como siempre cuando nuestro serial se compara con un número fijo hacemos dos o tres pruebas a ver si lo podemos sacar pensando un poco, asi que he calculado los numeros siguientes…
989898 2D5055h 2969685d
XXXX 334Bh 13131d
Bueno, yo lo veo clarísimo, un serial de 3 digitos se transforma en tres, uno de 5 en este caso en 4 digitos hexa y 5 en decimal, y un serial de 6 (989898), se transforma en un hexa de 6. Está bastante claro que la transformación que hace es directa, y por tanto si se representase como una función sería una recta (en realidad es una curva concava, pero con muy poca excentricidad…). Así que siendo X nuestro serial válido, desempolvando viejos recuerdos de matemáticas elementales y utilizando los equivalentes decimales de las transformaciones halladas, la solución a la siguiente ecuación ha de darnos el siguiente número: 4380. Probamos para comprobar que estamos en lo cierto, y …Premio!!!
Saludos.