Aide concernant la comprehension d'une fonction récursive

Ruz - Modifié par Ruz le 24/05/2014 à 20:43
yann_lo_san Messages postés 1137 Date d'inscription lundi 17 novembre 2003 Statut Membre Dernière intervention 23 janvier 2016 - 26 mai 2014 à 23:03
Bonjour, j'avais trouvé le script d'un bruteforce sur le net récemment, je me suis creusé la tête plusieures heures et rien n'y fait, je n'arrive pas a comprendre la logique derrière.

Voici le script:
(On admet un form "Main", un bouton "Button", une textbox "Textbox")

Public Class Main

    Const dico As String = "abcdefghijklmnopqrstuvwxyz"

    Private Sub Button_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button.Click
        Dim t As Integer
        t = 1

        While True
            AllKey("", t)
            t += 1
        End While
    End Sub

    Private Sub AllKey(ByVal Pass As String, ByVal Lg As Integer)

        Dim i As Integer
        If Pass.Length < Lg Then
            For i = 0 To dico.Length - 1
                AllKey(Pass & dico.Substring(i, 1), Lg)
            Next i
        Else
            TextBox.Text = Pass
            Application.DoEvents()
        End If

    End Sub

End Class


J'ai compris que si l'on modifie la valeur de t, le bruteforce commencera avec t caractères.

Merci beaucoup à ceux qui peuvent m'éclaircir, bonne soirée :)

2 réponses

NHenry Messages postés 15113 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 22 avril 2024 159
25 mai 2014 à 00:17
A la place de sortir sur une TextBox, sort sur un fichier : IO.File.AppendLines
Tu verras mieux ce que ça fait.
0
yann_lo_san Messages postés 1137 Date d'inscription lundi 17 novembre 2003 Statut Membre Dernière intervention 23 janvier 2016 26
26 mai 2014 à 23:03
Salut,

vu que c'est exponentiel,
voici un exemple avec un dictionnaire valant "abcd"

Recurs 001 a
Recurs 001 b
Recurs 001 c
Recurs 002 aa
Recurs 002 ab
Recurs 002 ac
Recurs 002 ba
Recurs 002 bb
Recurs 002 bc
Recurs 002 ca
Recurs 002 cb
Recurs 002 cc
Recurs 003 aaa
Recurs 003 aab
Recurs 003 aac
Recurs 003 aba
Recurs 003 abb
Recurs 003 abc
Recurs 003 aca
Recurs 003 acb
Recurs 003 acc
Recurs 003 baa
Recurs 003 bab
Recurs 003 bac
Recurs 003 bba
Recurs 003 bbb
Recurs 003 bbc
Recurs 003 bca
Recurs 003 bcb
Recurs 003 bcc
Recurs 003 caa
Recurs 003 cab
Recurs 003 cac
Recurs 003 cba
Recurs 003 cbb
Recurs 003 cbc
Recurs 003 cca
Recurs 003 ccb
Recurs 003 ccc
Recurs 004 aaaa
Recurs 004 aaab
Recurs 004 aaac
Recurs 004 aaba
Recurs 004 aabb
Recurs 004 aabc
Recurs 004 aaca
Recurs 004 aacb
Recurs 004 aacc
Recurs 004 abaa
Recurs 004 abab
Recurs 004 abac
Recurs 004 abba
Recurs 004 abbb
Recurs 004 abbc
Recurs 004 abca
Recurs 004 abcb
Recurs 004 abcc
Recurs 004 acaa
Recurs 004 acab
Recurs 004 acac
Recurs 004 acba
Recurs 004 acbb
Recurs 004 acbc
Recurs 004 acca
Recurs 004 accb
Recurs 004 accc
Recurs 004 baaa
Recurs 004 baab
Recurs 004 baac
Recurs 004 baba
Recurs 004 babb
Recurs 004 babc
Recurs 004 baca
Recurs 004 bacb
Recurs 004 bacc
Recurs 004 bbaa
Recurs 004 bbab
Recurs 004 bbac
Recurs 004 bbba
Recurs 004 bbbb
Recurs 004 bbbc
Recurs 004 bbca
Recurs 004 bbcb
Recurs 004 bbcc
Recurs 004 bcaa
Recurs 004 bcab
Recurs 004 bcac
Recurs 004 bcba
Recurs 004 bcbb
Recurs 004 bcbc
Recurs 004 bcca
Recurs 004 bccb
Recurs 004 bccc
Recurs 004 caaa
Recurs 004 caab
Recurs 004 caac
Recurs 004 caba
Recurs 004 cabb
Recurs 004 cabc
Recurs 004 caca
Recurs 004 cacb
Recurs 004 cacc
Recurs 004 cbaa
Recurs 004 cbab
Recurs 004 cbac
Recurs 004 cbba
Recurs 004 cbbb
Recurs 004 cbbc
Recurs 004 cbca
Recurs 004 cbcb
Recurs 004 cbcc
Recurs 004 ccaa
Recurs 004 ccab
Recurs 004 ccac
Recurs 004 ccba
Recurs 004 ccbb
Recurs 004 ccbc
Recurs 004 ccca
Recurs 004 cccb
Recurs 004 cccc

bye...
0
Rejoignez-nous