Bienvenido a Tecnohackers

Tecnohackers » Hacking y Seguridad » Hacking » Ingenieria Inversa
 » 

Minituto Solucion Crackme v0.3 By Str1d3nt3



Autor Tema: Minituto Solucion Crackme v0.3 By Str1d3nt3  (Leído 1494 veces)

Desconectado CronuX

  • Veterano
  • ***
  • Mensajes: 302
  • OllyDBG
Minituto Solucion Crackme v0.3 By Str1d3nt3
« en: Julio 12, 2010, 04:54:05 am »
Bueno primero las reglas y algunas "pistas"

Citar
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 Login
Descarga los archivos modificados:
You are not allowed to view links. Register or Login

CronuX



Tags:
Tags:

 


SMF 2.0.19 | SMF © 2016, Simple Machines
Paginas Afiliadas
Twitter - FaceBook - Daraxblog
Designed by Smf Personal