ESTUDIO COLECTIVO DE DESPROTECCIONES
WKT Tutorialz Site
WKT
Programa Todos los productos RKS Software W95 / W98 / NT
Descripción Como crear un KeyMaker para cada uno de los productos de esta casa de software que no cambia el esquema de protección aunque se vayan al carajo. :-)
Tipo Número de serie y 30 dias de prueba
Url http://www.rkssoftware.com
Protección Serial Number
Dificultad 1) Principiante, 2) Amateur, 3) Aficionado, 4) Profesional, 5) Especialista
Herramientas SoftIce v3.24
Objetivo Obtención de un número de serie válido y craer un keygen
Cracker Mr.GReeN
Fecha 18 de Octubre de 1999

Introducción
En este tutorial aprenderemos a entender una simple rutina de generación de número de serie y en consecuencia, crear un keymaker.

Toma de contacto
Bueno, bueno, bueno. Increible, pero cierto. Después de tropecientas versiones de los mismos appz, estos señores programadores no cambian el patron de "defensa", pese a que too dios es capaz de romper sus líneas de combate. Lo peor de todo es que ellos mismos, al entrar un serial falso te dicen que el número de serie debe empezar con RKS-, lamentable y aburrido, no?.

Abrete sésamo
Bueno, no os voy a aburrir con los detalles de código de los programs, iremos directos al grano que es lo que nos interesa. Bástenos saber que despues de la rutina que convierte en mayúsculas el nick viene la rutina de generación del verdadero código.

Todos los apps de RKS tiene la misma rutina de generación del Serial, ok?, lo único que les diferencias es un pequeño valor almancenado en EBP-10.

Entramos en Soft-Ice previo BPX HMEMCPY y seguimos con los pasos reglamen- tarios que todos ya conocemos. Vámos traceando hasta que llegemos a la rutina de conversión en mayusculas del nick, así pues, a partir de ahi iremos traceando con F8 con el objeto de ir metiendonos en cada uno de los CALL que nos encontremos en el camino.

Ok!, Ya hemos llegado. Las direcciones que aqui se mostrarán son ficticias, solo para uso informativo. Bien, nos encontramos con la rutina de cración de Serial:

4C4594 MOV EAX, [EBP-0C] ; Almacena tu nick en registro EAX.

----------- MOV AL, [ECX+EAX-01]; Almacena en AL cada uno de los caracteres.

---------- CMP AL, 20; Mira si el carácter en AL es espacio en blanco, " ".

---------- JZ 004C45AB; Salta al contador más abajo.

---------- AND EAX, FF; Límpia EAX, dejándo AL ocupado con el carácter.

---------- IMUL EAX, [EBP-10]; Aquí le duele :) El valor almacenado en EBP varía de programa a programa. Hacemos ? @EBP-10 y nos dará el valor decimal del multi- plicando. Resultado almacenado en EAX.

---------- DEC EAX; Decrementa EAX en 1: EAX=EAX-1.

---------- ADD ESI, EAX; Suma ESI (valor inicial = 0) con EAX. Valor acumulativo. Aqui está el Serial correcto que se debe añadir a RSK-.

4C45AB INC ECX; Contador que incrementas hasta alcanzar la longitud del nick.

---------- DEC EDX; Contador que almacena la long. del nick EDX=EDX-1;

---------- JNZ 004C4594; Mientras no se alcance 0, salta al inicio de la rutina.

***************************************

Bien, entendida la rutina que genera el serial correcto, podemos hacer en cualquier lenguaje de alto nivel el Keygen correspondiente a cada uno de los appz de RKS Software. Solo hay que recordar que el NICK debe estar en mayúsculas, que es espacio en blanco, " " no es caculado y que incrementa el contador y sobre todo que en ESI se almacena el Serial. :-)

Valga un sencillo ejemplo en VBasic, ok?, a lo bestia y sin depurar. :-O

Private Sub Command1_Click()
ebp# = 5961 ´Este valor es el predeterminado para Visual Business Cards v3.2i.
z = Len(Text1.Text) ' Almacena en l la longitud del nick en Text1.Text.
n$ = UCase$(Text1.Text ' Convertimos el nick en mayúsculas.
For x = 1 To z ' Sustituimos los contadores ECX y EDX por un bucle.
eax# = Asc((Mid$(n$, x, 1))) ' Almacenamos en EAX cada uno de los cracteres.
If eax# = 32 Then GoTo s ' Comprobamos si hay espacios en blanco y saltamos.
eax# = eax# * ebp# ' Multiplicamos por 5961
eax# = eax# - 1 ' Restamos a EAX, 1
esi# = esi# + eax# ' Almcenamos en ESI el valor que será el Serial
s: Next
Text2.Text = "RKS-" + Trim$(Str$(esi#)) He aquí el Serial para tu nick.


Y ya está todo hecho :-). A partir de ahora podeis crear Keygens para todos los productos RKS

  
*±±========-*-*-*-* P E R S O N A L   G R E E T Z *-*-*-*-========±±*
    A todos los Crackers del pasado, del presente y del futuro.
(En ezpecial a loz kabroneZ de WkT!)
    
 


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