ESTUDIO COLECTIVO DE DESPROTECCIONES
WKT Tutorialz Site
WKT
Programa Programa Ulead Button.Applet 1.0 W95 / W98 / NT
Descripción El programa te permite crear Applets
Tipo Trial de 15 días
Url http://www.webutilities.com
Protección Nag Screen y Time Limit 15 Días
Dificultad 1) Principiante, 2) Amateur, 3) Aficionado, 4) Profesional, 5) Especialista
Herramientas SoftIce v3.25, ProcDump
Objetivo Que el programa no caduque.
Cracker Mr.Orange [WkT!]
Fecha 31 de Agosto de 1999

Introducci≤n
Este tutorial ense±a como quitar la protecci≤n VBOX que tiene el Ulead Button.Applet 1.0
La protecci≤n VBOX actúa como un compresor y además a±ade un tiempo limite para que el programa funcione. Así pues el programador del programa no tiene que currarse esta parte.

Nota: Si no sabes como descomprimir manualmente un fichero, serß mejor que te leas primero algún tutorial sobre eso.

Al Atake
Empecemos pues...
Carguemos a nuestro amigo en el SoftICE y enseñémosle quien es el que manda!!!
Bien, nos encontramos al principio del programa:

014F:004F1000 PUSH DWORD PTR [ESP+0C]
014F:004F1004 PUSH DWORD PTR [ESP+0C]
014F:004F1008 PUSH DWORD PTR [ESP+0C]
014F:004F100C PUSH FCF52370
014F:004F1011 PUSH FCB06073
014F:004F1016 PUSH FCF520AC
014F:004F101B PUSH FCF52056
014F:004F1020 CALL [00454178] <-- Descomprime parte del programa.
014F:004F1026 PUSH FFFFFFFF
014F:004F102B CALL EAX <-- Continua con lo suyo. :))
014F:004F102D RET 000C

En la línea 014F:004F1020 se ejecuta CALL [00454178], que es una llamada a una funci≤n del compresor VBOX que descomprime parte del programa y devuelve en EAX la direcci≤n de memoria donde el programa debe continuar. Así que inspeccionemos que se hace ahí, pulsemos F8 en el CALL EAX.
Nos encontramos con lo siguiente:

014F:004F1000 PUSH DWORD PTR [ESP+0C]
014F:004F1004 PUSH DWORD PTR [ESP+0C]
014F:004F1008 PUSH DWORD PTR [ESP+0C]
014F:004F100C PUSH 27292979
014F:004F1011 PUSH 510C3BF6
014F:004F1016 PUSH 9655349C
014F:004F101B PUSH E79A2ACE
014F:004F1020 CALL [0045315C] <-- Funci≤n Importante.
014F:004F1026 PUSH FFFFFFFF
014F:004F102B CALL EAX <-- Salta al programa original. :))
014F:004F102D RET 000C

El código es muy parecido. En la línea 014F:004F1020 hace una llamada a la librería VBOX, la cual comprueba si ya han pasado los 15 días y si no han pasado, termina de descomprimir el programa original. Luego muestra una Nag muy fea...
Como antes, tambien se devuelve en EAX donde debe continuar el programa: devolverß la direcci≤n del programa original si no han pasado los 15 dias y una direcci≤n para salir del programa si ya han pasado...

Asi que ejecutemos paso a paso el programa hasta la linea 014F:004F102B, en la cual vamos a cambiar unas lineas, para eso introducimos el comando a, para ensamblar y escribimos jmp eip. Esto provocara que el programa quede en un bucle infinito (Acuerdate antes de apuntarte el valor del registro EAX, puesto que lo necesitaremos mas tarde).
Ahora le toca el turno al ProcDump. Cargamos el ProcDump y elegimos la opci≤n de Dump (FULL). Guardamos el fichero con el nombre que queramos (este fichero contiene el codigo original, ya descomprimido). Por lo que solo nos queda modificar la cabecera para que lo que se ejecute sea el codigo original y no el del descompresor.
Para eso elegimos la opci≤n de PE Editor y cargamos nuestro fichero. Debemos de cambiar el "Entry Point" para que apunte al codigo original, de tal forma que Base Image + Entry Point = El valor del registro EAX (te lo habias apuntado, no?). Sustituyelo y pulsa OK!!
Ahora ejecuta el fichero y ya tienes Ulead Button.Applet 1.0 para rato... :))



[ Entrada | Documentoz GenΘricoz | WKT TEAM Main Site ]
[ Todo el ECD | x Tipo de Protecci≤n | x Fecha de Publicaci≤n | x orden AlfabΘtico ]