Jumanji 98




Programa : AxMan 2.21
Sistema Operativo : Windows 95
Tipo : Shareware
Descripción : Programa que permite dividir ficheros en partes.

Autor : Jumanji



1) Herramientas utilizadas :

2) Descripción de la Protección :

30 dias de evaluacion.
Nag-screen que nos permite registrar el programa o seguir evaluandolo.

3) Objetivos :

Encontrar el numero de registro real.

4) Descripcion :

Para registrar el programa, nada mas arrancarlo, se pulsara el boton de Agree and Register donde se pedira:

Name: Jumanji
Company: Jumanji
Registration Key: 30071996

El valor introducido, puede ser cualquiera. Pulsar Ctrl+D para entrar en el SoftIce y poner un BreakPoint:

BPX MessageBoxA

Pulsar F5 para volver al programa y el boton OK.

Saltaremos al SoftIce y pulsaremos F11.

Volveremos al programa automaticamente y nos saldra una ventana de error con el mensage "Invalid registration information!" indicandonos que la informacion de registro introducida es erronea. Pulsaremos el boton Aceptar y volveremos a aparecer en el SoftIce en la linea :004026D7.

Subreimos unas lineas en la pantalla de codigo, hasta la linea :004026A9 donde veremos el siguiente codigo:

.....
:004026A9 8D45E8 LEA EAX, [EBP-18] <-- Nuestro numero
:004026AC 50 PUSH EAX <-- Lo sube al stack
:004026AD 8D4580 LEA EAX, [EBP-80] <-- Nuestra compañia
:004026B0 50 PUSH EAX <-- Lo sube al stack
:004026B1 8D8518FFFFFF LEA EAX, [EBP-00E8] <-- Nuestro nombre
004026B7 50 PUSH EAX <-- Lo sube al stack
004026B8 E886000000 CALL 00402743 <-- Calculo numero real
004026BD 83C40C ADD ESP, 0C
004026C0 85C0 TEST EAX, EAX
004026C2 7D15 JGE 004026D9 <-- Salta si es correcto
004026C4 6A30 PUSH 30
004026C6 68048C4100 PUSH 00418C04
004026CB 68E08B4100 PUSH 00418BE0
004026D0 53 PUSH EBX
004026D1 FF1580244200 CALL [USER32!MessageBoxA] <-- Mensaje de error
004026D7 EB60 JMP 00402739
.....

Quitaremos el BreakPoint que teniamos puesto con BD 00 y situaremos un nuevo BreakPoint en :004026A9.

Pulsar F5 para volver al programa y volver a pedir la opcion de registrarlo. Cuando pulsemos el boton OK, saltaremos al SoftIce en la linea :004026A9 que es el BreakPoint que pusimos.

A partir de aqui, iremos pulsando F10 hasta llegar a la linea :004026C0.
Por si a alguien le puede interesar, en la linea :004026B8, se calcula el numero real y se devuelve en EAX=-- 1 si el numero introducido es erroneo.

En este punto (:004026C0), miramos el contenido del registro EDX y podremos ver el numero de registro real:

D EDX <-- Numero de registro real=241-012-244

Ahora ya podemos desactivar el BreakPoint que teniamos, escribiendo:

BD 00

y pulsar F5 para volver al programa. Una vez en el programa, escribir el codigo real y ya esta registrado.