Πρόβλημα με Brute Force

Συζητήσεις για την Java

Συντονιστές: WebDev Moderators, Super-Moderators

Άβαταρ μέλους
virxen75
Δημοσιεύσεις: 493
Εγγραφή: 18 Φεβ 2009 00:17
Τοποθεσία: ΗΡΑΚΛΕΙΟ ΚΡΗΤΗΣ

Πρόβλημα με Brute Force

Δημοσίευση από virxen75 » 21 Σεπ 2010 01:45

mortis1572 έγραψε: Και σε ένα πιο παλιό post ήθελα να σε ρωτήσω κάτι.
if (ChoiceS.charAt(j)=='1' && !numbersCompleted){
for (int i=0;i<numbers.length;i++)
temp[current++]=numbers;
numbersCompleted=true;
}else if (ChoiceS.charAt(j)=='A' && !upperCompleted){
for (int i=0;i<upper.length;i++)
temp[current++]=upper;
upperCompleted=true;
}else if (ChoiceS.charAt(j)=='a' && !lowerCompleted){
for (int i=0;i<lower.length;i++)
temp[current++]=lower;
lowerCompleted=true;
}

Το
numbersCompleted
,
upperCompleted
,
lowerCompleted
τη ακριβώς κάνει,
Γιατί δεν το κατάλαβα.'Οταν αφαίρεσα εντελώς τις συγκεκριμένες λογικες μεταβλητές πάλι έπαιρνα τα ίδια αποτελέσματα χωρίς κάποιο σφάλμα.
Μπορείς να μου το διευκρινίσεις?


είναι απλό,αποφεύγεις τις διπλοεγγραφές.
αυτό που δοκίμασες αφαιρώντας τα δούλεψε γιατί δεν είχες σαν input τον λόγο ύπαρξης τους.Αν π.χ. έβαζες σαν input το 11 θα έπαιρνες 2 φορές τους αριθμούς σαν στοιχεία του
νέου πίνακα.

Άβαταρ μέλους
virxen75
Δημοσιεύσεις: 493
Εγγραφή: 18 Φεβ 2009 00:17
Τοποθεσία: ΗΡΑΚΛΕΙΟ ΚΡΗΤΗΣ

Πρόβλημα με Brute Force

Δημοσίευση από virxen75 » 21 Σεπ 2010 03:33

και μία ερώτηση.

με τον κώδικα που έχεις ήδη,αν το zip αρχείο έχει 100 αρχεία και ψάξει το
password από ένα λεξικό (που δεν έχει μέσα το password) με 1000 λέξεις
τι θα συμβει?

μήπως χρειάζεται κάποια αλλαγή?
δες το και αν δεν το βρεις πες μου
να σου πω τι και πως.

mortis1572
Δημοσιεύσεις: 33
Εγγραφή: 13 Ιουν 2010 20:44

Πρόβλημα με Brute Force

Δημοσίευση από mortis1572 » 21 Σεπ 2010 22:15

'Εκανα μια δοκιμή εκεί που τελειώνει ο έλεγχος της
if (entry.isProbablyCorrectPassword(foundWord))
να βάλω else έτσι ώστε αν δεν το βρει ο κωδικό δεν υπάρχει , αλλά δεν δούλεψε σωστά.
Μετά δοκίμασα να βάλω IOException αλλά το αποτέλεσμα που πήρα δεν ήταν αυτο που περίμενα.Μετά κατάλαβα ότι αν δεν βρει τον κωδικό δεν πρέπει να βγάλει exception γιατί δεν δημιουργείται κανένα πρόβλημα.
Αυτό που ήλπιζα να βγει σαν αποτέλεσμα δεν κατάφερα να το κάνω.

Άβαταρ μέλους
virxen75
Δημοσιεύσεις: 493
Εγγραφή: 18 Φεβ 2009 00:17
Τοποθεσία: ΗΡΑΚΛΕΙΟ ΚΡΗΤΗΣ

Πρόβλημα με Brute Force

Δημοσίευση από virxen75 » 22 Σεπ 2010 00:17

mortis1572 έγραψε:'Εκανα μια δοκιμή εκεί που τελειώνει ο έλεγχος της
if (entry.isProbablyCorrectPassword(foundWord))
να βάλω else έτσι ώστε αν δεν το βρει ο κωδικό δεν υπάρχει , αλλά δεν δούλεψε σωστά.
Μετά δοκίμασα να βάλω IOException αλλά το αποτέλεσμα που πήρα δεν ήταν αυτο που περίμενα.Μετά κατάλαβα ότι αν δεν βρει τον κωδικό δεν πρέπει να βγάλει exception γιατί δεν δημιουργείται κανένα πρόβλημα.
Αυτό που ήλπιζα να βγει σαν αποτέλεσμα δεν κατάφερα να το κάνω.
το αν βρήκε τον κωδικό ή όχι ελέγχεται από την boolean μεταβλητή ok.

mortis1572
Δημοσιεύσεις: 33
Εγγραφή: 13 Ιουν 2010 20:44

Πρόβλημα με Brute Force

Δημοσίευση από mortis1572 » 22 Σεπ 2010 22:56

και μία ερώτηση.

με τον κώδικα που έχεις ήδη,αν το zip αρχείο έχει 100 αρχεία και ψάξει το
password από ένα λεξικό (που δεν έχει μέσα το password) με 1000 λέξεις
τι θα συμβει?

μήπως χρειάζεται κάποια αλλαγή?
δες το και αν δεν το βρεις πες μου
να σου πω τι και πως.
Δημιούργησα ένα zip αρχείο με άλλα 2 αρχεία όπου τελικά δεν βρέθηκε ο κωδικός.
Αυτό που πήρα σαν αποτέλεσμα ήταν:
Finally the password is: null
Κανονικά πρέπει να μου βγάζει κάποιο άλλο μύνημα εκτός από αυτό?

Άβαταρ μέλους
virxen75
Δημοσιεύσεις: 493
Εγγραφή: 18 Φεβ 2009 00:17
Τοποθεσία: ΗΡΑΚΛΕΙΟ ΚΡΗΤΗΣ

Πρόβλημα με Brute Force

Δημοσίευση από virxen75 » 23 Σεπ 2010 00:34

Κώδικας: Επιλογή όλων

........
while &#40;&#40;entry = r.nextEntry&#40;&#41;&#41;!= null && ok!=false&#41;&#123;//<----συνθήκη τερματισμού 
.......
το while θα τελειώσει αν
α)βρει το password
β)ψάξει όλα τα αρχεία του zip και δεν βρει το password

δηλαδή αν έχεις ένα αρχείο zip με 10000 αρχεία όλα συμπιεσμένα με το ίδιο password
αντί να ψάξει μία φορά το λεξικό θα το ψάξει 10000 φορές όσα και τα αρχεία του zip.

mortis1572
Δημοσιεύσεις: 33
Εγγραφή: 13 Ιουν 2010 20:44

Πρόβλημα με Brute Force

Δημοσίευση από mortis1572 » 24 Σεπ 2010 01:05

Αυτό που μου λες αν θα ψάξει το λεξικό μια φορά ή θα το ψάξει τόσες φορές όσες είναι τα αρχεία πως μπορώ να το καταλάβω?
η μόνη διαφορά που παρατήρησα , ότνα εία ένα φάκελο και όταν αρκετούς ήταν ότι αργούσε να τελειώσει το πρόγραμμα κάποια δευτερόλεπτα παραπάνω.
Συγγνώμη αν γίνομαι κουραστικός και δεν καταλαβαίνω τι μου λες.

Άβαταρ μέλους
virxen75
Δημοσιεύσεις: 493
Εγγραφή: 18 Φεβ 2009 00:17
Τοποθεσία: ΗΡΑΚΛΕΙΟ ΚΡΗΤΗΣ

Πρόβλημα με Brute Force

Δημοσίευση από virxen75 » 24 Σεπ 2010 01:36

δες το πιο κάτω Δεδομένου πάντα ότι δεν θα βρει το password στο λεξικό

while ((entry = r.nextEntry())!= null && ok!=false){//<----συνθήκη τερματισμού


τι κάνει το entry = r.nextEntry() ?
παίρνει από το zip αρχείο ένα αρχείο,μετά το επόμενο μέχρι να τελειώσουν όλα τα αρχεία
οπότε το entry = r.nextEntry() θα γίνει null και θα τερματιστεί η επανάληψη

άρα ο βρόγχος while πόσες φορές θα εκτελεστεί?τόσες όσα τα αρχεία του zip.

τι εκτελεί ο βρόγχος?
διαβάζει όλες τις εγγραφές του λεξικού και ελέγχει να δει αν είναι το password.

αν το λεξικό έχει 500 λέξεις θα κάνει 500 ελέγχους.
Αν το zip έχει 100 αρχεία θα κάνει 500 ελέγχους για κάθε αρχείο. 500χ100=50000 ελέγχους.Ενώ θα αρκούσε ο έλεγχος μόνο για το πρώτο αρχείο του zip
αφού έχουν το ίδιο password αν δεν το βρει εκεί δεν θα το βρει ούτε στα υπόλοιπα αρχεία
άρα συνολικά αρκούν 500χ1=500 έλεγχοι passwords.Σημαντική διαφορά δεν βρίσκεις?


για να το καταλάβεις καλύτερα στον κώδικα που είχα στείλει είχα μία println

while ((entry = r.nextEntry())!= null && ok!=false){//<----συνθήκη τερματισμού
System.out.println("started!!!"+entry.getFilename());

πρόσθεσε την και κάνε ένα παράδειγμα με λεξικό χωρίς το σωστό password με zip αρχείο με πάρα πολλά αρχεία

mortis1572
Δημοσιεύσεις: 33
Εγγραφή: 13 Ιουν 2010 20:44

Πρόβλημα με Brute Force

Δημοσίευση από mortis1572 » 25 Σεπ 2010 01:20

Το έκανα αυτό που μου είπες ,εκείνη την σειρά που μου λες να προσθέσω την είχα κανονικά και σαν αποτέλεσμα πήρα αυτό που περίμενα.
Μου διάβασε όλα τα αρχεία που είχε μέσα το zip.Αν είχα υποθετικά 50 αρχεία διάβασε και τα 50 και στο τέλος έβγαλε το μύνημα που έπρεπε.
Finally the password is: null.

Άβαταρ μέλους
virxen75
Δημοσιεύσεις: 493
Εγγραφή: 18 Φεβ 2009 00:17
Τοποθεσία: ΗΡΑΚΛΕΙΟ ΚΡΗΤΗΣ

Πρόβλημα με Brute Force

Δημοσίευση από virxen75 » 25 Σεπ 2010 01:59

αφου το password είναι κοινό και για τα 50 αρχεία γιατί να τα ψάξει όλα?



αυτό που προσπαθώ να σου εξηγήσω είναι ότι αντί while θέλει ένα if

mortis1572
Δημοσιεύσεις: 33
Εγγραφή: 13 Ιουν 2010 20:44

Πρόβλημα με Brute Force

Δημοσίευση από mortis1572 » 27 Σεπ 2010 23:30

Μήπως έχεις να μου προτείνεις κανένα e-book για gui γιατί πρέπει και τους 2 κώδικες να τους βάλω σε ένα gui.
ναι μπορείς η μετατροπή είναι απλή.

GUI:αν σου επιτρέπεται κάντο με το netbeans να τελειώνεις.

αλλιώς π.χ. αυτό
www.wikihow.com/Create-a-Swing-GUI-in-Java

με το google θα βρεις άπειρα tutorials.

αν ζοριστείς κάπου πες μου να σε βοηθήσω.
Κοίταξα το site που μου έδωσες κοίταξα και κάτι tutorial που βρήκα μέσα στη σελίδα της netbeans αλλά δεν κατάλαβα και πολλά.Νόμιζα ότι θα μπορούσα να χρησιμοποιήσω αυτούσιο των κώδικα της java αλλά από ότι είδα δεν γίνεται.
Αυτό που θέλω να κάνω είναι να δημιουργήσω ένα κουμπί όπου θα διαλέγει το zip αρχείο , κάποια check boxes όπου ο χρήστης θα διαλέγει ανάμεσα σε brute force & dictionary , ανάμεσα σε μικρά-μεγάλα γράμμτα λαι αριθμούς και ένα κουμπί που θα τα τρέχει.
Αν μπορείς να με βοηθήσεις με κάποιο άλλον οδηγό ή κάτι άλλο ώστε να τα καταλάβω καλύτερα.

Άβαταρ μέλους
virxen75
Δημοσιεύσεις: 493
Εγγραφή: 18 Φεβ 2009 00:17
Τοποθεσία: ΗΡΑΚΛΕΙΟ ΚΡΗΤΗΣ

Πρόβλημα με Brute Force

Δημοσίευση από virxen75 » 28 Σεπ 2010 00:05

netbeans ή απλή java θέλεις να χρησιμοποιήσεις για να σου τι να κάνεις.

σε απλή java δημιουργία παραθύρου εφαρμογής

Κώδικας: Επιλογή όλων

import javax.swing.*;//βιβλιοθήκες για το GUI της java
import java.awt.event.*;//βιβλιοθήκες για γεγονότα π.χ. πάτημα κουμπιού

public class GuiZipApp extends JFrame&#123;//δηλώνουμε ότι η κλάση μας θα είναι ουσιαστικά ένα παράθυρο

public GuiZipApp&#40;&#41;&#123;
	setTitle&#40;"Zip brute force application ver 1.00"&#41;;//δίνουμε τίτλο στο παράθυρο της εφαρμογής μας
	setDefaultCloseOperation&#40;EXIT_ON_CLOSE&#41;;//τι θα γίνει όταν πατήσω στο χ της φόρμας?θα τερματίσω το πρόγραμμα
	setSize&#40;600,400&#41;;//ορίζω το μέγεθος παραθύρου πλάτος-ύψος σε pixels
	setVisible&#40;true&#41;;//εμφανίζω την φόρμα μου στην οθόνη
&#125;

public static void main&#40;String &#91;&#93;args&#41;&#123;
	new GuiZipApp&#40;&#41;;
&#125;
&#125;
Υ.Γ. στείλε και μία φώτο της εφαρμογής σου(πως θα ήθελες να εμφανίζεται)
σχεδίασε το σε χαρτί σκάναρε το και στείλε το να σου δώσω πιο αναλυτικές
πληροφορίες.

Άβαταρ μέλους
virxen75
Δημοσιεύσεις: 493
Εγγραφή: 18 Φεβ 2009 00:17
Τοποθεσία: ΗΡΑΚΛΕΙΟ ΚΡΗΤΗΣ

Πρόβλημα με Brute Force

Δημοσίευση από virxen75 » 28 Σεπ 2010 00:21

mortis1572 έγραψε:κάποια check boxes όπου ο χρήστης θα διαλέγει ανάμεσα σε brute force & dictionary
radio button θες επειδή ο χρήστης μπορεί να διαλέξει ή το Α ή το Β όχι και τα 2 μαζί.

Άβαταρ μέλους
virxen75
Δημοσιεύσεις: 493
Εγγραφή: 18 Φεβ 2009 00:17
Τοποθεσία: ΗΡΑΚΛΕΙΟ ΚΡΗΤΗΣ

Πρόβλημα με Brute Force

Δημοσίευση από virxen75 » 28 Σεπ 2010 00:24

mortis1572 έγραψε:Νόμιζα ότι θα μπορούσα να χρησιμοποιήσω αυτούσιο των κώδικα της java αλλά από ότι είδα δεν γίνεται.
γίνεται αλλά θέλει τα output από την κονσόλα και τα input να γίνονται πλέον από το
παράθυρο.

mortis1572
Δημοσιεύσεις: 33
Εγγραφή: 13 Ιουν 2010 20:44

Πρόβλημα με Brute Force

Δημοσίευση από mortis1572 » 29 Σεπ 2010 01:34

Με netbeans θέλω να το κάνω μου φαίνεται ποιο εύκολο στον σχεδιασμό.
Αλλά το θέμα είναι τι ακριβώς πρέπει να γράψω στο κάθε κουμπί για να τρέχει την ανάλογη εντολή.
Συνημμένα
guizip.JPG

Απάντηση

Επιστροφή στο “Java”

Μέλη σε σύνδεση

Μέλη σε αυτήν τη Δ. Συζήτηση: Δεν υπάρχουν εγγεγραμμένα μέλη και 0 επισκέπτες