Este es un crackme que descargué de la lista de cls, 12/2011.
Descripción:CitarThis crackme is a simple algorithm.It's written in visual c++ 6.0 with mfc.
Level 1/10
Herramientas:-OllyDBG
Donde lo descargo-Aquí (http://www.mediafire.com/?yklg2gutstvt3gm)
Puesta a punto
Arrancamos con Olly, y buscamos entre las strings:
(http://i-host.oversec.org/?di=1413238141496)
Vamos al salto al chico bueno y vemos lo siguiente:
(http://i-host.oversec.org/?di=713238141496)
Vemos que tenemos 4 strings, una de longitud mínima, serial olvidado, el chico bueno y chico malo.
Nos fijamos que antes pasa por una comparación. Colocamos un BP en dicho CALL, y vemos que se trae entre manos:
(http://i-host.oversec.org/?di=1013238140573)
Vemos que ahí tenemos el serial falso y verdadero comparándose.
Afilando los dientes
Básicamete lo que haremos, es decirle al programa que de no cumplirse, realice un JMP a una zona vacia del ejecutable, con permisos, donde obtendrá el serial verdadero y lo mostrará.
Creamos un salto a una zona vacía
(http://i-host.oversec.org/?di=0132381405710)
En ella cargamos los valores, y posteriormente hacemos un salto al CALL.
(http://i-host.oversec.org/?di=113238140571)
Vemos que funciona.
(http://i-host.oversec.org/?di=113238143320)
Nos vemos!
Guardamos los cambios a otro ejecutable, y probamos. Primero un serial falso y después el verdadero que mostró:
(http://i-host.oversec.org/?di=813238143327)
Saludos
EDITO: Próximamente keygen.
Cita de: .:UND3R:. en 24 Diciembre 2011, 04:29 AM
Excelente tutorial cibergolen, muchísimas gracias por tomarte el tiempo de publicarlo ;-)
Coincido totalmente.
Gracias por compartir tu trabajo.
No es por desmerecer el trabajo pero las soluciones a los concursos se entregan a fin de mes, así no malogras la chamba de otro que está haciendo el mismo crackme que tú.
PD: Este concurso se entrega el 7 de Enero.
Nox.