ESTUDIO COLECTIVO DE DESPROTECCIONES
Última Actualizacion: 25/10/2001

Programa VBasic 5.0 Crackem by RepZ W95 / W98 / NT
Descripción  Crackme
Tipo  Visual Basic 5.0 Crackme by RepZ
Tipo de Tutorial [X]Original, []Adaptación, []Aplicación, []Traducción
Url http://crackmes.cjb.net
Protección  Serial Number
Dificultad 1) Principiante, 2) Amateur, 3) Aficionado, 4) Profesional, 5) Especialista
Herramientas  SmartCheck
Objetivo  Pillar un serial valido
Cracker DeeSe - [DS]
Fecha 08 de Agosto de 2000

INTRODUCCION
  Tenemos que encontrar un serial para el crackme. Y como hacer un keygen en vbasic. Lets Go!. Contribuye al ECD!
-   Lo primero sera configurar el SmartCheck:
  Abrimos el menu [Program] > [Settings...] 
  En "Error Detection" seleccionamos las opciones de:
   -ø- Memory Errors
   -ø- Pointer Errors
   -ø- Leaks
  Le damos al menu avanzado [Advanced...] y seleccionamos:
   -ø- Report errors caused by other errors 
   -ø- Report errors even no source code is available
   -ø- Report each error only once
   -ø- Check all heap  blocks on each memory function call

 Luego en "Reporting", seleccionamos todos los checkbox, excepto "Report MouseMove  events from OCX controls"
 Y ya tenemos el SmartCheck configurado. Vamos a por el objetivo.

AL ATAQUE
  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
 

[ Entrada | Documentos Genéricos | WkT! Web Site ]
[ Todo el ECD | x Tipo de Protección | x Fecha de Publicación | x Orden Alfabético ]
(c) Whiskey Kon Tekila [WkT!] - The Original Spanish Reversers.
Si necesitas contactar con
nosotros , lee esto antes e infórmate de cómo puedes ayudarnos