--

ESTUDIO COLECTIVO DE DESPROTECCIONES
WKT Tutorialz Site
WKT
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.
Del registro nada, pero de los ficheros habφa uno que intentaba abrir y no encontraba, y con nombre sospechoso (Scripta.Reg).

Asφ que de vuelta al SoftIce, previa consulta de cual es la llamada de la interrupci≤n 21 a Abrir Fichero.
Para interceptarla : BPINT 21 IF AH==3D

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.
El que interesa es el fichero Scripta.Reg, al cual se accede despuΘs de 4 veces F5, con el breakpoint activado.

Ok, ahora con 3 veces F12 nos situamos en la posici≤n CS:02DB or al,al
La lφnea siguiente (CS:02DD) es un salto condicional (JZ 0330)
Si lo capamos (Nop,Nop), el Sempoint se pensarß que estamos registrados, activarß el men· de TearLine, desactivarß el men· de Registro, y empezarß el programa inmediatamente sin mostrar ninguna pantallita de shareware. ;-)

╔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 :
Ejecutar el Sempoint, y despuΘs de abierto, poner (o reactivar) el breakpoint para la apertura de fichero (BPINT 21 IF AH==3D), e ir al men· de About.

Otra vez hace efecto el breakpoint. Con D DS:DX ,comprobamos que efectivamente se intenta abrir el fichero Scripta.Reg
Ok, ahora con 3 veces F12 nos situamos en la posici≤n CS:007E or al,al
La lφnea siguiente (CS:0080) es un salto condicional (JZ 00F6)
Si tambiΘn lo capamos (Nop,Nop), ya no nos saldrß lo de unregistered user. ;-)


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 :
08 C0 74 51 (or al,al ; jz 0330 ; para el primer parche)
08 C0 74 74 (or al,al ; jz 00f6 ; para el segundo parche)
Como s≤lo habφa una ocurrencia para cada uno, no habφa duda... ;-)

Para aplicar el parche en el fichero exe definitivamente, con un editor hexadecimal cambiar :
en el offset 42DD ,en lugar de 74 51 poner 90 90
en el offset E280 ,en lugar de 74 74 poner 90 90



[ 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 ]