Coder un algo de bruteforce

- - Dernière réponse :  zorro5959 - 21 mars 2013 à 14:30
bonjour , je voudrais mettre un brutforce dans le programme: voici je voudrais mettre dedans: ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789!"#$%&'()*+,-./:;<=>?@[\]^_`{|}~
c quoi comme programme?

Public Class Form1

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
If OpenFileDialog1.ShowDialog = Windows.Forms.DialogResult.OK Then
TextBox1.Text = OpenFileDialog1.FileName
End If
End Sub

Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
Timer1.Enabled = True
End Sub

Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
If ProgressBar1.Value = ProgressBar1.Maximum Then
Timer1.Enabled = False
Else
ProgressBar1.Value = ProgressBar1.Value + 1

End If
End Sub

Private Sub Label1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Label1.Click
Label1.Text = "Password"
End Sub

Private Sub RichTextBox1_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles RichTextBox1.TextChanged
If RichTextBox1.Text = "Password succesful"
Else
RichTextBox1.Text = "Password error"
End If
End Sub
End Class
Afficher la suite 

20/27 réponses

Messages postés
21042
Date d'inscription
jeudi 23 janvier 2003
Statut
Modérateur
Dernière intervention
21 août 2019
13
0
Merci
Ce doit etre une suite d'octets qui doit servir de dico pour un brutforce mais ce n'est pas un prog.

Il est clair que ce n'est pas avec la daube interprétée que tu montre dessous que tu apprendras à coder.

ciao...
Commenter la réponse de BruNews
Messages postés
3797
Date d'inscription
dimanche 12 décembre 2004
Statut
Modérateur
Dernière intervention
8 novembre 2019
90
0
Merci
Bonjour.

Je pense, au vu du code, que tu t'es trompé de section. Je déplace de "C/C++" vers "VB.Net"

Il est clair que ce n'est pas avec la daube interprétée que tu montre dessous que tu apprendras à coder.

No comment... (Pour info, on ne dit pas "c'est de la merde" mais "je n'aime pas").

________________________________________________________________________
Historique de mes créations, et quelques articles:
[ http://0217021.free.fr/portfolio http://0217021.free.fr/portfolio]
Merci d'utiliser Réponse acceptée si un post répond à votre question
Commenter la réponse de cptpingu
Messages postés
18039
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
214
0
Merci
Bonjour,
Ce que je n"'aime pas, en ce qui me concerne personnellement, c'est le but recherché lui-même (recherche d'un mot de passe en "brute force")


________________________
Réponse exacte ? => "REPONSE ACCEPTEE" facilitera les recherches.
Pas d'aide en ligne installée ? => ne comptez pas sur moi pour simplement répéter son contenu. Je n'interviendrai que si nécessité de la compléter.
Commenter la réponse de ucfoutu
0
Merci
voici mon code ou sa ce bloque:
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
Timer1.Enabled = True
End Sub
Function GenerateRandomString(ByRef length As Integer) As String
Randomize()
Dim allowableChars As String
allowableChars = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789#$%&'()*+,-./:;<=>?@[\]^_`{|}~"

Dim i As Integer
For i = 1 To length

Next
GenerateRandomString = GenerateRandomString & Mid$(allowableChars, Int(Rnd() * Len(allowableChars) + 1), 1)
End Function

Comment générer un mot de passe aléatoire plus rapide ?
Commenter la réponse de zorro5959
Messages postés
18039
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
214
0
Merci
Jamais vu de ma vie un tel paradoxe entre l'ambition (que je conteste) du but recherché et la pauvreté des connaissances de base. On se demande même ce qu'est cette boucle non exploitée !


________________________
Réponse exacte ? => "REPONSE ACCEPTEE" facilitera les recherches.
Pas d'aide en ligne installée ? => ne comptez pas sur moi pour simplement répéter son contenu. Je n'interviendrai que si nécessité de la compléter.
Commenter la réponse de ucfoutu
Messages postés
2117
Date d'inscription
lundi 11 avril 2005
Statut
Membre
Dernière intervention
14 mars 2016
7
0
Merci
Bonjour Zorro,

Avec un tel nom, j'espère que tu veux défendre une cause noble ?

Bon, déjà, tu utilises presque exclusivement des fonctions du bon vieux VB6 dans VB.NET... c'est possible, mais très mauvais en terme de performance. Et comme tu veux aller le vite possible... Tu as déjà tout faux.
Ensuite la ligne qui se trouve après le Next, me semblerais mieux dans la boucle... Mais, de toute façon, elle est incohérente pour le but recherché. Et pis, j'en passe...

Voici la fonction en vb.net qui pourrait répondre à ton attente :

Met un bouton et un label dans la form1 avec le code suivant :
    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        Label1.Text = GenerateRandomString(10).ToString
    End Sub


Dans un module :

 Function GenerateRandomString(ByVal LongueurPasse As Integer) As String

        ' Dico
        Dim allowableChars As String
        allowableChars = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789#$%&'()*+,-./:;<=>?@[\]^_`{|}~"

        ' Initialisations
        GenerateRandomString = ""
        Dim max As Integer = allowableChars.Length
        Dim NbAleatoire As Integer
        Dim rnd As System.Random = New System.Random
        Dim t As Integer

        ' Boucle de formation du passe
        For t = 1 To LongueurPasse
            NbAleatoire = rnd.Next(0, max)
            GenerateRandomString = GenerateRandomString & allowableChars.Substring(NbAleatoire, 1)
        Next

    End Function


Amicalement,
Us.
Commenter la réponse de us_30
Messages postés
18039
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
214
0
Merci
Bonjour, us_30,
j'espère que tu veux défendre une cause noble

Tu parles !
Relis :
Comment générer un mot de passe aléatoire plus rapide ?

pour un seul : comme l'éclair.
Une moulinette sur un très grand nombre : évidemment lent.
Réfléchis maintenant : à quel "but noble" pourrait répondre la mise en oeuvre d'une moulinette, sinon à chercher à violer un mot de passe (en essais successifs jusqu'au bon) ? )
Tu as été "gentil" de lui dire où (dans sa boucle) devait être calculé un mot de passe.
Pas grave car je sais que cela ne le mènera heureusement pas bien loin.

________________________
Réponse exacte ? => "REPONSE ACCEPTEE" facilitera les recherches.
Pas d'aide en ligne installée ? => ne comptez pas sur moi pour simplement répéter son contenu. Je n'interviendrai que si nécessité de la compléter.
Commenter la réponse de ucfoutu
Messages postés
2117
Date d'inscription
lundi 11 avril 2005
Statut
Membre
Dernière intervention
14 mars 2016
7
0
Merci
Bonsoir ucfoutu,

Pas grave car je sais que cela ne le mènera heureusement pas bien loin.
Donc pas d’inquiétude !

"le mènera heureusement pas bien loin"; Si... enfin, peut-être... à apprendre à programmer. Cet intérêt de casser un mot de passe est une motivation comme une autre. Quand il en connaîtra plus, il fera autre chose... J'aurai dû m'appeler Zorro pour ce noble but.

Amicalement,
Us.
Commenter la réponse de us_30
Messages postés
18039
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
214
0
Merci
Tu crois vraiment ce que tu dis ?
Bon ... on va bien voir


________________________
Réponse exacte ? => "REPONSE ACCEPTEE" facilitera les recherches.
Pas d'aide en ligne installée ? => ne comptez pas sur moi pour simplement répéter son contenu. Je n'interviendrai que si nécessité de la compléter.
Commenter la réponse de ucfoutu
Messages postés
2117
Date d'inscription
lundi 11 avril 2005
Statut
Membre
Dernière intervention
14 mars 2016
7
0
Merci
Si à chaque fois que tu débutes dans une nouvelles recherche ou activité, tu te fait rembarrer; penses-tu que tu aurais poursuivi ? Je connais la réponse sincère : non ! Heureusement que Zorro est là pour veiller au grain
Mais maintenant, continuera-t-il sur VBF ? je ne suis plus aussi sûr...

Amicalement,
Us.
Commenter la réponse de us_30
Messages postés
3251
Date d'inscription
jeudi 26 novembre 2009
Statut
Membre
Dernière intervention
16 octobre 2019
46
0
Merci
Salut Ucfoutu

violer un mot de passe
un peu comme Robin des bois
Hacker Wood
Commenter la réponse de cs_ShayW
0
Merci
    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        Label1.Text = GenerateRandomString(10).ToString
    End Sub

Dans un module :

Code Visual Basic :

 Function GenerateRandomString(ByVal LongueurPasse As Integer) As String

        ' Dico
        Dim allowableChars As String
        allowableChars = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789#$%&'()*+,-./:;<=>?@[\]^_`{|}~"

        ' Initialisations
        GenerateRandomString = ""
        Dim max As Integer = allowableChars.Length
        Dim NbAleatoire As Integer
        Dim rnd As System.Random = New System.Random
        Dim t As Integer

        ' Boucle de formation du passe
        For t = 1 To LongueurPasse
            NbAleatoire = rnd.Next(0, max)
            GenerateRandomString = GenerateRandomString & allowableChars.Substring(NbAleatoire, 1)
        Next

    End Function



salut US_30 ,j'ai essayer les codes que tu m'a donner, je te remercie.mais voila,il y a un petit probleme a la fin
rien qui s'affiche dans
Private Sub RichTextBox1_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles RichTextBox1.TextChanged
        If RichTextBox1.Text = True Then
        End If
Commenter la réponse de zorro5959
Messages postés
18039
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
214
0
Merci
Sois patient.
us_30 ne manquera pas de tout faire à ta place, puisque c'est ainsi que tu "comprends" ce que tu "fais".


________________________
Réponse exacte ? => "REPONSE ACCEPTEE" facilitera les recherches.
Pas d'aide en ligne installée ? => ne comptez pas sur moi pour simplement répéter son contenu. Je n'interviendrai que si nécessité de la compléter.
Commenter la réponse de ucfoutu
Messages postés
18039
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
214
0
Merci
En attendant son aide, je te demande de calculer, par exemple, 12! (factorielle 12). C'est le nombre d'"essais" qu'il te faudra faire pour un mot de passe de 12 caractères.
Je te demande également de réfléchir à l'éventualité, que tu n'as pas prévue, de caractères accentués (entre autres).


________________________
Réponse exacte ? => "REPONSE ACCEPTEE" facilitera les recherches.
Pas d'aide en ligne installée ? => ne comptez pas sur moi pour simplement répéter son contenu. Je n'interviendrai que si nécessité de la compléter.
Commenter la réponse de ucfoutu
Messages postés
18039
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
214
0
Merci
Pardon.
Qu'ai-je dit ? Ce n'est pas factorielle 12 (qui ne serait exact que si 12 caractères à mettre dans le bon ordre choisis parmi 12 connus) mais bien plus (beaucoup beaucoup beaucoup plus : autant de fois factorielle 12 qu'il y a de groupes possible de 12 caractères parmi le nombre de caractères mis dans la variable allowableChars)


________________________
Réponse exacte ? => "REPONSE ACCEPTEE" facilitera les recherches.
Pas d'aide en ligne installée ? => ne comptez pas sur moi pour simplement répéter son contenu. Je n'interviendrai que si nécessité de la compléter.
Commenter la réponse de ucfoutu
0
Merci
desolee ucfoutu,mais je suis pas un expert dans visuel basic.Mais je commence a comprendre comment on fait un logiciel par rapport au code. un generateur de code, j'ai le faire,Mais je voudrais un generateur de code qui recherche le mot de passe de 1 a 16 avec ceci:
"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789#$%&'()*+,-./:;<=>?@[\]^_`{|}~"

voila ce que je demande. Merci
Commenter la réponse de zorro5959
Messages postés
18039
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
214
0
Merci
je voudrais un generateur de code qui recherche le mot de passe de 1 a 16 avec ceci:

relis-moi et "espère" ... longtemps ... très longtemps ...
Non mais !!!!! Et puis quoi, encore ?
Adieu.
________________________
Réponse exacte ? => "REPONSE ACCEPTEE" facilitera les recherches.
Pas d'aide en ligne installée ? => ne comptez pas sur moi pour simplement répéter son contenu. Je n'interviendrai que si nécessité de la compléter.
Commenter la réponse de ucfoutu
Messages postés
18039
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
214
0
Merci
Pour tout dire : je ne comprends même pas comment une telle discussion peut être autorisée, pour une telle demande, qui, de surcroît, semble être la seule motivation d'un "intéressement" au développement, intéressement non accompagné (ni pour un sol péruvien) de la moindre connaissance..
C'est tout simplement désastreux.
A toi de jouer, us_30. Moi, je me "barre" vite fait bien fait.

________________________
Réponse exacte ? => "REPONSE ACCEPTEE" facilitera les recherches.
Pas d'aide en ligne installée ? => ne comptez pas sur moi pour simplement répéter son contenu. Je n'interviendrai que si nécessité de la compléter.
Commenter la réponse de ucfoutu
Messages postés
2117
Date d'inscription
lundi 11 avril 2005
Statut
Membre
Dernière intervention
14 mars 2016
7
0
Merci
Bonsoir,

Bon, là, Zorro... c'est vrai que tu devrais apprendre les bases avant... sinon, tu n'iras pas loin comme ça.

Dans le bouton, met donc :
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        RichTextBox1.Text = GenerateRandomString(10).ToString
End Sub


enfin, là, normalement, c'est à toi de savoir faire ça.

=> bon, ensuite, comme le signale l'UC Foutu, si mes qlq lignes sont justes, elles répondent à ta première demande. Or, ton idée d'utiliser l'algorithme de "force brute aléatoire" est généralement toujours inefficace dès que le passe augmente.
Ici, juste en cas de non répétition (ce qui n'est pas le cas ici), le nombre de test à effectuer vaut une combinaison de C(92,16) = 315 297 189 498 738 447 ... C'est colossale ! C'est donc le nombre minimum de test à effectuer... En gros, si tu veux le faire, ben, en se redonne rendez-vous dans un siècle ! d'ac !

Amicalement,
Us.
Commenter la réponse de us_30
Commenter la réponse de zorro5959