Hackerboard Wiki HaboBlog
Hackerboard bei Facebook Hackerboard bei Google+ Hackerboard bei Twitter

[HaBo]

 
(Web-) Design und webbasierte Sprachen Tipps & Tricks, Designabgleich, HTML & Javascript, Flash, ASP, PHP, Perl/CGI...

Buchstabensalat / Brutforce

Diskussion: Buchstabensalat / Brutforce im Forum (Web-) Design und webbasierte Sprachen, in der Kategorie Web, Network & Multimedia Palace; Anzeige Hi, ich wollte ein Tool schreiben, dass aus einem String mit Buchstabensalat alle möglichen Zeichenketten, die man aus den ...

Antwort
Alt 16.01.06, 23:20   #1 (permalink)
 
Registriert seit: 15.08.03
flame Leistung: Facit NTK
flame eine Nachricht über ICQ schicken
Likes: 0
Standard Buchstabensalat / Brutforce

Anzeige

Hi,

ich wollte ein Tool schreiben, dass aus einem String mit Buchstabensalat alle möglichen Zeichenketten, die man aus den Buchstaben zusammensetzen kann generiert, und in eine Liste schreibt.

Ich hab zwar die Buchstaben schon auf ein array verteilt, aber mir fällt einfach keine logik dahinter ein, die ich einsetzen könnte.

Hat jemand nen Tip?

flame ist offline   Mit Zitat antworten
Alt 17.01.06, 10:37   #2 (permalink)
 
Registriert seit: 16.07.05
benwilliam Leistung: Facit NTK
benwilliam eine Nachricht über ICQ schicken
Likes: 0
Standard

soll das Ergebnis ein sinnvolles Wort sein oder die Buchstaben einfach nur nacheinander gereiht?

wenn es sinnvolle Wörter egeben soll, brauchst du ein Wörterbuch (und das wird schwer) indem schon ganz ganz ganz viele Wörter stehen, die du mit dem Buchstabensalat vergleichst und schaust ob alle Buchstaben aus dem "Salat" auch in irgendeinem (oder mehreren) Wort aus dem Wörterbuch enthalten ist (sind).

wenn es einfach nur eine Aneinanderreihung sein soll:
am besten lässt du den String mit dem Buchstabensalat in ein Char Array umwandeln (also bei java geht das ganz einfach) und jenachdem wie viele Stellen dein Ergebnis String haben soll gehst du alle chars aus deinem Array, für jede Stelle, durch also z.B.
wenn dein Buchstabensalat_Array n Zeichen hat und k Zeichen lang sein soll

Stelle 1: Buchstabensalat_Array[0] bis Buchstabensalat_Array[n]
Stelle 2: Buchstabensalat_Array[0] bis Buchstabensalat_Array[n]
.
.
.
Stelle k: Buchstabensalat_Array[0] bis Buchstabensalat_Array[n]

aber ich denke da bist du bestimmt auch selber draug gekommen :-)

nur das auf die platte schreiben ist so ne sache.
hab auch mal 6 stelleige Strings mit nur klein Buchstaben erzeugen lassen und diese einfach in eine Textdatei schreiben lassen (mit Java) da war ich sehr schnell über 4 GB Dateigröße und habe noch lange nicht alle Stings erzeugt.

wenn du bedenkst:
6(stellen) ^ 26 (buchstaben) = 170581728179578208256 mögliche Strings
das ist ne ganze Menge!
benwilliam ist offline   Mit Zitat antworten
   
HaBOT
 
- Anzeige -

Werbung ist gerade online    
Alt 17.01.06, 12:28   #3 (permalink)
Themenstarter
 
Registriert seit: 15.08.03
flame Leistung: Facit NTK
flame eine Nachricht über ICQ schicken
Likes: 0
Standard

Also nochmal. n beispiel.

der buschstabensalat ist z.B. smua

und dann soll das skript ne liste mit folegnden werten ausgeben

smau
saum
suam
masu
msau
maus
usam
uasm
umas
ausm
amus
aums
(...)


Aber wie mach ich das jetzt, dass er z.B. wie im beispiel von Benwilliam nicht irgendwelche zeichen zweimal verwendet.

Ich mein mit ner fixen zeichenlänge wär das kein ding, da ich dann entsprechernd viele secundärschleifen erstellen könnte.
flame ist offline   Mit Zitat antworten
Alt 17.01.06, 14:58   #4 (permalink)
Member of Honour
 
Benutzerbild von ivegotmail
 
Registriert seit: 28.05.03
ivegotmail Leistung: Z3
Likes: 1
Standard

hier mal ein entsprechende java code:
Code:
public class BruteForce {
	
	public static void main(String[] arg) {	
		String word = "test";
		String charset;
		// charset = entferneDoppelteBuchstaben(word);
		charset = "tes";
		int wordLength = word.length();
		
		BruteForceAlgo(charset, wordLength);
	}
	
	public static void BruteForceAlgo(final String charset, final int wordLength) { 
	    long startw = 0; 
	    final long endw = (long)Math.pow(charset.length(), (double)wordLength); 
	    StringBuffer s;
	    
	    while(startw < endw) { 
	    	s = new StringBuffer(""); 
	        long mw = startw;  
	        for (int i=wordLength; i>=0; i--) { 
	            long d = (long)Math.pow(charset.length(), (double)i); 
	            int w = (int)(mw/d); 
	            
	            if (i==wordLength) {
	            	if (w!=0) s.append(charset.charAt(w));
	            }
	            else s.append(charset.charAt(w));
	            
	            mw = mw-(w*d); 
	        } 
	        
	        System.out.println(s);
	        
	        startw++; 
	    }   
	}
}
__________________
http://livehabo.hackerboard.de | http://livebb.sourceforge.net
ivegotmail ist offline   Mit Zitat antworten
Alt 17.01.06, 16:14   #5 (permalink)
 
Registriert seit: 16.07.05
benwilliam Leistung: Facit NTK
benwilliam eine Nachricht über ICQ schicken
Likes: 0
Standard

ich glaube das ist genau das was der nicht haben will
mit dem algo wird jede stelle mit jedem zeichen belegt -> doppelte verwendung der Zeichen, und das will der ja nicht

ich denke Rekursion ist ein guter Ansatz :-)
benwilliam ist offline   Mit Zitat antworten
Alt 17.01.06, 16:21   #6 (permalink)
 
Registriert seit: 20.05.05
DolphVS Leistung: Facit NTK
DolphVS eine Nachricht über ICQ schicken
Likes: 0
Standard

Nennt sich so was nicht annagram oder so?
DolphVS ist offline   Mit Zitat antworten
Alt 17.01.06, 16:30   #7 (permalink)
Member of Honour
 
Benutzerbild von ivegotmail
 
Registriert seit: 28.05.03
ivegotmail Leistung: Z3
Likes: 1
Standard

axo dann habe ich das falsch verstanden.
also will flame quasi nen anagramm generator, wie DolphVS schon richtig meint.
__________________
http://livehabo.hackerboard.de | http://livebb.sourceforge.net
ivegotmail ist offline   Mit Zitat antworten
Alt 17.01.06, 16:36   #8 (permalink)
Themenstarter
 
Registriert seit: 15.08.03
flame Leistung: Facit NTK
flame eine Nachricht über ICQ schicken
Likes: 0
Standard

Zitat:
Original von DolphVS
Nennt sich so was nicht annagram oder so?

Ja genau, so in der art eines anagramms, nur dass das script ne ganze liste mit möglickieten ausgeben soll. ohne drauf zu achten, dass das durch die umstellung Tatsächlich ein neuer sinn entsteht.


Der Algoritmus siht interessant aus, aber ich versteh ihn nicht so ganz, könntest du das noch komentieren.
flame ist offline   Mit Zitat antworten
Alt 17.01.06, 17:50   #9 (permalink)
 
Registriert seit: 16.07.05
benwilliam Leistung: Facit NTK
benwilliam eine Nachricht über ICQ schicken
Likes: 0
Standard

der zuvor gepostete Algorithmus macht nicht nur Annagrame sondern alle möglichen variationen der Buchstaben

aber hier findest du Beispiel Algorithmus in PASCAL
benwilliam ist offline   Mit Zitat antworten
Alt 17.01.06, 19:25   #10 (permalink)
 
Registriert seit: 13.03.05
BattleMaker Leistung: Facit NTK
Likes: 0
Standard

In der C++-Standard-Library ALGORITHM gibt es u.a. folgende PERMUTATIONS-Funktionen:

prev_permutation()
next_permutation()

Diese treffen exakt auf dein Problem zu und sind bereits auf Geschwindigkeit optimiert.
Vllt. werde ich diese Funktionen ebenfalls bald in mein eigenes Bruteforce-Tool einbauen.
Und wenn du den Code meines Tools haben willst - sag Bescheid (Cryptography & Encryption > Mein eigenes Bruteforce-Tool).



MfG, BattleMaker
BattleMaker ist offline   Mit Zitat antworten
Alt 18.01.06, 13:57   #11 (permalink)
Themenstarter
 
Registriert seit: 15.08.03
flame Leistung: Facit NTK
flame eine Nachricht über ICQ schicken
Likes: 0
Standard

Vielen Dank, ihr habt mir sehr geholfen.
flame ist offline   Mit Zitat antworten
Antwort
   
- Anzeige -

Werbung ist gerade online    

[HaBo] » Web, Network & Multimedia Palace » (Web-) Design und webbasierte Sprachen » Buchstabensalat / Brutforce
Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks sind aus
Pingbacks sind aus
Refbacks sind aus


Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
md5 ohne Brutforce ToxicJetzt! Cryptography & Encryption 28 26.07.06 19:28


1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61