Programa : AxMan
2.21
Sistema Operativo : Windows 95
Tipo : Shareware
Descripción : Programa que permite dividir ficheros en partes.
30 dias de evaluacion.
Nag-screen que nos permite registrar el programa o seguir evaluandolo.
Encontrar el numero de registro real.
Para registrar el programa, nada mas arrancarlo, se pulsara el boton de Agree and Register donde se pedira:
El valor introducido, puede ser cualquiera. Pulsar Ctrl+D para entrar en el SoftIce y poner un BreakPoint:
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:
y pulsar F5 para volver al programa. Una vez en el programa, escribir el codigo real y ya esta registrado.