--
ESTUDIO COLECTIVO DE DESPROTECCIONES | ||
![]() |
WKT Tutorialz Site | ![]() |
![]() |
![]() |
![]() |
progrAmA | SemPoint 2.25 | W95 |
DEsCripCión | Lector para BBS y FidoNet | |
tipo | Shareware (33 $) | |
protECCión | Nag Screen, y alguna opción desactivada. | |
DiFiCultAD | 1) Principiante, 2) Amateur, 3) Aficionado, 4) Profesional, 5) Especialista | |
hErrAmiEntAs | SoftIce 3.22, Editor Hexadecimal (UltraEdit32) | |
CrACkEr | Mr.Brown | |
FEChA | 13 de Agosto de 1998 | |
ComEntArio |
Crack con dedicatoria especial para @llapi. ;-) EMSDA - El Movimiento Se Demuestra Andando. |
Introducción |
Las limitaciones de la versión no registrada son : Al iniciarse el programa, se muestra la típica (y molesta) ventana de shareware, que no puede cerrarse hasta pasados 5 segundos. Además hay una opción (TearLine) que no aparece si no estas registrado.
Para registrarse, hay que introducir el nombre, un nº de serie, y un código de registro. |
Al Atake |
Las primeras pruebas que hice fueron en torno al BPX GetWindowText para la pantalla de Registro, e intentar seguir qué hacía con los valores introducidos. Como la cosa se liaba demasiado, cambio de táctica...
Con el FileMon y el RegMon activados y filtrando para Sem*, volví a ejecutar el Sempoint, para ver a qué ficheros y valores del registro de windows accedía.
Así que de vuelta al SoftIce, previa consulta de cual es la llamada de la interrupción 21 a Abrir Fichero.
Arranco el Sempoint, y el BreakPoint hace efecto, apareciendo en el SoftIce, en el momento de abrir un fichero.
Con D DS:DX ,se puede ver el nombre del fichero que se va a abrir.
Ok, ahora con 3 veces F12 nos situamos en la posición CS:02DB or al,al
Él programa ya está crackeado, aunque si vamos al menú de About, aún nos dice que unregistered user.
No tiene importancia, pero si se prefiere que no lo ponga, se puede cambiar :
Otra vez hace efecto el breakpoint. Con D DS:DX ,comprobamos que efectivamente se intenta abrir el fichero Scripta.Reg
Como parece que con los 4 Nops ya hay bastante, se trata ahora de localizar esos bytes en el fichero SemPoint.Exe. Hay que ir con cuidado qué bytes se buscan, ya que los que tienen que ver con el segmento son variables, y no se encontraran igual en el exe. Por ejemplo, la llamada anterior a CS:02B en mi caso era call 304f:06ab (9A AB 06 4F 30) Pues bién, si se buscan esos bytes en el exe no se encontrarán. Habría que buscar (9A AB 06), o sea sin tener en cuenta la parte del segmento.
De todas maneras, en este programa ha sido fácil localizar los bytes, simplemente haciendo una búsqueda de :
Para aplicar el parche en el fichero exe definitivamente, con un editor hexadecimal cambiar :
|