Cómo en la mayoría de
crackeos, vamos a utilizar los el desamblador W32dasm y el editor hexagesimal
HexWorkShop.
Una vez que tenemos el ejecutable Teleport
Pro en nuestras manos, observamos algo que nos extraña. Teleport
Pro tienen siempre el ejecutable de nombre Pro.exe, si le cambiamos el nombre
por ejemplo por Tele.exe , fijaos que nos dice :
This program's name has been changed.....
es decir, que o lo dejas como estaba o no te deja entrar... la verdad es
que tienen mala leche, que desconfiados son...aunque hacen bien porque hay
cada cual por el mundo que no hay que fiarse... (:=)))
Bueno pues a la mierda con el cartelito
y de paso aprendemos, ejecutamos el W32dasm y abrimos tele.exe (haz una
copia para después modificarlo con el Workshop). Una vez ya nos sale
todo el código ASM le damos al botón String References y buscamos
el famoso cartelito y hacemos doble click en él. Siempre hay que
asegurarse que el cartel no nos lleve a más de un lugar, para ello
haz varias veces en el mensaje y asegurate de que así sea.
Bueno, aparecemos en :
:0040B92D 59 pop ecx
:0040B92E 50 push eax
:0040B92F E80C990200 call 00435240
:0040B934 59 pop ecx
:0040B935 85C0 test eax, eax
:0040B937 59 pop ecx
:0040B938 7414 je 0040B94E ----->interesante
:0040B93A 53 push ebx
:0040B93B 53 push ebx
* Possible StringData Ref from
Data Obj ->"This program's name has been changed; "
->"please rename the program to its "
->"original name."
|
:0040B93C 684CD74700 push 0047D74C
:0040B941 E828070400 call 0044C06E
:0040B946 6A02 push 00000002
:0040B948 E8431E0200 call 0042D790
:0040B94D 59 pop ecx
Miramos por encima del mensaje y vemos
que en 0040B92F hace una llamada para darle a eax el valor de 0 si el nombre
del programa es pro.exe y uno diferente de 0 si no es pro.exe. Cómo
nosotros entramos por tele.exe entonces eax no es 0 y en la línea
0040B938 vemos un salto condicional ( je ) que dice que si eax es 0 saltemos,
es decir, si el nombre del programa es pro.exe, que no nos muestre el mensajito,
entendéis?
Bueno, pues estaréis diciendo,
claro, lo único que he de hacer es que se produzca ese salto siempre.
Muy bien, lo único que tenemos que hacer es cambiar el salto condicional
por uno incondicional ( jmp) para que el programa siempre se salta el cartelito
y nos deje pasar. Otra forma sería cambiar el salto condicional JN
por uno JNE, eso haría el proceso contrario, es decir, que cuando
el nombre sea pro.exe, te saldrá el cartelito y no te dejará
pasar, y cuando no lo sea, te dará puerta abierta.
Yo os invito que hagáis 2 copias del programa y probéis la
dos posibilades para comprobar que funciona.
Ahora tal vez si acabáis de empezar
con el crackeo os estaréis preguntado, bueno, ya sé qué
hacer, pero cómo lo hago??
Pues para eso se inventaron los editores hexagesimales. Primero selecciona
en el W32dasm la línea donde da el salto, verás que se pone
de color verde. Mira a la barra de estado, en la parte inferior de la pantalla,
y verás que pone :
Offset 0000AD38h , pues tenéis que apuntaros lo que hay entre los
ceros y la h.
Ahora ejecutad el Workshop y abrid una
copia del programa para modificarlo y a través del menú Goto
poniendo que se trata de caracteres Hex debési de poner lo que os
apuntasteis, AD38.
Ahora aparecéis en 7414 que son los 2 bytes del salto, lo siguiente
es fácil:
74.. indica que
es un salto JE
75.. para los saltos JNE
EB.. para los saltos incondicionales JMP
90.. para eliminar el byte y que no se produzca ningún salto.
Bueno, pues como explicabamos antes,
puedes cambiar el 74 por 75 o por EB, prúeba los dos para aprender
más.
Guardamos los cambios ,esto sin duda
debería dejarnos entrar con Tele.exe, entramos y SORPRESA, otro mensajito!!!!
La verdad es que ya empezamos a cabrearnos
un poco, pero a la vez con más ganas de acabar el trabajo bien hecho.
El mensaje es el siguiente:
This program has been altered--->
así que se ha dado cuenta de que le estamos operando vivo y se resiste
un poco, pero ningún problema, ahora ya sabemos cargarnos el mensajito,
no??, vamos allá.
Buscamos en el W32dasm el texto y aparecemos
en :
:0040B98B A1E4D64700 mov eax,
dword ptr [0047D6E4]
:0040B990 3B30 cmp esi, dword ptr [eax]
:0040B992 7414 je 0040B9A8 ----->interesante
:0040B994 53 push ebx
:0040B995 53 push ebx
* Possible StringData Ref from
Data Obj ->"This program has been altered, "
->"possibly by a virus; program execution "
->"will stop now."
|
:0040B996 68F4D64700 push 0047D6F4
:0040B99B E8CE060400 call 0044C06E
Ningún problema hacemos lo mismo
que antes(espero que no tengáis problemas). Guardamos los cambios
en el editor hex y vamos a ver si a valido la pena...
Funciona!!!! Ahora ya sabemos una manera
de cargarnos los mensajitos de los programas con seguridad cutre.
Pero no creo que hayamos llegado para aquíi sólo para querer
cambiarle el nombre de pro.exe a tele.exe, no, hemos venido a pasar el programa
de Shareware a Freeware que es la principal finalidad de los crackers.
Entramos al programa y vemos que se
trata de un programa que sólo te deja usarlo 40 veces y con limitaciones,
si te registras puedes utilizarlo en su totalidad, pues vamos a registrarnos
pero con dinero del Monopoly P:)))
Nos vamos al apartado Registrar y ponemos el nombre de tu abuela(con el
de tu perro también funciona), la compañía Cutre, y
como Code pones tu DNI a ver si hay suerte y cuela.......
¡¡¡¡Qué pena!!!!!
Nos aparece otro mensajito de los chulos:
We're sorry, the registration number
you have entered appears to be invalid----> Que no, que no funciona,
bueno, pues nos cargamos el mensajito como ya sabemos.
Lo buscamos en el W32dasm y intentamos
buscar algún mensaje que diga lo contrario, es decir, que gracias
por registranos.
Buscamos un poco y encima del anterior encontramos :
:0042574B BEC0E84700 mov esi,
0047E8C0
:00425750 0F840B010000 je 00425861
:00425756 FFB7D5000000 push dword ptr [edi+000000D5]
:0042575C E894090000 call 004260F5
:00425761 3945EC cmp dword ptr [ebp-14], eax
:00425764 59 pop ecx
:00425765 753A jne 004257A1 ----->
interesante
:00425767 8D4DF0 lea ecx, dword ptr [ebp-10]
:0042576A E81FF20100 call 0044498E
* Possible Reference to String
Resource ID=07030: "Thank you! Your copy of Teleport Pro is now registered.
Al"
|
:0042576F 68761B0000 push 00001B76
:00425774 8D4DF0 lea ecx, dword ptr [ebp-10]
:00425777 895DFC mov dword ptr [ebp-04], ebx
:0042577A E8A1F80100 call 00445020
Vemos que por encima del mensaje, en
00425765 realiza un salto condicional que se salta el mensaje y por tanto
no estaremos registrado, pues hay que conseguir que no salte, como..
74.. indica que es un salto JE
75.. para los saltos JNE
EB.. para los saltos incondicionales JMP
90.. para eliminar el byte y que no se produzca ningún salto.
sólo tenemos que cambiar el 753A
por 743A o por 9090 para eliminar los dos bytes que forma el salto y hacer
que no se produzca.
Optaremos por la segunda forma, vemos
la dirección en la barra de estado y la encontramos en el editor
hexagesimal donde hacemos los cambios( a estas alturas no creo que os equivoquéis).
Guardamos los datos y probamos.
Ponemos un registro cualquiera y ALELUYA,
nos da las gracias por registrarnos, y se quitan las limitaciones. Ahora
ya podemos utilizar el programa como Freeware, pero hay que ver si el registro
se guarda para la próxima vez que entremos.
Salimos del programa y volvemos a entrar,
sorpresa, nos sale la asquerosa pantalla al principio de que a los 40 usos
a la piuta calle, esto se debe a que al empezar el programa realiza otra
comprobación de nuestro código y ve que es incorrecto y nos
vuelve a adoptar como no registrados. Bueno, pues fácil, como siempre,
fijémonos en los mensajes del cartelito.
"Sorry! The free evaluation period
for Teleport Pro is limit"
Buscamos en el W32dasm y vemos que este
mensaje aparece en 2 lugares distintos :00412893
y 0041CC6C , vemos que encima de los
dos hay un salto condicional del tipo JE que debes conseguir que se produzca
para saltarnos los mensajes, así que pasamos los 74 por EB. Guardamos..y....ESTUPENDO,
ya estamos registrados para siempre.
Todavía falta una cosa, si nos
damos cuenta, en el Menú ABOUT nos dice que el periodo de prueba
ha caducado ----> The free evaluation period for Teleport Pro has expired.
Bueno, pues aunque ya estemos registrados
merece la pena quitar este mensaje que dice que no lo estamos.
Buscamos el texto y en :00415A7E
7435 je 00415AB5 hemos de cambiar el je por jmp, si nos fijamos un
poco más vemos que este salto nos lleva al mensaje This copy of Teleport
Pro is UNREGISTERED, por tanto hay que pasar
a a jmp el salto de :00415ABB 7435 je 00415AF2
Después de realizar esto, lo
probamos y nos queda perfecto. Se ve que una vez te enseñas lo principal,
lo demás ya te sale solito. Este capítulo no obstante es el
más fácil. Cuando ya tengamos experiencia sabremos como crear
patches y como, mediante el SoftIce, poder extraer los números de
serie sin necesidad de crackear el programa entero. Pero ahora sientete
satisfecho de conocer lo básico.
He de dar las gracias a Karpoff por
su web a partir de la cual he podido aprender esto, la verdad es que yo
no sé mucho más de crackear, con el tiempo aprenderé
poco a poco, porque la verdad es que después de estar 3 horas para
hacer este capítulo, uno está un poco cansado, tú no???
Comentarios y correciones a capicua@teleline.es
|