elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Sigue las noticias más importantes de seguridad informática en el Twitter! de elhacker.NET


+  Foro de elhacker.net
|-+  Programación
| |-+  Ingeniería Inversa (Moderadores: karmany, .:UND3R:., MCKSys Argentina)
| | |-+  Tutorial Creasion de Crackme en VB6
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Tutorial Creasion de Crackme en VB6  (Leído 4,029 veces)
Flamer


Desconectado Desconectado

Mensajes: 1.052


crack, crack y mas crack...


Ver Perfil WWW
Tutorial Creasion de Crackme en VB6
« en: 20 Julio 2012, 01:42 am »

Tutorial Creación de Crackmes En VB6

Bueno ya que en el foro no e visto algún tutoríal de cómo hacer crackmes o si hay no lo he visto y es que son escasos aquí les enseñare mi nobles y pocos conocimientos de cómo crear nuestros crackmes en visual Basic 6 para que a si a ver si se animan mas a crear crackmes para el foro.

Descripción de crackme = Es un simple programa que simula una protección que al romperla te mostrara el mensaje de felicitaciones o cualquier mensaje que allá puesto el creador.

Nota: ustedes pueden crear sus propios mensajes o felicitaciones

Definición de Keygenme= A diferencia del crackme que
solo pide una contraseña el keygenme pide una contraseña para cada usuario la cual es diferente para cada usuario, o sea cada usuario tiene su propia

contraseña ejemplo:

Usuario=flamer              contraseña=4579625
Usuario=$Edu$             contraseña=4789728   
Usuario=pitoloco           contraseña=4958369
Usuario=Under              contraseña=4658936
   

Nota: Empezaremos con los crackme primero (uno sencillo y luego uno mas
complicadito) y después los keygenme (uno sencillo y luego uno mas
complicadito)

Bueno ya basta de blablabla pasemos a crear nuestro crackme

Para ello necesitamos el visual Basic 6 y conocimientos de programación y
mucha imaginación.

Bueno en pesemos abrimos el vb6
Elegimos un nuevo proyecto EXE estándar y le damos clic en abrir

Agregamos un Label, un TextBox y un CommandButton
En la barra de propiedades al Label1 en la propiedad caption le escribiremos
Contraseña:
En la barra de propiedades del form1 en la propiedad Caption le escribiremos
“Mi Primer Crackme”

En la de propiedades del CommandButton en la propiedad Caption le
escribiremos “Verificar”  y en la Propiedad nombre borramos command1 y le
ponemos cmd_Verificar
Y en el TextBox  en la propiedad text borramo lo que tenga y en la propiedad
nombre le ponemos txt_Serial
Ya que tenemos nuestro formulario hecho pasamos a crear nuestro primer
código que será simple:

Código:
Private Sub cmd_Verificar_Click()
If txt_Serial = "123456" Then   
   MsgBox "Felisidades lo has logrado", vbExclamation, "Correcto" 
Else
   MsgBox "Muy mal no lo lograstes", vbCritical, "Error" 
End If 
End Sub

¿Qué ase? cuando se presiona el botón verificar  preguntara si txt_serial que
es el cuadro de texto es igual a 123456 si es verdadero mostrara el cartelito
de correcto y si no marcara error

Bueno como dije es simple ahora pasaremos a uno mas complicado:

Nota1: solo cambiaremos el código, el formulario será el mismo
Nota2: lo codeare lo mas fácil posible para que sea entendible

Código:
Option Explicit
Dim contador, numer, x As Integer
Declaramos las variables contador, numer y x como enteros
Código:
Dim letra As String  
Declaramos letra como string
 
Código:
Private Sub cmd_Verificar_Click()
contador = 0
inicializa la variable contador en cero
Código:
If Len(txt_Serial) = 6 Then 
Pregunta si el largo de la cadena es igual a 6 si es a si entra sino te muestra el mensaje de error
Código:
  
 For x = 1 To 6
 
Entra en un for donde x es inicializada en 1 y terminara cuando su valor sea 6
Código:
  
letra = Mid(txt_Serial, x, 1)
   
letra toma el primer carácter de txt_serial si x es igual a 1 si x igual a 2 toma el segundo y a si sucesivamente
Código:
  
numer = Asc(letra) – 3
 
numer sera igual al valor ASCII de letra menos 3
Código:
  
letra = Chr(numer) 

aqui numer es convertido a carácter
Código:
Select Case (letra)  
   Case "Q", "W", "E", "R", "T", "Y":
      contador = contador + 1
   Case Else
      Exit For
   End Select
Next x
Aqui preguntara si letra es igual a alguna de estas letras “Q”, “W”, “E”, “R”, “T”, “Y” si es a si a contador  se le ira sumando 1 si no sale del ciclo
Código:
If contador = 6 Then 
   MsgBox "Felisidades lo has logrado", vbExclamation, "Correcto"
Else
   MsgBox "Muy mal no lo lograstes", vbCritical, "Error"
End If
Aquí pregunta si contador es igual a 6, si es verdadero te mostrara el cartelito de felicitaciones si no dara error
Código:
Else
      MsgBox "Muy mal no lo lograstes", vbCritical, "Error"
End If
End Sub

Bueno reverseando  el código la contraseña será “TZHUW\”

codigo completo:

Código:
Option Explicit
Dim contador, numer, x As Integer
Dim letra As String 
Private Sub cmd_Verificar_Click()
contador = 0
If Len(txt_Serial) = 6 Then
For x = 1 To 6
    letra = Mid(txt_Serial, x, 1)
    numer = Asc(letra) – 3
    letra = Chr(numer) 
      Select Case (letra) 
         Case "Q", "W", "E", "R", "T", "Y":
            contador = contador + 1
         Case Else
            Exit For
      End Select
   Next x
   If contador = 6 Then
      MsgBox "Felisidades lo has logrado", vbExclamation, "Correcto"
   Else
      MsgBox "Muy mal no lo lograstes", vbCritical, "Error"
   End If
Else
      MsgBox "Muy mal no lo lograstes", vbCritical, "Error"
End If
End Sub

Ahora pasemos a crear un keygenme al cuadro de texto le
pondremos txt_Nombre al segundo txt_Serial y al botón cmd_Verificar y al
form el nombre queda igual solo le cambiaremos el caption será “Mi Primer
KeygenMe” 

El primer código será sencillo y el segundo un poco mas complicado y con
una protección antidebuger bueno seguimos:

Código:
Option Explicit
Dim num, x As Integer 
Dim Serial, letra As String
Declara  las variables num, x a enteros y serial y letra a string
Código:
 
Private Sub cmd_Verificar_Click()
Serial = ""   
Serial es inicializado en vasio
Código:
For x = 1 To Len(txt_Nombre) 
Aquí entra en un for donde x inicia desde 1 y terminara hasta que su valor sea igual a el largo de la cadena
Código:
  
 letra = Mid(txt_Nombre, x, 1) 

   letra toma el primer carácter de txt_serial si x es igual a 1 si x igual a 2 toma el segundo y a si sucesivamente
Código:
  
num = Asc(letra) – 1
numer sera igual al valor ASCII de letra menos 1
Código:
  
letra = Chr(num)
aqui numer es convertido a carácter
Código:
  
Serial = Serial & letra
Concatena la variable serial con letra
Código:
Next x
If txt_Serial = Serial Then
   MsgBox "Felisidades lo has logrado", vbExclamation, "Correcto"
Else
   MsgBox "Muy mal no lo lograstes", vbCritical, "Error"
End If
End Sub

Pregunta si txt_serial es igual a la variable serial si es correcto te muestra el
mensaje de felicitaciones si no te marca error

codigo completo:

Código:
Option Explicit
Dim num, x As Integer 
Dim Serial, letra As String
Private Sub cmd_Verificar_Click()
Serial = ""   
For x = 1 To Len(txt_Nombre)
letra = Mid(txt_Nombre, x, 1) 
num = Asc(letra) – 1
letra = Chr(num)
Serial = Serial & letra
Next x
If txt_Serial = Serial Then
   MsgBox "Felisidades lo has logrado", vbExclamation, "Correcto"
Else
   MsgBox "Muy mal no lo lograstes", vbCritical, "Error"
End If
End Sub

Bueno ya casi llegamos al final en el siguiente ejemplo lo haremos mas
complicado será un keygenme con un solo cuadro de texto y una protección
antidebuger
El cuadro de texto se llamara txt_serial y el botón cmd_Verificar

A continuación el código:

Código:
Option Explicit
Private Declare Function IsDebuggerPresent Lib "kernel32" () As Long
Dim contador, par, x, salir As Integer
Dim letra1, letra2 As String
Declara la api IsDebuggerPresent y las variables contador, par, x, y salir como
enteros y letra1, letra2 como string
Código:
Private Sub Form_Load()
salir = 0

se inicializa la variable salir en cero
Código:
If IsDebuggerPresent Then  
   salir = 1
End If
End Sub
Pregunta si hay algun debugger si es a si entra y se leda el valor de 1 a salir
Código:
Private Sub cmd_Verificar_Click()
contador = 0
se inicializa la variable contador en cero
Código:
If salir = 1 Then   
   salir = 1E+100 
pregunta si salir es igual a 1 entra y séle da un valor grande para que marque error
Código:
Else 
   par = Len(txt_Serial) Mod 2

es dividido el largo de txt_serial en 2 y par obtiene el residuo si es 1 o 0
Código:
  
 If par = 0 Then
Pregunta si par es igual acero
Código:
      
For x = 1 To Len(txt_Serial) / 2
   
x es inicializada en 1 y terminara cuando x sea igual a la mitad de lo largo de
txt_serial
Código:
  
letra1 = Mid(txt_Serial, x, 1)
     
letra1 toma el primer carácter de txt_serial si x es igual a 1 si x igual a 2 toma el segundo y a si sucesivamente
Código:
  
letra2 = Mid(txt_Serial, Len(txt_Serial) - x + 1, 1)
letra2 toma el ultimo valor de txt_serial si x es igual a 1, si es igual a 2 toma el penúltimo y a si sucesivamente
Código:
 
If letra1 = letra2 Then
   contador = contador + 2
End If

Pregunta si letra1 es igual a letra2 si es a si a contador sele suma 2
Código:
  
Next x
End If
End If

If contador = Len(txt_Serial) Then
   MsgBox "Felisidades lo has logrado", vbExclamation, "Correcto" 
Else
   MsgBox "Muy mal no lo lograstes", vbCritical, "Error"
End If
End Sub

Pregunta si contador es igual ala longitud de txt_serial si es a si te muestra el cartelito de felicidades si no te marca error

codigo completo:

Código:
Option Explicit
Private Declare Function IsDebuggerPresent Lib "kernel32" () As Long
Dim contador, par, x, salir As Integer
Dim letra1, letra2 As String
Private Sub Form_Load()
salir = 0
If IsDebuggerPresent Then 
   salir = 1
End If
End Sub
Private Sub cmd_Verificar_Click()
contador = 0
If salir = 1 Then   
   salir = 1E+100 
Else
   par = Len(txt_Serial) Mod 2
If par = 0 Then
For x = 1 To Len(txt_Serial) / 2
       letra1 = Mid(txt_Serial, x, 1)
       letra2 = Mid(txt_Serial, Len(txt_Serial) - x + 1, 1)
        If letra1 = letra2 Then
            contador = contador + 2
         End If
    Next x
  End If
End If

If contador = Len(txt_Serial) Then
   MsgBox "Felisidades lo has logrado", vbExclamation, "Correcto" 
Else
   MsgBox "Muy mal no lo lograstes", vbCritical, "Error"
End If
End Sub


Bueno terminamos eso es todo por hoy 

Solo les es puse  4 codigos para que seden una idea de cómo se hacen los
crackmes y se animen

Nota: los códigos expuestos son fáciles de revertir, hacer el keygen no es  tan complicado conociendo el código y los hice lo mas entendible posible y
declarando muchas variables para que los entendieran ya que se puede usar con menos variables

Nota: si quieren hacer mas difícil el crackme o keygenme solo necesitan un

poco de imaginación asiendo mas operaciones, para hacer mas largo el código
y podrían agregarle un xor a sus operaciones

Bueno aquí los dejo denle gracias a Tinkipinki y tincopasan que fueron los que pidieron el tutorial yo no tenia pensado postearlo por que se me asía que anadien le iba a gustar ya que le quite las imágenes pero si a alguien le sirve que bueno

Saludos Flamer
En línea

Mi Canal De Youtube y Blog

https://elblogdeflamer.blogspot.com

jEUDi17

Desconectado Desconectado

Mensajes: 54


CrackSLatinoS


Ver Perfil
Re: Tutorial Creasion de Crackme en VB6
« Respuesta #1 en: 20 Julio 2012, 01:49 am »

Gracias por el tutorial esta muy bueno, no lo pude leer pero las primeras partes que leí las entendi muy bien.

Yo  no soy muy fanatico de visual basic, pero con tu explicacion es muy facil aprender rapido visual basic.

Saludos Flamer!
En línea

En paz me acostaré y asimismo dormiré; Porque sólo tú, Señor, me haces vivir confiado.

Flamer


Desconectado Desconectado

Mensajes: 1.052


crack, crack y mas crack...


Ver Perfil WWW
Re: Tutorial Creasion de Crackme en VB6
« Respuesta #2 en: 20 Julio 2012, 01:59 am »

hola jEUDi17  gracias le hechare un vistaso a tu reto
ya estuve leyendo el tema y parece interesante no lo abia bajado(no loe bajado todavía) por que esta ocupado con el tuto lo boy a bajar

saludos flamer
En línea

Mi Canal De Youtube y Blog

https://elblogdeflamer.blogspot.com

jEUDi17

Desconectado Desconectado

Mensajes: 54


CrackSLatinoS


Ver Perfil
Re: Tutorial Creasion de Crackme en VB6
« Respuesta #3 en: 20 Julio 2012, 02:00 am »

hola jEUDi17  gracias le hechare un vistaso a tu reto
ya estuve leyendo el tema y parece interesante no lo abia bajado(no loe bajado todavía) por que esta ocupado con el tuto lo boy a bajar

saludos flamer

S1p, espero que te guste, la verdad me cuesta bastante aprender lenguajes de programacion pero lo voy a seguir intentado.

Suerte!
En línea

En paz me acostaré y asimismo dormiré; Porque sólo tú, Señor, me haces vivir confiado.

Tinkipinki

Desconectado Desconectado

Mensajes: 242



Ver Perfil
Re: Tutorial Creasion de Crackme en VB6
« Respuesta #4 en: 21 Julio 2012, 13:39 pm »

Hola Flamer:
Felicitaciones....., sencillo, entendible y rapido de aprender.. ;-)

Saludos
En línea

tincopasan


Desconectado Desconectado

Mensajes: 1.286

No es lo mismo conocer el camino que recorrerlo.


Ver Perfil
Re: Tutorial Creasion de Crackme en VB6
« Respuesta #5 en: 23 Julio 2012, 00:20 am »

Flamer Gracias por compartir tus conociemientos!
En línea

Flamer


Desconectado Desconectado

Mensajes: 1.052


crack, crack y mas crack...


Ver Perfil WWW
Re: Tutorial Creasion de Crackme en VB6
« Respuesta #6 en: 23 Julio 2012, 01:39 am »

Citar
Publicado por: Tinkipinki
Hola Flamer:
Felicitaciones....., sencillo, entendible y rapido de aprender.. ;-)

Saludos

Citar
Publicado por: tincopasan
Flamer Gracias por compartir tus conociemientos!
gracias a los dos por las felisitaciones, Hojala y sirba de halgo a los que resien empiesan, a ustedes y a los demas compañeros del foro.
no deseo que sea el ultimo tutorial de creacion de crackmes me refiero a que mas gente publique o haga tutoriales sobre el tema ya que pienso que es interesante y escasos
En línea

Mi Canal De Youtube y Blog

https://elblogdeflamer.blogspot.com

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
[Tutorial]CrackMe 1 by kaiser1313
Ingeniería Inversa
.:UND3R:. 7 6,154 Último mensaje 2 Septiembre 2011, 07:35 am
por apuromafo CLS
[TUTORIAL]Crackme edu « 1 2 »
Ingeniería Inversa
.:UND3R:. 11 8,333 Último mensaje 21 Octubre 2011, 19:07 pm
por .:UND3R:.
tutorial crackme.exe
Ingeniería Inversa
mario86 4 13,265 Último mensaje 28 Diciembre 2016, 13:01 pm
por apuromafo CLS
tutorial crackme Falcon1crk2
Ingeniería Inversa
mario86 0 1,728 Último mensaje 23 Febrero 2013, 04:14 am
por mario86
Tutorial acerca del crackme de SkaPunky
Ingeniería Inversa
jJPHyES 3 3,375 Último mensaje 11 Mayo 2018, 15:57 pm
por jJPHyES
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines