--

ESTUDIO COLECTIVO DE DESPROTECCIONES

WKT Tutorialz Site

WKT
Programa Advanced Video Poker v1.1 W95 / W98 / NT
Descripci≤n Juego de Poker al estilo Casino
Tipo Shareware
Url http://www.aha.ru/~aasamson/download/
Protecci≤n N·mero de Serie. Time Limit 30 Dias
Dificultad 1) Principiante, 2) Amateur, 3) Aficionado, 4) Profesional, 5) Especialista
Herramientas Smartcheck v6.01 (Build 952)
Objetivo Buscar el n·mero de serie y crear su Key-Generator
Cracker Mr.GReeN [WkT!]
Fecha 14 de Agosto de 1999

Introducci≤n

El programa es un clßsico juego de Poker al estilo de los casinos norteamericanos, ameno y bonito. Su protecci≤n es de 30 dias, libre de nags o recordatorios que nos induzcan a registrar el programa. Pasados los 30 dias se acab≤, no juegas mßs. Programa elaborado en Visual Basic e interesante para comenzar a usar Smartcheck para estudiar el comportamiento de la rutina generadora del n·mero de serie

Manos a la obra!

Cargamos Smartcheck y desde ahφ lanzamos el programa que vamos a estudiar. Bien , vamos a incorporar grßficos para ilustrar mejor el comportamiento de Smrtck, de acuerdo? Asφ nos resultarß mßs fßcil de comprenderlo (y menos teclas a tocar pa mi xDDDD). Lanzamos el programa desde la opci≤n Program/Start y una vez dentro de Θl nos vamos a la opci≤n Register. Entramos como nombre: Usuario Registrado[WkT!] y como n·mero de serie, mi n·mero mßgico: 9900990099, ívale, vamos allß!

.

Mirad bien el comportamiento de la rutina. Toma el primer caracter del nombre y su c≤digo ASCII y se suma consigo mismo, al resultado le llamaremos SUMA (170=85+85), luego toma el segundo caracter (s) cuyo valor ASCII es 115, ok?, Vemos un resultado "370" ┐┐┐comor??????. Bueno, tenemos SUMA,115 y otra vez 85 (c≤d ASCII de "U"), sume- mos otra vez: 170+85+115= 370, ahora SUMA=370. Ya tenemos la f≤rmula, SUMA + C≤d.ASCII del primer carßcter del nombre + c≤d. ASCII de cada uno de los caracteres del nombre, al final, esto dß un resultado, en este caso: 4355, Bien quΘ hace, ademßs, la ru- tina de cßlculo del n·mero de serie???, veamos:

Bueno, parece fßcil, no?. 4355 * 2 = 8710; 8710 * 2 = 17420; etc. etc. etc...., pero cuan- tas veces realiza esta operaci≤n?, 36 veces, al final dß un n·mero LONG que parece ser el n·mero de serie deseado, veamos, despues de la larga cuenta, nos arroja: 748183302963- 20, parece un numero de serie en toda regla, pero a·n no acaba la cosa aquφ, porque si en- tramos este LONG, nos lo escupe con los siento Burt Lancaster, la cagaste. :) Asφ pues, con tinuamos.

Aqui, subrayadito esta: 149637e+014, o sea: 149636660592640, Uallllaaaaaaaaaa!!!!. Exito total, lo entramos y.... Thanks!!! el mensaje feliz! Yatß, I got it!!! That's all folk!!!.

Pero que ha hecho?. Lo ha reducido. Mientras la cifra final sea mayor que 200000000000000#, cifra = cifra /2, esto os lo digo yo que me lo he curra o:)

Bien ya tenemos todos los ingredientes para confeccionar el KeyGen. Amos allß!

Suma=Asc(1er. caracter nombre) + asc(cadauno de los caracteres del nombre), tantas veces como letras tenga el nombre. En Basic seria algo asφ:

L=Len (nombre$) .......... Longitud del nombre.

(cod.asc.primer.caracter) b# = Asc(left$(nombre$,1)) ... en nuestro caso: 85

Ahora vamos a buscar el n·mero sagrado que se vß multiplicar 36 veces. Serφa algo asi:

For x = 1 To L

e# = Asc(Mid$(nombre$, x, 1)):....en e se lamacena el ASCII de cada caracter del nombre

suma# = suma# + e# + b#

Next

Ok!, en suma tenemos yß almacenado el numero dorado, 4355

La segunda parte es:

For x = 1 To 36
suma# = suma# + suma#
Next

suma# = 74818330296320, pero no nos vale.

la tercera parte del keygen es:

While suma# >= 200000000000000#
suma# = suma# / 2
Wend

Ahora suma# contiene el serial correcto para ese nombre: 149636660592640

y ya hemos confeccionado el KeyGen. No es nß, gracias y tß otra!


[ 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 ]