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

 

 


Tema destacado:


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  .NET (C#, VB.NET, ASP)
| | | |-+  Programación Visual Basic (Moderadores: LeandroA, seba123neo)
| | | | |-+  [Source] VB6 Bruteforce (mejorado)
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] 2 Ir Abajo Respuesta Imprimir
Autor Tema: [Source] VB6 Bruteforce (mejorado)  (Leído 6,825 veces)
Psyke1
Wiki

Desconectado Desconectado

Mensajes: 1.089



Ver Perfil WWW
[Source] VB6 Bruteforce (mejorado)
« en: 14 Abril 2010, 20:59 pm »

Hola a todos hace poco pregunte como se hacia un Bruteforce en vb6, obtuve diferentes metodos, pero Karcrack me dijo q lo intentara por mi mismo, y asi he hecho!!  :)Les presento mi code para convinar las letras minusculas del abcdario. estuve dandole vueltas, no se si es la forma optima de hacerlo (aunque funciona a la perfeccion), por eso os pido vuestra yuda para mejorarlo y de paso aprender. ;D

Código
  1. Public Sub BruteForce()
  2.  
  3.    Dim D1, D2, D3, D4, D5, D6, D7, D8 As Integer
  4.  
  5.    D1 = 97: D2 = 97: D3 = 97: D4 = 97: D5 = 97: D6 = 97: D7 = 97: D8 = 97
  6.  
  7.    Open App.Path & "\midicionario.txt" For Output As #1
  8.  
  9. digito1:
  10.  
  11.    If D1 = 123 Then
  12.        D1 = 97
  13.        MsgBox "Combinaciones con un digito completadas", vbInformation
  14.        GoTo digito2
  15.    End If
  16.    Print #1, Chr(D1)
  17.    D1 = D1 + 1
  18.    GoTo digito1
  19.  
  20. digito2:
  21.  
  22.    If D1 = 122 And D2 = 123 Then
  23.        D1 = 97: D2 = 97
  24.        MsgBox "Combinaciones con dos digitos completadas", vbInformation
  25.        GoTo digito3
  26.    ElseIf D2 = 123 Then
  27.        D1 = D1 + 1
  28.        D2 = 97
  29.    End If
  30.    Print #1, Chr(D1) & Chr(D2)
  31.    D2 = D2 + 1
  32.    GoTo digito2
  33.  
  34. digito3:
  35.  
  36.    If D1 = 122 And D2 = 122 And D3 = 123 Then
  37.        D1 = 97: D2 = 97: D3 = 97
  38.        MsgBox "Combinaciones con tres digitos completadas", vbInformation
  39.        GoTo digito4
  40.    ElseIf D2 = 122 And D3 = 123 Then
  41.        D2 = 97: D3 = 97
  42.        D1 = D1 + 1
  43.    ElseIf D3 = 123 Then
  44.        D2 = D2 + 1
  45.        D3 = 97
  46.    End If
  47.    Print #1, Chr(D1) & Chr(D2) & Chr(D3)
  48.    D3 = D3 + 1
  49.    GoTo digito3
  50.  
  51. digito4:
  52.  
  53.    If D1 = 122 And D2 = 122 And D3 = 122 And D4 = 123 Then
  54.        D1 = 97: D2 = 97: D3 = 97: D4 = 97
  55.        MsgBox "Combinaciones con cuatro digitos completadas", vbInformation
  56.        GoTo fin
  57.    ElseIf D2 = 122 And D3 = 122 And D4 = 123 Then
  58.        D2 = 97: D3 = 97: D4 = 97
  59.        D1 = D1 + 1
  60.    ElseIf D3 = 122 And D4 = 123 Then
  61.        D3 = 97: D4 = 97
  62.        D2 = D2 + 1
  63.    ElseIf D4 = 123 Then
  64.        D4 = 97
  65.        D3 = D3 + 1
  66.    End If
  67.    Print #1, Chr(D1) & Chr(D2) & Chr(D3) & Chr(D4)
  68.    D4 = D4 + 1
  69.    GoTo digito4
  70.  
  71. fin:
  72.  
  73.    MsgBox "Fin", vbExclamation
  74.    Close #1
  75.  
  76. End Sub
  77.  

Si no entienden algo no uden en preguntar  ;)

Garcias Karcrack


« Última modificación: 16 Abril 2010, 00:44 am por *PsYkE1* » En línea

Novlucker
Ninja y
Colaborador
***
Desconectado Desconectado

Mensajes: 10.683

Yo que tu lo pienso dos veces


Ver Perfil
Re: [Source] VB6 Bruteforce
« Respuesta #1 en: 14 Abril 2010, 21:04 pm »

Yo que tu desaparezco esos GOTO del código antes de que te insulten :xD , usa bucles y funciones

Te lo diré del siguiente modo, si que hay más métodos y más optimos con códigos más legibles, de hecho anda por el foro uno que había hecho en vbs usando recursividad.

Saludos


En línea

Contribuye con la limpieza del foro, reporta los "casos perdidos" a un MOD XD
"Hay dos cosas infinitas: el Universo y la estupidez  humana. Y de la primera no estoy muy seguro."
Albert Einstein
Psyke1
Wiki

Desconectado Desconectado

Mensajes: 1.089



Ver Perfil WWW
Re: [Source] VB6 Bruteforce
« Respuesta #2 en: 14 Abril 2010, 21:13 pm »

gracias por la crítika, me apliko el cuento Novlucker!! :D
En línea

Psyke1
Wiki

Desconectado Desconectado

Mensajes: 1.089



Ver Perfil WWW
Re: [Source] VB6 Bruteforce
« Respuesta #3 en: 14 Abril 2010, 22:11 pm »

Sinceramente, no sabria como hacerlo con bucles, seria algo asi, no:
Código
  1.    For D1 = 97 to 123 Then
  2.        Print #1, Chr(D1)
  3.    Next
  4.    MsgBox "Combinaciones con un dígito completadas", vbInformation
  5.  
Pero eso es para el 1er digito, para los demas no se... :-(

Gracias!

Salu2
En línea

Novlucker
Ninja y
Colaborador
***
Desconectado Desconectado

Mensajes: 10.683

Yo que tu lo pienso dos veces


Ver Perfil
Re: [Source] VB6 Bruteforce
« Respuesta #4 en: 14 Abril 2010, 22:31 pm »

Intenta entender esto y pruebalo (esta hecho en excel, así que puede que no funcione XD)

Código
  1. Private Sub GenerarDiccionario()
  2. Dim chars As String
  3. Dim charlist() As String
  4. Dim length As Integer
  5.  
  6. Open app.Path & "\diccionario.txt" For Output As #1
  7.  
  8. chars = "A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z"
  9. charlist = Split(chars, ",")
  10. length = 4
  11.  
  12. Call Complete("", length, charlist)
  13. Close #1
  14.  
  15. MsgBox "Proceso Terminado", vbInformation
  16. End Sub
  17.  
  18. Public Sub Complete(ByVal strin As String, ByVal length As Integer, ByRef charlist() As String)
  19. Dim z As Integer
  20.  
  21. For z = 0 To UBound(charlist())
  22. word = strin & charlist(z)
  23.  
  24. If Len(word) = length Then
  25.    Print #1, word
  26. Else
  27.    Call Complete(word, length, charlist)
  28. End If
  29.  
  30. Next
  31.  
  32. End Sub

En este se usa una lista de caracteres, y length es la cantidad de caracteres objetivo para la "palabra", en el ejemplo son todas las palabras formadas por esos caracteres y 4 caracteres de largo.

Para probar todas las palabras de 1, 2, 3, 4, etc caracteres puedes simplemente meterlo en un bucle, aunque más sencillo es comparar a medida que van apareciendo, de modo de evitar que resulte redundante ya que en el proceso de generar una palabra de 4 letras por ejemplo, el código pasa por A, AA, AAA, AAAA y ahí llega hasta la primera de 4 caracteres, pero como se ve antes ha pasado por las otras 3.

Saludos :P
En línea

Contribuye con la limpieza del foro, reporta los "casos perdidos" a un MOD XD
"Hay dos cosas infinitas: el Universo y la estupidez  humana. Y de la primera no estoy muy seguro."
Albert Einstein
Lupin

Desconectado Desconectado

Mensajes: 153



Ver Perfil
Re: [Source] VB6 Bruteforce
« Respuesta #5 en: 14 Abril 2010, 22:47 pm »

Si funciona...
...ayudaria un doevents ??
En línea

Psyke1
Wiki

Desconectado Desconectado

Mensajes: 1.089



Ver Perfil WWW
Re: [Source] VB6 Bruteforce
« Respuesta #6 en: 15 Abril 2010, 15:14 pm »

Gracias, esoy mastikando el code :laugh:, mas adelante resumire el mio mas... ;-)

Salu2 ;D
En línea

Psyke1
Wiki

Desconectado Desconectado

Mensajes: 1.089



Ver Perfil WWW
Re: [Source] VB6 Bruteforce
« Respuesta #7 en: 15 Abril 2010, 21:02 pm »

Mirar, he simplificado un poco el code con bucles en vez de Goto y con un array ;-)
Código
  1. Public Sub BruteForce()
  2.  
  3. '\\Declaro variables
  4.  
  5.    Dim D(3) As Integer, x As Integer
  6.  
  7.    For x = 0 To 3: D(x) = 97: Next
  8.  
  9. '\\Abro archivo de texto
  10.  
  11.    Open App.Path & "\dic.txt" For Output As #1
  12.  
  13. '\\Un digito
  14.  
  15.    While Not D(0) = 123
  16.        Print #1, Chr(D(0))
  17.        D(0) = D(0) + 1
  18.    Wend
  19.    D(0) = 97
  20.    MsgBox "Combinaciones con un dígito completadas!", vbInformation
  21.  
  22. '\\Dos digitos
  23.  
  24.    While Not D(0) = 123
  25.        If D(1) = 123 Then
  26.            D(1) = 97
  27.            D(0) = D(0) + 1
  28.        End If
  29.        If Not D(0) = 123 Then Print #1, Chr(D(0)) & Chr(D(1))
  30.        D(1) = D(1) + 1
  31.    Wend
  32.    D(0) = 97: D(1) = 97
  33.    MsgBox "Combinaciones con dos dígitos completadas!", vbInformation
  34.  
  35. '\\Tres digitos
  36.  
  37.    While Not D(0) = 123
  38.        If D(1) = 122 And D(2) = 123 Then
  39.            D(2) = 97: D(3) = 97
  40.            D(0) = D(0) + 1
  41.        ElseIf D(2) = 123 Then
  42.            D(1) = D(1) + 1
  43.            D(2) = 97
  44.        End If
  45.        If Not D(0) = 123 Then Print #1, Chr(D(0)) & Chr(D(1)) & Chr(D(2))
  46.        D(2) = D(2) + 1
  47.    Wend
  48.    For x = 0 To 2: D(x) = 97: Next
  49.    MsgBox "Combinaciones con tres dígitos completadas!", vbInformation
  50.  
  51. '\\Cuatro digitos
  52.  
  53.    While Not D(0) = 123
  54.        If D(1) = 122 And D(2) = 122 And D(3) = 123 Then
  55.            For x = 1 To 3: D(x) = 97: Next
  56.            D(0) = D(0) + 1
  57.        ElseIf D(2) = 122 And D(3) = 123 Then
  58.            D(2) = 97: D(3) = 97
  59.            D(1) = D(1) + 1
  60.        ElseIf D(3) = 123 Then
  61.            D(3) = 97
  62.            D(2) = D(2) + 1
  63.        End If
  64.        If Not D(0) = 123 Then Print #1, Chr(D(0)) & Chr(D(1)) & Chr(D(2)) & Chr(D(3))
  65.        D(3) = D(3) + 1
  66.    Wend
  67.    For x = 0 To 3: D(x) = 97: Next
  68.    MsgBox "Combinaciones con cuatro dígitos completadas!", vbInformation
  69.  
  70. '\\Finalizamos
  71.  
  72.    MsgBox "Fin", vbOKOnly
  73.    Close #1
  74.    End
  75.  
  76. End Sub
  77.  
Ya se que no es la forma profesionl de hacerlo, pero os pido vuestra opinion ;D
« Última modificación: 16 Abril 2010, 00:42 am por *PsYkE1* » En línea

MCKSys Argentina
Moderador Global
***
Desconectado Desconectado

Mensajes: 5.513


Diviértete crackeando, que para eso estamos!


Ver Perfil
Re: [Source] VB6 Bruteforce (mejorado)
« Respuesta #8 en: 16 Abril 2010, 03:38 am »

Esta es una alternativa con 2 bucles:

Código:
Sub BruteForce(MaxDigitos As Integer)
'a = 97
'z = 122
Dim Serial As String
Dim Terminado As Boolean
Dim Terminado2 As Boolean
Dim i As Integer
Dim c As Byte
Dim j As Integer
Dim pos As Integer

Serial = Space(MaxDigitos)

Open App.Path & "\midicionario.txt" For Output As #1

Mid(Serial, 1, 1) = "a"
Print #1, Trim(Serial)

Terminado = False

Do While Not Terminado
    pos = 1
    Terminado2 = False
    Do While Not Terminado2
        DoEvents
        c = Asc(Mid(Serial, pos, 1))
        'contempla char espacio
        If c < 97 Then
            c = 97
        Else
            c = c + 1
        End If
        If c < 123 Then
            Mid(Serial, pos, 1) = Chr(c)
            Terminado2 = True
        Else
            Mid(Serial, pos, 1) = "a"
            pos = pos + 1
        End If
    Loop
    Print #1, Trim(Serial)
    Terminado = True
    For j = 1 To MaxDigitos
        Terminado = Terminado And (Mid(Serial, j, 1) = "z")
    Next j
Loop
Close #1
MsgBox "listo"
End Sub

Saludos!
En línea

MCKSys Argentina

"Si piensas que algo está bien sólo porque todo el mundo lo cree, no estás pensando."

Psyke1
Wiki

Desconectado Desconectado

Mensajes: 1.089



Ver Perfil WWW
Re: [Source] VB6 Bruteforce (mejorado)
« Respuesta #9 en: 16 Abril 2010, 14:58 pm »

Muy interesante, agradezco el aporte MCKSys Argentina!!!
En línea

Páginas: [1] 2 Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
duda bruteforce wpa
Wireless en Linux
angelsilva 3 2,785 Último mensaje 2 Abril 2011, 02:48 am
por pianista
BruteForce Ftp Python
Scripting
Runex 1 2,866 Último mensaje 17 Mayo 2012, 19:32 pm
por 0xDani
Quiero link de hydra Bruteforce
Software
spider1 1 1,855 Último mensaje 18 Octubre 2012, 05:00 am
por Eleкtro
Stealing BitCoins with BruteForce
Hacking
xXSCORPIOXx 9 6,782 Último mensaje 7 Junio 2014, 19:02 pm
por Mister12
[Gnu AS] BruteForce
ASM
GGZ 6 5,475 Último mensaje 2 Octubre 2016, 03:01 am
por GGZ
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines