Lo primero es arrancar
el SmartCheck, por supuesto ;). Seleccionaremos el archivo del crackme
(VB5CRKME.EXE)
y ejecutamos el crackme desde el SmartCheck (F5). Introducimos
un nombre cualguiera: "deese" , y nos inventamos
un numero de serie cualquiera: "12345". Ahora vamos a centramos
en el "Program Result".
Vemos unos cuantos eventos timer1, y unos PWSerialTxt_Change.
Los eventos del timer son debidos al texto que se va moviendo
de lado a lado. Y el PWSerialTxt_Change, es por que
va calculando el serial a medida que escribimos.
Vamos directamente al ultimo de estos evento y nos encontramos
con:
-...string ( variant )
| |
| -..unsigned
short ** .pbstrVal = 00510450
|
|
|
-..String = 004117A8
|
|..= "0115010100" << Este es nuestro serial
|... Long length = 10 0x0000000A
Ahora ya podemos cerrar el SmartCheck e introducir nuestro nombre:"deese"
y nuestro nuevo serial:"0115010100"
Pero ahora vamos a por el KeyGen no?
Si te fijas en el ultimo evento PWSerialTxt_Change veremos que
lo que va haciendo es cojer cada letra del nombre,
y coje su codigo ASCII. La particularidad es, que si el codigo
ASCII tiene mas de 2 digitos (osea, 3 xD ), coje los
2 ultimos digitos. y luego les da la vuelta. Je Je, mejor lo
explico no ? xDDDDDD
Left(VARIANT:String:"deese",long:1)
Right(VARIANT:String:"d",long:1)
Asc(String:"d") returns Integer:100
Right(VARIANT:Integer:100,long:2)
y asi con cada letra del nombre.
Los ASCII de "deese" serian 100 101 101 115 101 si cojemos
los 2 ultimos numeros, seria: 00 01 01 15 01
y si le tenemos que dar la vuelta queda asi 0115010100.
Pues ya esta claro no?. El codigo quedaria algo asi.
Private Sub nametxt_KeyPress(KeyAscii
As integer)
txt = KeyAscii
If Len(txt) > 2 Then txt = Right(txt,
2)
If KeyAscii = 8 Then
serialtxt.Text = ""
nametxt.Text = ""
Exit Sub
End If
serialtxt.Text = txt & serialtxt.Text
End Sub
Ya solo tienes que montar la correccion de errores y tal y cual
y ya tienes el keygen. xD
DeeSe - ©TeaM HeaT 16, 2000
para mas informacion: deese2k@yahoo.es
|