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!)
|