Para registrar el programa, nada mas arrancarlo, pedira
el numero de registro:
Registration Code: 30061996
El valor introducido, puede ser cualquiera. Pulsar Ctrl+D
para entrar en el SoftIce y poner un BreakPoint:
bpx GetWindowTextA
Pulsar F5 para volver al programa y pulsar el boton
Enter Code.
Saltaremos al SoftIce y pulsaremos F12 y F12
otra vez, esto hara que nos situemos en la siguiente linea
en el programa que provoco el BreakPoint.
Ahora deberemos estar situados en la linea :415E53.
Iremos pulsando F10 hasta llegar a la linea :4161A9.
Como son muchas lineas las que hay que pasar, otra forma
de hacerlo mas rapido es modificando el registro EIP,
que es el que contiene la direccion de la siguiente linea
a ejecutar.
Esto se hace mediante el comando R
y sirve para modificar el contenido de cualquier registro
o flag.
Pulsaremos:
r EIP=004161A9
Esto nos situara directamente en esta linea.
Iremos pulsando F10 hasta llegar a la linea :4161CC,
que es una llamada a la direccion :40F8C0, aqui pulsaremos
F8 para entrar en dicha llamada la cual contiene
el codigo siguiente:
:0040F8C0 |
8B442408 |
MOV |
EAX, [ESP+08] |
<-- Nuestro codigo |
:0040F8C4 |
3D9DB50100 |
CMP |
EAX, 0001B59D |
<-- Codigo real |
:0040F8C9 |
740C |
JZ |
0040F8D7 |
<-- Salto si codigo correcto |
:0040F8CB |
3D03E20F00 |
CMP |
EAX, 000FE203 |
<-- Otro codigo real |
:0040F8D0 |
7405 |
JZ |
0040F8D7 |
<-- Salto si codigo correcto |
0040F8D2 |
33C0 |
XOR |
EAX, EAX |
<--Codigo erroneo |
0040F8D4 |
C20800 |
RET |
0008 |
<-- Salida de la llamada |
0040F8D7 |
B801000000 |
MOV |
EAX, 00000001 |
<-- Codigo correcto |
0040F8DC |
C20800 |
RET |
0008 |
<-- Salida de la llamada |
Tanto en la linea :0040F8C4 como en la :0040F8CB,
lo que hace el programa es comparar nuestro Codigo con el
correcto.
En este caso, existen dos codigos correctos y que son fijos
para cualquier instalacion.
Solo queda ver cual es el codigo correcto.
Podemos evaluar el valor de 0001B59D o el de 000FE203,
escribiendo:
? 0001B59D <-- Codigo correcto = 112029
? 000FE203 <-- Codigo correcto = 1040899
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.
|