|
|
 |
ESTUDIO COLECTIVO DE DESPROTECCIONES
Última Actualizacion:
25/10/2001
|
 |
|
Programa |
Talisman v1.1 |
W95 / W98 / NT |
Descripción |
Programa para crear tu propio escritorio de Windows. |
Tipo |
Shareware |
Tipo de Tutorial |
[X]Original, []Adaptación, []Aplicación, []Traducción |
Url |
http://www.lighttek.com |
Protección |
Numero de Serie |
Dificultad |
1) Principiante, 2) Amateur, 3) Aficionado, 4) Profesional, 5) Especialista |
Herramientas |
SoftIce v3.24 |
Objetivo |
Simular estar registrados. |
Cracker |
Mr.WhiTe [WkT!] |
Grupo |
Whiskey Kon Tekila |
Fecha |
11 de Mayo de 1999 |
INTRODUCCION
|
El programa no tiene limitaciones por no estar registrado, pero aparece una nag-screen cada vez que se
arranca el programa. Hay una opción para registrarse, introduciendo el nombre y la clave.
El objetivo será obtener nuestro número de serie correcto y comprender mejor el funcionamiento de la función HMEMCPY.
|
AL ATAQUE
|
Lo primero es ver cómo reacciona el programa al intentar registrarnos.
Ponemos un nombre, y clave cualquiera, y nos aparece un mensaje de clave incorrecta.
"Invalide registration name or code. Try again."
Podriamos utilizar el "death listing" o listado muerto y bucear
en el código una vez desensamblado con el Wdasm 8.9, pero lo mejor
será practicar un poco con el SoftIce. :o)
Así pues, cargamos el Talisman y nos disponemos a introducir nuestro nombre y un numero de serie cualquiera. Vamos al SoftIce(Ctrl+D) ,ponemos el breakpoint(BPX HMEMCPY) y volvemos al programa(Ctrl+D), ahora pulsamos el boton " Register! " y aparecemos en el SoftIce. Como teniamos dos campos a rellenar (nombre y serial) ahora nos encontramos en el primero, pulsamos F11 (o Ctrl+D, es lo mismo) con
lo cual el Softice nos pega otro pantallazo :o)
Ahora si, estamos en el buen camino. ;o)
Desactivamos el breakpoint (BD 00) y pulsamos F12 unas cuantas veces hasta llegar al código del Talisman. Traceamos un rato (F10) hasta
alcanzar el siguiente fragmento de código:
:0047FC88 E8E73FF8FF call 00403C74
:0047FC8D 85C0 test eax, eax
:0047FC8F 7E13 jle 0047FCA4
:0047FC91 BA01000000 mov edx, 00000001 ;Empieza con el primer caracter
:0047FC96 8B4DF8 mov ecx, dword ptr [ebp-08]
:0047FC99 0FB64C11FF movzx ecx, byte ptr [ecx+edx-01] ;Mueve el codigo del caracter a ECX
:0047FC9E 03F1 add esi, ecx ;Va sumando los codigos
:0047FCA0 42 inc edx ;Prepara el siguiente caracter
:0047FCA1 48 dec eax ;Decrementa el numero de caracteres que quedan
:0047FCA2 75F2 jne 0047FC96 ;Ultimo caracter?
Este es el comienzo del código que se utiliza para calcular nuestro número de serie. Se pasan los caracteres ASCII del nombre a su correspondiente valor hexa y se van sumando.
Si seguimos traceando (F10) llegamos al siguiente punto:
* Referenced by a (U)nconditional or (C)onditional Jump at Address:
|:0047FC8F(C)
|
:0047FCA4 8975EC mov dword ptr [ebp-14], esi
:0047FCA7 DB45EC fild dword ptr [ebp-14]
:0047FCAA E8C52CF8FF call 00402974
:0047FCAF 69C009030000 imul eax, 00000309 ;Multiplica la suma por 309
:0047FCB5 8BF0 mov esi, eax
:0047FCB7 3B75FC cmp esi, dword ptr [ebp-04] ;Compara serial real con el nuestro
:0047FCBA 0F85BF000000 jne 0047FD7F ;Salta si "mal cracker"
:0047FCC0 B201 mov dl, 01 ;Activa el Flag de REGISTRADO
:0047FCC2 A1E0D54700 mov eax, dword ptr [0047D5E0]
:0047FCC7 E810DAFFFF call 0047D6DC
:0047FCCC 8BF0 mov esi, eax
:0047FCCE B101 mov cl, 01
* Possible StringData Ref from Code Obj ->"Invalide registration name or "
->"code. Try again."
|
:0047FD7F B830FE4700 mov eax, 0047FE30
:0047FD84 E80B0CFCFF call 00440994
Como puede observarse, en este fragmento de código se multiplica la suma obtenida anteriormente por 309, y el valor se guarda en esi para su posterior comprobacion en :0047FCB7.
Si nos situamos en esta línea " :0047FCB7 3B75FC cmp esi, dword ptr [ebp-04] " y escribimos en el SoftIce " ? esi " obtendremos nuestro ansiado número de serie. Facil ¿verdad? ;o)
Puesto que el algoritmo empleado es sumamente sencillo, se deja como ejercicio al lector crear un generador de numeros de serie.
*±±========-*-*-*-* 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)
|
[ 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 |
|
|
|
|
|