x Informatica
Julio 29, 2010, 09:16:07 *
Bienvenido(a), Visitante. Por favor, ingresa o regístrate.

Ingresar con nombre de usuario, contraseña y duración de la sesión
Noticias: Hacer una donacion:
 
   Inicio   Ayuda Buscar Calendario Ingresar Registrarse  
Páginas: [1]   Ir Abajo
  Imprimir  
Autor Tema: Tute Crackme NaXoS 1.1  (Leído 289 veces)
0 Usuarios y 1 Visitante están viendo este tema.
AmeRiK@nO
Moderador
normal
***

Aportes: 11
Desconectado Desconectado

Mensajes: 77


Reverse Engineering


WWW
« : Diciembre 18, 2009, 11:12:09 »

Aqui el tute que ya habia fabricado antes para el crackme NaXoS 1.1 de nuestro amigo Everth, recomendado para los que recien empiezan en la ingenieria inversa:

::::::::::::: Tute Crackme NaXoS 1.1 - AmeRiK@nO :::::::::::::

Primero lo cargamos en Peid y no dice nada Lengua y en RDG muestra UPX:


No presentará mucho problema, por lo que podemos hacerlo A MANO o usando el mismo UPX con la opcion -d y descomprimirlo.


Una vez descompreso vemos que se trata de un Borland C++, ejecutamos el crackme y miramos a que nos enfrentaremos:


Ahi vemos que pase lo que pase tendremos que activar primero ese boton para poder hacer algo, tambien porque el crackme en si no usa la rutina en los eventos de las 2 cajas de edicion ni usa apis llamativas, por lo que solamente el registro se realizará una vez presionado el boton, y tendremos varias alternativas para activarlo, usando editores, etc, pero para hacerlo mas elegante vamos a hacer uso de la api EnableWindow... cargamos primero el unpacked en olly  :xD y ahora ponemos el BP en dicha api:





Luego de esto ejecutamos el crackme y vemos que no para alguna vez, asi que para no tener que injertar ni nada por el estilo miremos todos los botones que trae el crackme para ver cuando hace uso de la api:




Nos muestra ese segundo Form y aun no ha parado en la api, asi que demos click en el boton Prem!OS y ahi si para el olly:




Ahora nos vamos a ver en la pila los parametros:


Ahi vemos en ESP+4 el handle del control a activar o desactivar segun indique el flag en ESP+8, por lo tanto vayamos a la ventana Windows de Olly y pillemos el handle del boton que necesitamos:




Ahi vemos que se trata del boton en cuestion de la clase TBitBtn de Borland, y alli vemos su handle tambien, copiamos este valor, y vamos a modificar los parametros en la pila antes de la llamada a EnableWindow. Seleccionamos el DWORD de ESP+4, damos click derecho/modificar y ponemos el Handle de nuestro boton, y en ESP+8 ponemos el valor de 1 que indica Enabled:







Una vez hecho todo esto, deberia quedar asi:


Bueno ahora quitemoss el BP en la api y presionamos F9, y cerramos los forms que abrimos y vemos que aunque no lo parezca por su color, el boton ya esta activo:


Ahora si vamos a hacer lo sigueinte, para seguirle el paso a nuestro serial, primero ingresamos los datos y antes de presionar Comprobar usaremos el plugin The Kluger y pondremos un BP en el Punto H.





Entonces ahora presionamos Comprobar y vemos que para allí:






En este instante es donde movera los dos datos a sus respectivos buffers, por lo tanto si apreciamos en ESI apunta al nombre y lo movera a la direccion que apunta EDI, por lo tanto presionemos F9 2 veces y cuando vaya a mover el serial, es decir cuando aparezca justo en ESI, presionamos F8 para que lo mueva y ahora vamos a la direccion de EDI y ponemos un HBP on Acces en ese sitio:




Presionemos F9, y ya estamos justo cuando el crackme va a manipular los datos:


Salimos de esta parte y continuamos el traceo hasta aqui, sin entrar en las calls, ya que hay muchas que son tipicas de Borland (un poco de experiencia ya Lengua) y no son necesarias para la rutina:


Compara que la longitud del nombre sea mayor a 1. Continuemos.... y vemos aqui que compara si es mayor o igual que 6, y como lo és, veamos donde nos manda:




A otra comparacion que indica lo contrario por lo cual no se cumplirá, y si seguimos llegamos a esta otra parte:


Esta rutina es una gran parte de la rutina generadora del serial por no decir toda Lengua y no es muy complicada que digamos, por eso puse los comentarios para mas detalles  ;-).... ahora cuando salgamos vemos esta comparacion:


Ahi compara la longitud de la cadena generada antes 07h, ahi se ve en el Dump con la longitud de nuestro nombre 09h en mi caso, y si es mayor o igual saltará, y como en este caso continuamos por una serie de rutinas que son interesantes si queremos hacer el keygen pero como no vamos a hacer un tute de 3 post  :laugh: vamos directo al serial, solo puse alguna info para animaros a crear el keygen.. pasemos estas rutinas y continuamos hasta llegar finalmente a la comparacion:




Esta esta pequeño bucle que ira comparando caracter por caracter, entonces antes de que salga miremos que hay en [EBP+EDX-E8]:


Ahi vemos nuestro serial correcto, asi que sin alargar mas el tute, quitamos todos los BPs, lo probamos y....:



Ahi ta la mona con su bikini  :rolleyes:!!!

Resumiendo...

Name: AmeRiK@nO
Pass: aj_i]\-A4F-dwssqfw

Salu2 a todos!!!
En línea




Mi blog: http://amerikanocls.blogspot.com
- ClS -
Páginas: [1]   Ir Arriba
  Imprimir  
 
Ir a:  

Impulsado por MySQL Impulsado por PHP xinformatica.net © 2008-2010 :: Informatica ::
Powered by SMF 1.1.11 | SMF © 2006-2008, Simple Machines LLC
XHTML 1.0 válido! CSS válido!
Página creada en 0.341 segundos con 27 consultas. (Pretty URLs adds 0.029s, 2q)