Witam.
Napisałem aplkację generującą hasła i odkodowujące plik 7Zip z hasłem. Plik jest moja własnością.
Deklaracj tablic znaków
#Region "Tablice"
'Private Znak() As String = {"a", "A", "c", "C", "d", "D", "e", "E", "f", "F", "h", "H", "i", "I", "k", "K", "l", "L", "m", "M", "o", "O", "r", "R", "u", "U", "x", "X", "y", "Y", "Z", "Z", "0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "-", "!", "#", "$", "%", "&", "(", ")", "*", "@", "^", "_", "<", ">"}
'Private Znak() As String = {"E", "f", "F", "h", "H", "i", "I", "a", "A", "c", "C", "d", "D", "e", "k", "K", "l", "L", "m", "M", "o", "O", "r", "R", "u", "U", "x", "X", "y", "Y", "Z", "Z", "0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "-", "!", "#", "$", "%", "&", "(", ")", "*", "@", "^", "_", "<", ">"}
Private Znak() As String = {"F", "Z", "0", "a", "A", "c", "C", "!", "d", "D", "e", "E", "f", "F", "h", "H", "i", "I", "k", "K", "l", "L", "m", "M", "o", "O", "r", "R", "u", "U", "x", "X", "y", "Y", "Z", "Z", "0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "-", "#", "$", "%", "&", "(", ")", "*", "@", "^", "_", "<", ">"}
#End Region
Uruchomenie procedury generowania haseł przyciskiem na formie
Private Sub bt_Odszukaj_Click(sender As Object, e As EventArgs) Handles bt_Odszukaj.Click
lbl_Początek.Text = Now
lbl_Początek.Refresh()
CzasP = Now
GeneratorHaseł4()
MsgBox(AktualneHasło)
Me.Close()
End Sub
Procedura generowania haseł
Private Sub GeneratorHaseł4()
lbl_Początek.Text = Now
For z1 = 0 To 55
For z2 = 0 To 55
For z3 = 0 To 55
For z4 = 0 To 55
AktualneHasło = Znak(z1) & Znak(z2) & Znak(z3) & Znak(z4)
Dekompresja_AES256()
Licznik += 1
If Licznik Mod 10 = 0 Then
CzasK = Now
CzasPracy = DateDiff(DateInterval.Second, CzasP, CzasK)
lbl_Średnia.Text = Licznik / CzasPracy
lbl_Średnia.Refresh()
lbl_Info.Text = "Wykonano " & Licznik & " haseł"
lbl_Info.Refresh()
End If
If Licznik Mod 100 = 0 Then
lbl_Koniec.Text = Now
lbl_Koniec.Refresh()
End If
If Wynik Then Exit Sub
Next
Next
Next
Next
End Sub
Procedura odkodowania pliku 7Zip
Private Sub Dekompresja_AES256()
Try
Archiwum = New SevenZipArchive(t, AktualneHasło)
Archiwum.ExtractToDirectory("C:\Users\Marek\Desktop\Test 7ZIP\bin\Debug\net6.0-windows\Praca\TestZip_22")
Wynik = True
Catch ex As Exception
End Try
End Sub
Problem polega na tym, że w zależności od zdefniowanej tablcy znaków program generuję błąd pustej referencji przy różnym, zle takim samym dla tablicy stanie licznika

Stan licznika przy różnych tablicah
1
!
2

3

Generalnie procedura jest skuteczna i została sprawdzona na plikach dla których znałem hasło do 7Zip.
Z góry dziękuję za pomoc
Marek