--

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!