Hi Leut's,
ich weiß, ich machs mir ziemlich einfach euch den fehler in meinem Programm suchen zu lassen. Doch ich kann da partout keinen Fehler drin finden, meiner Ansicht nach müsste das so funktionieren...
Also, Ziel des Programms ist es ein eingegebenes Passwort durch einen BruteForce algorithmus zu knacken. Ich gebe das Passwort ein und drücke auf einen Button und dann sollen hübsch der reihe nach sämtliche Möglichkeiten durchgelaufen werden bis das Passwort herausgefunden wurde. Nebenbei sollen in nem Textfeld, bzw. in nem Textbereich alle durchgelaufenen Varianten angezeigt werden. Zum Schluss soll dann unten angezeigt werden wie das Passwort war. Ich hoffe ihr bezichtigt mich jetzt dadurch nicht jemand zu sein der sich vorgenommen hat nen Hacker zu werden. Geht mir einfach nur drum das mal programmiert zu haben, nur als Lerneffekt.
Fehler ist folgender:
Wenn ich z.B. ein a eingebe, dann sagt er mir dass das Passwort geknackt wurde und dass es a lautet. OK, lediglich im Textfeld wird nix angezeigt, aber ok.
Wenn ich einen einzelnen anderen Buchstabe eingebe, also b bis z, dann sagt er mir dass Passwort lautet a, und mir wird im Textfeld der buchstabe angezeigt den ich eingegeben habe. Gebe ich mehr als einen Buchstaben ein, dann gerät er scheinbar in ne endlosschleife. Zumindest habe ich das Programm schon über ne Stunde werkeln lassen und nix tat sich, also habe aber gesehen dass gearbeitet wurde, die CPU Auslastung ging auf 100%. Wenn ich z.B. aa eingebe, dann sagt er mir dass pw sei aa. Selbes wenn ich sehr viele a eingebe. Die kriegt er komischerweise sehr fix raus.
Hoffe das hilft euch den Fehler zu finden.
OK, hier ist der Code.
Schaut mal drüber wenn ihr Zeit habt, vllt. findet ihr ja sogar nen Ansatz.
Danke im voraus.
ich weiß, ich machs mir ziemlich einfach euch den fehler in meinem Programm suchen zu lassen. Doch ich kann da partout keinen Fehler drin finden, meiner Ansicht nach müsste das so funktionieren...
Also, Ziel des Programms ist es ein eingegebenes Passwort durch einen BruteForce algorithmus zu knacken. Ich gebe das Passwort ein und drücke auf einen Button und dann sollen hübsch der reihe nach sämtliche Möglichkeiten durchgelaufen werden bis das Passwort herausgefunden wurde. Nebenbei sollen in nem Textfeld, bzw. in nem Textbereich alle durchgelaufenen Varianten angezeigt werden. Zum Schluss soll dann unten angezeigt werden wie das Passwort war. Ich hoffe ihr bezichtigt mich jetzt dadurch nicht jemand zu sein der sich vorgenommen hat nen Hacker zu werden. Geht mir einfach nur drum das mal programmiert zu haben, nur als Lerneffekt.
Fehler ist folgender:
Wenn ich z.B. ein a eingebe, dann sagt er mir dass das Passwort geknackt wurde und dass es a lautet. OK, lediglich im Textfeld wird nix angezeigt, aber ok.
Wenn ich einen einzelnen anderen Buchstabe eingebe, also b bis z, dann sagt er mir dass Passwort lautet a, und mir wird im Textfeld der buchstabe angezeigt den ich eingegeben habe. Gebe ich mehr als einen Buchstaben ein, dann gerät er scheinbar in ne endlosschleife. Zumindest habe ich das Programm schon über ne Stunde werkeln lassen und nix tat sich, also habe aber gesehen dass gearbeitet wurde, die CPU Auslastung ging auf 100%. Wenn ich z.B. aa eingebe, dann sagt er mir dass pw sei aa. Selbes wenn ich sehr viele a eingebe. Die kriegt er komischerweise sehr fix raus.
Hoffe das hilft euch den Fehler zu finden.
OK, hier ist der Code.
Java:
String password = "";
boolean isHacked = false;
int zaehler = 0;
//===================================
password = Field_pwd.getText();
//===================================
//==============================
while (isHacked == false) {
zaehler++;
char[] temp = new char[zaehler];
for (int i = 0; i < zaehler; i++) {
temp[i] = 'a';
}
String hackedPassword = new String(temp);
isHacked = checkPWD(password, hackedPassword);
if (isHacked == true) {
jLabel1.setText("Das Passwort wurde geknackt, es lautet: " + hackedPassword);
} else {
jLabel1.setText("In Arbeit..");
for (int i = 0; i < zaehler; i++) {
for (int k = 32; k < 123; k++) {
temp[i] = (char) k;
String hackedPasswordTemp = new String(temp);
Field_hacked.setText(""+hackedPasswordTemp);
isHacked = checkPWD(password, hackedPasswordTemp);
if (isHacked == true) {
k = 150;
i = 999;
jLabel1.setText("Das Passwort wurde geknackt, es lautet: " + hackedPassword);
}
}
}
}
}
//================================
}
public static boolean checkPWD(String password, String hackedPassword) {
boolean isHacked = false;
if (hackedPassword.equals(password)) {
isHacked = true;
} else {
isHacked = false;
}
return isHacked;
}
Schaut mal drüber wenn ihr Zeit habt, vllt. findet ihr ja sogar nen Ansatz.
Danke im voraus.