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 ]