Bueno primero las reglas y algunas "pistas"
Bueno aqui os dejo otro crackme en este caso el v0.3 jeje. Espero que lo resolvais
Autor: Str1d3nt3
Nombre: Crackme v0.3
Fecha: 10 de julio de 2010
Tamaño: 324 KB
Compilador y/o Packer: Visual Basic 6.0
Dificultad: 3 (1-10)
Objetivos:
1- Encontrar la manera de saltarle la pantalla de bloqueado.
2- Encontrar el numero correcto.
3- Encontrar el usuario con su respectivo contraseña
3.5- Al ser posible hacer keygen de este
4. Sentirte orgulloso si lo completas xD.
Como esta hecho en Visual Basic aprovechamos las herramientas que hay para el, y lo abrimos con un decompilador para visual basic y buscamos hasta encontrarnos con algo interesante y en el formulario "pantallaprincipal" encontramos varios Timer muy interesantes donde se comprueba la existencia de un archivo llamado "comprobararchivo.exe" cada timer tiene la tarea de comprobar en un disco c/d/e/f/j y bueno en fin...
Observamos que lo abre y toma todo su contenido en formato de string con un:
open file for binary as #1
contenido= space(lof(1))
get #1,,contenido
close #1
Y despues de esto calcula su hash md5 y lo compara con "D201DB..." que quien sabre que será
Despues mirando la comparacion de esta rutina en el Timer1 que corresponde al disco C es diferente a la de los otros discos pues entonces cogemos mejor la del disco D pero para hacerlo mas universal modificaremos para que verifique en el disco C
asi que en la direccion del Timer1 en la primera instruccion el push ebp lo cambiamos por un retn para que se lo salte y no haya problema con el...
Bajamos a la direccion del Timer2 y buscamos la string de la direccion del archivo con el disco y vamos al dump y modificamos el d por c
Tambien vemos el hash md5 que no sabemos que es entonces lo que haremos sera modificarlo por uno conocido...
MD5 f2d9906071d9d6f66499f88848520732 = CronuX
Entonces ya con esto creamos el archivo y con un editor hexadecimal colocamos la string del hash "CronuX"
Lo ponemos en el disco C
Y al ejecutarlo hemos pasado la primera parte y nos sale la imagen:
Nos aparece la siguiente parte que es donde hay unos botones con numeros del 0 al 9 y boton de aceptar...
Nos dirijimos en el OllyDBG a la direccion del boton del nuevo formulario "usuario_contraseña" y empezamos a analizar el codigo y primeramente observamos una zona donde comprueba si unos botones estan presionados si alguno esta presionado (1) con la instruccion OR comprueba y nos saca dek codigo.
Y si pasamos esta parte mas abajo comprueba que 4 esten presionados con el comando AND
Despues de unos 5 minutos al ensayo error pues son pocos botones y es "facil" hayarlo dimos con que es "1367"
Ahora pasamos la segunda parte y caemos en la tercera y ultima y es donde pide un nombre y un serial especie de KeyGenMe, bueno el formulario se llama "final" ahi es donde vamos a encontrar 1 commandbutton e ir a esa direccion en el OllyDBG
Empezamos a tracear hasta llegar a una call muy interesante donde se genera el serial valido y compara los dos seriales como una especie de funcion pues para que no quede muy a la vista.
Entramos a la call con F7 y encontramos un codigo muy interesante del cual me dio algo de pereza seguir y al ver la vulnerabilidad aprovechar que se ve en el registro ecx la direccion del serial valido...
En esa parte es donde vamos a hacer un injerto para que el programa sea su propio KeyGeN es decir un Self-KeyGeN... antes de esto debemos cambiar las caracteristicas a la section .text y agregar la API MessageBoxA de la libreria User32 para que nos quede bien el injerto.
Observamos y como esta en formato "UNICODE" el nos toco tomar 2 contadores 1 que vaya aumentando cada 2 y otro cada 1, guardamos y mostramos en un msgbox el serial correcto, devolvemos todos los registros recuperamos las intrucciones modificadas por el salto al injerto y devolvemos el control al programa para que siga satisfactoriamente.
Con ello al ingresar cualquier nombre y dar click en el boton aceptar nos mostrara el mensaje con el Serial Correcto.
Lo cual ingresaremos y al darle otra vez click en el boton aceptar, y aceptar nuevamente el mensaje (ahi se podria hacer otro injerto pero la pereza me mata)...
sigue y nos muestra el tan anhelado mensaje formulario de "EnhoraBuena Lo Has Conseguido"
Bueno espero que sea de utilidad este minitutorial y que sea de su agrado.
PD: Un saludo al amigo Str1d3nt3 por el maravilloso CrackmE y ya me dijo que se venia otro :huh:
vamos a ver si tengo tiempo y puedo dar con el...
Descarga CrackmE Original:
You are not allowed to view links.
Register or
LoginDescarga los archivos modificados:
You are not allowed to view links.
Register or
LoginCronuX