ESTUDIO COLECTIVO DE DESPROTECCIONES
WKT Tutorialz Site
WKT
Programa TogglePing+ v1.1A W95 / W98 / NT
Descripción Utilidad para comprobar la velocidad de tu conexión.
Tipo Trial de 30 dias
Url http://www.toggle.com
Protección Serial Number
Dificultad 1) Principiante, 2) Amateur, 3) Aficionado, 4) Profesional, 5) Especialista
Herramientas W32dasm v8.93, UltraEdit v6.10a
Objetivo Simular estar registrados y obtención de un número de Serie Válido
Cracker Mr.WhiTe
Fecha 7 de Septiembre de 1999

Introducci≤n
El Programa hace ping a la web que le indiques y posteriormente se la baja.
Te presenta el resultado en una bonita gráfica. Al menos eso me pareció ver en la ayuda.
Vale, lo reconozco. Soy un viciosillo!!
Solo me limite a analizar su protección y a desinstalarlo ;o)
Utilidad? A no ser que trabajes en una revista y tengas que hacer la típica comparativa de proveedores..... yo no le veo ninguna.

Que miedo!
Desde luego que si el Genial Estado+Porcino se hubiese topado con este programa estaría muerto de risa una semana. Y desde luego que no es para menos. :o)
¿Tan fácil? SI!, esta es una victima perfecta para los mas newbies en la Ingenieria Inversa.
¿Tu primer crack? bien podría serlo.

Al Atake
Al abrir el programa vemos una bonita nag con 3 botones:
  1. Buy Now
  2. Try It First
  3. Quit
Y le damos al Quit ¿no? venga ya! :o) . Tenemos dos opciones, pulsar try it first, con lo cual se abre el programa en si y despues de ir al tipico help/about vemos ke NO HAY Opcion de registro. Juajua, fale, pues entonces buy now. Oh! una ventana soltandonos el rollo típico:

Asi que te has decidido a comprar el Ping+ ¿ein? blablabla, PREPARA TU VISA o MASTERCARD!!! (ya les gustaria ya.... esta MIERDA yo no la pago. Por principios!), introduce tu CODIGO aqui.

Ummmm, sabroso serial!! :o)

Podriamos cargar el SoftIce (Depurador) y poner alguno de los breakpoints típicos como "BPX HMEMCPY" , "BPX GETDLGITEMTEXTA" , "GETWINDOWTEXTA" .......etc Y esperar a que caiga el Oso en el cepo. Pero como no me apetece nada reiniciar el pc para cargar el SoftIce vamos a tirar de Wdasm 8.93 (Desensamblador)

Abrimos el Wdasm y cargamos el archivo Pingplus.exe. Bien, bien......¿y ahora qué? Pues ahora una opción típica es buscar el mensaje de error que nos aparece al introducir un número de serie incorrecto. Total, que volvemos al Ping+ y metemos un numero a boleo. Paff!! ventanuco que nos dice: "The specified registration number is not valid......etc". Vamos a buscar ese texto con el wdasm. Pulsamos el botón de String References y en esa lista deberia estar. Deberia?? Mierda! no está!!
Abandonas? juajua, que miedica! Pensemos.....ummmm, no esta en Pingplus.exe. Pero en alguna parte tiene que estar!!! es hora de abrir la carpeta donde hemos instalado el Ping+ y echar un vistazo.
Umm, una dll con un nombre muy sugerente: TogReg.dll
Apuesto a que esto nos va a servir para algo. :o)
La abrimos con el Wdasm y buscamos en las String References..... Voilá! Aquí esta la cadena que buscamos. Pulsamos doble click sobre ella y vemos que nos lleva a:

* Possible StringData Ref from Data Obj ->"Registration"
                                  |
:100012D0 68B0610010              push 100061B0

* Possible StringData Ref from Data Obj ->"The specified registration number "
                                        ->"is not valid. Please enter the "
                                        ->"registration information exactly "
                                        ->"as it is shown on your registration "
                                        ->"instructions."
                                  |
:100012D5 681C610010              push 1000611C
:100012DA 53                      push ebx


Estupendo, estamos sobre la pista. Lo que necesitamos es evitar que el programa llegue a este mensaje. Así que subimos un poco y miramos desde donde se llega aquí.
* Reference To: USER32.GetWindowTextA, Ord:013Fh
                                  |
:100012B3 FF1568920010            Call dword ptr [10009268]
:100012B9 8D85FCFEFFFF            lea eax, dword ptr [ebp+FFFFFEFC]
:100012BF 50                      push eax
:100012C0 E87B050000              call 10001840
:100012C5 3B052C8C0010            cmp eax, dword ptr [10008C2C]
:100012CB 59                      pop ecx
:100012CC 7415                    je 100012E3
:100012CE 6A40                    push 00000040



Anda mira!, una llamada a la función GetWindowTextA!! (Si hubiesemos atacado desde el SoftIce esta sería la función a usar). Y mas abajo un salto condicional que evita llegar a la parte de código que no nos interesa. Vaya vaya. Sera este? no se, vamos a cambiarlo para que Salte Siempre. Nos situamos en la linea
:100012CC 7415 je 100012E3

Y apuntamos el OFFSET. Si no sabes lo que es un Offset que haces leyendo esto? Busca un tutorial de ASM. :o) ahhh, que es la primera vez que usas un desensamblador y no sabes donde esta el OFFSET!!! Haberlo dicho antes!!! :o)


Lo tienes ¿no? Ahora abrimos el Ultraedit (Es un Editor Hexadecimal, cualquier otro sirve) y cargamos el archivo TogReg.dll. Pulsamos la tecla GOTO (ir a) y escribimos lo siguiente: "0x6cc" con lo que aterrizamos de lleno en un 7415, que como ya te habras dado cuenta en el Wdasm, es el código de la instrucción je (74) + El desplazamiento (15). Este desplazamiento es el número de bytes que debe saltar el programa para llegar a la siguiente instrucción. Más concretamente los bytes que debe sumar la ALU al registro IP para saber que instrucción debe ejecutarse.

Cambiamos 7415 je por EB15 para forzar a que Salte Siempre.

Si el ultraedit no te dejase escribir ni un solo byte (no es el caso, obviamente, pero lo comento porque ya me lo han preguntado por e-mail dos veces jeje) deberias quitarle la opción de solo lectura al archivo. :o)
Si lo que te pasa es que no te deja grabar el archivo que has modificado....... CIERRA EL WDASM y CIERRA EL PROGRAMA VICTIMA, melón!!! :o)

Hey! que no hemos acabado!! (¿o si?). Vamos a probar el programa, a ver si casca o que pasa. ummmmm, carga...... vamos a meterle un número de serie a boleo...... por ejemplo "65465487" mismamente :o) . Anda!! si esta registrado!!! joer ke facilón ¿no?. No me lo creo. Cerramos y volvemos a cargarlo a ver........ juajua. Funciona. Esta registrado!!
¿Que cachondeo es este? ¿Ya está? pfff. Genial, ahora vamos a ver donde guarda la información de registro. Porque el numero de serie seguramente lo guarde en alguna parte. Con lo breve que fue esto tiene toda la pinta de meterlo en el registro del windows. Efectivamente, Nuestro serial es almacenado en:
[HKEY_CURRENT_USER\Software\Toggle Software\PingPlus\Registration]
"InstallTime"=dword:37d48e24
"RegNumber"=dword:21d24e48


Ummm.....ESE NO ES EL NUMERO QUE NOSOTROS METIMOS!!!!
(Entre Paréntesis tienes el número en formato decimal)
Yo tengo el serial: 567430728
Que raro , que raro..... será el serial correcto? Será tan mala esta protección que hasta te regala el serial correcto??? JO-DER!!
Vamos a probar......Borramos la clave \Registration del registro y volvemos a cargar el programa. Estaba claro, ahora sigue unregistered. Renombramos el TogReg.dll a TogReg.crk y el TogReg.bak que nos creo el Ultraedit a TogReg.dll. Metemos el serial 567430728 y.....Voilá! Es el serial correcto!! :o) (deskojone total)
Una cosa es segura: la InstallTime no tiene nada que ver en la obtencion del Serial, y apostaria a que es un serial único. Esto ya es mera suposicion visto lo visto.... pero nunca se sabe jejeje.

Bien, como has visto esto no es protección ni es nada. Para proteger asi un programa, por muy cutre que sea es mejor hacerlo freeware, nos ahorraria aproximadamente..... ¿cuanto? 10-15 minutos entre que lo bajamos, lo instalamos y cambiamos un byte?

Joer, y despues se quejan de que las perdidas económicas por culpa de la Piratería son Inmensas. Y digo yo: como coño esperan que alguien pague por esta MIERDA de programa? Seamos serios señores, no se puede pretender VENDER un programa cuando no se tiene ni puta idea.

Además, que reto es este para un cracker? Por una parte me da asco hasta sacar el crack. Pero solo por lo MIERDAAAAA de protección que tiene me da un gustin.....Para que espabile el programador y la proxima vez se coma mas el tarro.

Si quieres estudiar la protección de otro programa de www.toggle.com , un pelin más avanzada puedes leer mi Tutorial sobre el TogglePopDesk v1.1A

Creo que no hace falta que te recuerde el propósito de estos tutoriales. ¿no?

NOTA: Estos tutoriales pueden contener errores intencionados (puede ser que el autor se haya saltado la explicación de algún paso, errores en las direcciones de memoria......etc).
El objetivo es que aprendas a crackear y que tengas ideas propias. ;o)
  
*▒▒========-*-*-*-* P E R S O N A L   G R E E T Z *-*-*-*-========▒▒*
    Dasavant, Niabi, r00ster, ZEncrakz, Azrael, Klimpong, Zor       
    Conde-Vampiro, Mac-Crack, Killer_P, ASTAGA, Harvestr, Iczelion    
    JosephCo, Carpathia, Taylor, Tapu, Ivanopulo, EgoistE, Torn@do,     
    JUANDA, Leoworld, ReKiem, Neural_N, Netking, Russ97,
	    Mr.Pink and of course all WKT Members ;o)



*------------------*
|WHISKEY KON TEKILA|
|Mr.WhiTe [WkT!99] |
|http://wkt.tsx.org|
|http://ecd.tsx.org|
*------------------*


[ Entrada | Documentoz GenΘricoz | WKT TEAM Main Site ]
[ Todo el ECD | x Tipo de Protecci≤n | x Fecha de Publicaci≤n | x orden AlfabΘtico ]