[ Brute Force ] Programm -> Fehler
-
Hallo ich habe folgendes Problem:
Ich programmiere grade an einem Programm was ein 4 stelliges Passwort
knacken soll ( Brute Force )!hier die Quelle:
#include <iostream> #include <windows.h> using namespace std; char dazu(char ch,char key){ return ch+key; } int main(){ HWND hWin; char channel[100]=""; char password[10]=""; char befehl[150]=""; char ch; WPARAM wParam; LPARAM lParam; cout<<"\nDas Password (von hier wird alles ausprobiert z.B. aaaa ): "; cin>>password; int b=0; int i=1; for(i=0;;i++){ for(i=0;;i++){ for(i=0;;i++){ for(i=0;;i++){ b=3; ch=password[b]; ch=dazu(ch,1); password[b]=ch; if(i==255){ i=0;break; } } b=2; ch=password[b]; ch=dazu(ch,1); password[b]=ch; if(i==255){ i=0;break; } } b=1; ch=password[b]; ch=dazu(ch,1); password[b]=ch; cout<<password<<endl; if(i==255){ i=0;break; } } b=0; ch=password[b]; ch=dazu(ch,1); password[b]=ch; cout<<password<<endl; Sleep(20); if(i==255){ i=0;break; } } system("PAUSE"); return 0; }
Irgentwas stimmt hier aber nicht denn er rackert nur die letzten beiden Schleifen durch
Vorher hatte ich es mit einer While - Schleife und if´s ging aber nicht is abgestürzt
Sieht jemand den Fehler oder kann Tipps geben ?
Wenn ich in jedem Schleifendurchlauf das passwort Ausgebe dann kommt sehr schnell so ein *piepen* vieleicht weil zu viele Zeilen ausgegeben werden ??
Bin ein Anfänger-noob bitte um Hilfe
mfg GeCh.
-
Du hast vier ineinander verschachtelte for-Schleifen und verwendest für alle die selbe Zählvariable - da KANN nicht gut gehen.
-
Cool Danke jetz funktionierts jetz probiert er alle Möglichkeiten aus! danke
Aber ich hätte gerne das er von alleine rausfindet wie lang das Passwort
ist bzw. er nach und nach Schleifen anhängt ?!! Also er probiert es aus aber er weiß nicht wie lang es ist !! ??
-
Da dürfte Rekursion der richtige Ansatz sein:
void teste(string pw,int max_len) { if(pw.length()==max_len) ausgabe; else for(char i=0;i<256;++i) teste(pw+i,max_len); }