ESTUDIO COLECTIVO DE DESPROTECCIONES
Última Actualizacion: 25/10/2001

Programa Teleport Pro v1.29 (build 976) W95 / W98 / NT
Descripción Guarda tus webs en el disco duro
Tipo Shareware
Tipo de Tutorial [X]Original, []Adaptación, []Aplicación, []Traducción
Url http://www.tenmax.com
Protección Nag Screen. 40 usos límite
Dificultad 1) Principiante, 2) Amateur, 3) Aficionado, 4) Profesional, 5) Especialista
Herramientas W32dasm v8.9, Workshop 2.01
Objetivo Simular estar registrados.
Cracker Capicua
Fecha 19 de Abril de 2000

INTRODUCCION

Imagínate que te compras una casa de 100 millones, qué medidas de seguridad pondrías?? Un candado???
En cambio imagínate una chabola, seguro que no vas a encontrar una alarma con rayos ultravioletas y 20 guardias salvaguardando que no se meta ningún ladrón.

Esta metáfora explica que si los programadores no se detienen en crear una buena seguridad anti-cracks es porque tal vez el programa no merezca la pena comprarlo de lo malo que sea. Hoy en día no hay ningún programa que no se puede crackear, paso a paso vamos a ir aprendiendo cómo hacerlo empezando de cero.

Para el capítulo primero voy a explicar lo más claramente cómo se van a poder crackear la mayoría de los programas shareware de Internet.

Nuestra primera víctima va a ser Teleport Pro 1.29 , un programa muy útil para descargarte al disco duro las webs que más te gusten, la seguridad de este programa va hacer que aprendamos bastante sobre lo más básico del crackeo.

AL ATAQUE

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
[ Entrada | Documentos Genéricos | WkT! Web Site ]
[ Todo el ECD | x Tipo de Protección | x Fecha de Publicación | x Orden Alfabético ]
(c) Whiskey Kon Tekila [WkT!] - The Original Spanish Reversers.
Si necesitas contactar con
nosotros , lee esto antes e infórmate de cómo puedes ayudarnos