logo Homepage
Pages: [1]
  Imprimer  
Auteur Fil de discussion: Traduire code C (Brute Force) en Vbscript  (Lu 6014 fois)
Hackoo
Profil challenge

Classement : 20713/54278

Néophyte
*
Hors ligne Hors ligne
Messages: 5


Voir le profil
« le: 03 Septembre 2018 à 01:11:21 »

Salut 
J'ai vu ce code en C qui traite le "Brute Force" ==> Algorithme de Bruteforce, codes, idées.

Code: (C)
char pass[4]="aaaa";
for(a='a'; a<'z'; a++) {
    pass[0] = a;
    for(b='a'; b<'z'; b++) {
        pass[1] = b;
        for(c='a'; c<'z'; c++) {
            pass[2] = c;
            for(d='a'; d<'z'; d++) {
                pass[3] = d;
                verify_pass(pass);
            }
        }
    }
}
Alors je me demande s'il ya une âme charitable de le traduire en vbscript !
Merci !
Journalisée
flash211

Profil challenge

Classement : 1285/54278

Néophyte
*
Hors ligne Hors ligne
Messages: 12


Voir le profil
« #1 le: 03 Septembre 2018 à 09:00:18 »

Salut Hackoo,

Je ne pense pas que quelqu'un répondra de manière positive à ta question.
Si tu veux faire un BF en vbscript, tu peux toujours t'inspirer de celui-ci et le "traduire".

Avant ça tu ferai bien d'apprendre les bases du langages comme les boucles et les tableaux par exemple...

Bonne chance
Journalisée
Hackoo
Profil challenge

Classement : 20713/54278

Néophyte
*
Hors ligne Hors ligne
Messages: 5


Voir le profil
« #2 le: 03 Septembre 2018 à 10:47:11 »

Salut Hackoo,
Je ne pense pas que quelqu'un répondra de manière positive à ta question.
Si tu veux faire un BF en vbscript, tu peux toujours t'inspirer de celui-ci et le "traduire".
Avant ça tu ferai bien d'apprendre les bases du langages comme les boucles et les tableaux par exemple...
Bonne chance
Tout d'abord, je vous remecie de prendre le temps de me répondre  
Je vais décortiquer un peu le code pour le comprendre un peu plus et faire ensuite la correspondance en vbscript !
D'après le code en C on voit cette déclaration d'un tableau avec une longeur de 4
Code: (C)
char pass[4]="aaaa";
en vbscript
Code: (Vbscript)
Dim MonTableau
MonTableau = Array("a","a","a","a")
ça devient comme ça ?
« Dernière édition: 03 Septembre 2018 à 11:14:12 par Hackoo » Journalisée
flash211

Profil challenge

Classement : 1285/54278

Néophyte
*
Hors ligne Hors ligne
Messages: 12


Voir le profil
« #3 le: 03 Septembre 2018 à 11:02:59 »

Désolé, je connais pas du tout ce langage
Journalisée
Hackoo
Profil challenge

Classement : 20713/54278

Néophyte
*
Hors ligne Hors ligne
Messages: 5


Voir le profil
« #4 le: 03 Septembre 2018 à 11:13:09 »

Désolé, je connais pas du tout ce langage
Ce n'est pas grave, je vais creuser un peu et faire plus d'effort !
Je vous souhaite une très bonne journée 
Journalisée
Hackoo
Profil challenge

Classement : 20713/54278

Néophyte
*
Hors ligne Hors ligne
Messages: 5


Voir le profil
« #5 le: 04 Septembre 2018 à 17:50:33 »

Salut 
Je crois que j'ai bien réussi à le faire grâce un pote qui ma aider à le tarduire en vbscript et j'ai ajouté une fonction qui calcule le temps passé a cracker le mot de passe saisi avec InputBox !

Code: (vbscript BruteForce.vbs)
Title = "Password Brute Force Cracker by Hackoo 2018"
Dim pass(5)
Dim Numbers : Numbers = Split("1 2 3 4 5 6 7 8 9 0")
Dim Lower_Alphabet : Lower_Alphabet = Split("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")
Dim Upper_Alphabet : Upper_Alphabet = Split("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")
Do
Mot_de_Passe_Saisi = InputBox("Veuillez saisir un mot de passe qui contient seulement 6 caractères." & vbcrlf & vbcrlf &_
"Please enter a password that contains only 6 characters.",Title,"")
If Mot_de_Passe_Saisi = "" Then Wscript.Quit(1)
If Valide(Mot_de_Passe_Saisi) = False Then
MsgBox Mot_de_Passe_Saisi & " is not a valid input please re-try again !",48,Title
End If
Loop Until Valide(Mot_de_Passe_Saisi) = True
'--------------------------------------------------
dtmStartTime = Timer
Wscript.echo("")
Wscript.echo "   Please wait ... We are trying to crack the input password ..."
wscript.echo "            Trying to crack only with Numbers [0-9]"
Call BruteForce(Numbers)
wscript.echo "            Trying to crack only with Lower Alphabet [a-z]"
Call BruteForce(Lower_Alphabet)
wscript.echo "            Trying to crack only with Upper Alphabet [A-Z]"
Call BruteForce(Upper_Alphabet)
'--------------------------------------------------
Function Valide(Saisie)
Set RegularExpressionObject = New RegExp
With RegularExpressionObject
.Pattern = "^(?=.{6}$) *\w* *$"
If .Test(Saisie)= True then
Valide = True
end if
End With
End Function
'-------------------------------------------------
Sub BruteForce(CharSet)
for each a in CharSet
pass(0) = a
for each b in CharSet
pass(1) = b
for each c in CharSet
pass(2) = c
for each d in CharSet
pass(3) = d
for each e in CharSet
pass(4) = e
for each f in CharSet
pass(5) = f
Crack(strpass)
next
next
next
next
next
next
End Sub
'--------------------------------------------
Function strpass
   for each item in pass
      strpass = strpass + item
   next
end Function
'--------------------------------------------
sub Crack(str)
   If str = Mot_de_Passe_Saisi then
wscript.echo("")
wscript.echo "            The Password is found as :  " & Mot_de_Passe_Saisi & vbCrlf & vbCrlf &_
"          The Duration time to crack is " & GetElapsedTime
wscript.echo("")
wscript.quit(0)
End if
end sub
'--------------------------------------------
Function GetElapsedTime
    Const SECONDS_IN_DAY    = 86400
    Const SECONDS_IN_HOUR   = 3600
    Const SECONDS_IN_MINUTE = 60
    Const SECONDS_IN_WEEK   = 604800
    dtmEndTime = Timer
    seconds = Round(dtmEndTime - dtmStartTime, 2)
    If seconds < SECONDS_IN_MINUTE Then
        GetElapsedTime = seconds & " seconds "
        Exit Function
    End If
    If seconds < SECONDS_IN_HOUR Then
        minutes = seconds / SECONDS_IN_MINUTE
        seconds = seconds MOD SECONDS_IN_MINUTE
        GetElapsedTime = Int(minutes) & " minutes " & seconds & " seconds "
        Exit Function
    End If
    If seconds < SECONDS_IN_DAY Then
        hours   = seconds / SECONDS_IN_HOUR
        minutes = (seconds MOD SECONDS_IN_HOUR) / SECONDS_IN_MINUTE
        seconds = (seconds MOD SECONDS_IN_HOUR) MOD SECONDS_IN_MINUTE
        GetElapsedTime = Int(hours) & " hours " & Int(minutes) & " minutes " & seconds & " seconds "
        Exit Function
    End If
    If seconds < SECONDS_IN_WEEK Then
        days    = seconds / SECONDS_IN_DAY
        hours   = (seconds MOD SECONDS_IN_DAY) / SECONDS_IN_HOUR
        minutes = ((seconds MOD SECONDS_IN_DAY) MOD SECONDS_IN_HOUR) / SECONDS_IN_MINUTE
        seconds = ((seconds MOD SECONDS_IN_DAY) MOD SECONDS_IN_HOUR) MOD SECONDS_IN_MINUTE
        GetElapsedTime = Int(days) & " days " & Int(hours) & " hours " & Int(minutes) & " minutes " & seconds & " seconds "
        Exit Function
    End If
End Function
'--------------------------------------------

Donc il vaut mieux de lancer ce vbscript avec le moteur cscript comme dans ce batch 

Code: (Batch CrackBruteForce.bat)
@echo off
Title Cracking Password by Hackoo Crackoo 2018
Mode 70,10 & color 0A
Cscript //nologo BruteForce.vbs
pause
Journalisée
Pages: [1]
  Imprimer  
 
Aller à: