Brute Force

05/09/2013 00:46 Greaka#1
Hallo,
ich habe das kleine Problem, das nur 0en ausgeworfen werden.
Wo liegt mein Problem?
Vielen Dank für Hilfe!

Code:
While 1
	$str = InputBox("Letters","Type all Letters")
	$string = StringSplit($str,"")
	Sleep(3000)
	$h = 0
	$i = 0
	$j = 0
	$k = 1
	$l = 1
	$m = 1
	$string[0] = ""
	While 1
		Send($string[$h] + $string[$i] + $string[$j] + $string[$k] + $string[$l] + $string[$m] + "{ENTER}")
		If $m = 6 Then
			If $l = 6 Then
				If $k = 6 Then
					If $j = 6 Then
						If $i = 6 Then
							If $h = 6 Then
								ExitLoop
							Else
								$h += 1
							EndIf
						Else
							$i += 1
						EndIf
					Else
						$j += 1
					EndIf
				Else
					$k += 1
				EndIf
			Else
				$l += 1
			EndIf
		Else
			$m += 1
		EndIf
	WEnd
WEnd
05/09/2013 09:10 FacePalmMan#2
also ich versteh das so: alle zahlen sollen rausgeworfen werden. richtig?

hier hab ich was für dich. es schmeisst alle zahlen raus und lässt die buchstaben drinne.
Code:
$text=InputBox("Letters","Type all Letters")
$SP=StringSplit($text,"")
$text=""
For $i=1 To $SP[0]
	$IsNumber=_IsNumber($SP[$i])
	If $IsNumber=1 Then
		$text=$text&$SP[$i]
	EndIf
Next
MsgBox(0,"",$text)

Func _IsNumber($Input)
	If $Input="0" Then Return 0 ;die "" sind wichtig da es sonst auch text als eine nummer erkennen würde 
	For $i=1 To 9
		If $Input=$i Then Return 0
	Next
	Return 1
EndFunc
05/09/2013 09:26 Greaka#3
Genau, das Ziel ist lediglich, dass alle möglichen Kombinationen ausgeworfen werden. Es wird nicht zu illegalen Zwecken missbraucht. Ich benötige es für mein Praktikum...
Vorgabe ist: mindestens 3 Zeichen sollen erzeugt werden und alle möglichen Kombinationen.
Ich danke im voraus

Edit: es sind Buchstaben, die eingegeben werden und es sind exakt 6 Stück.
05/09/2013 09:44 FacePalmMan#4
Quote:
Originally Posted by Greaka View Post
Genau, das Ziel ist lediglich, dass alle möglichen Kombinationen ausgeworfen werden. Es wird nicht zu illegalen Zwecken missbraucht. Ich benötige es für mein Praktikum...
Vorgabe ist: mindestens 3 Zeichen sollen erzeugt werden und alle möglichen Kombinationen.
Ich danke im voraus

Edit: es sind Buchstaben, die eingegeben werden und es sind exakt 6 Stück.
ich verstehe es nicht. gib mal ein kleines beispiel.
05/09/2013 09:55 Greaka#5
Nja, wie die Überschrift bereits sagt: es sollen alle möglichen Kombinationen ausprobiert werden, mit einer mindestanzahl von 3 Buchstaben, es funktioniert wie ein Brute Force
Es ist von vornherein klar, dass nur Buchstaben verwendet werden
05/09/2013 11:41 Achat#6
Quote:
Originally Posted by Greaka View Post
Genau, das Ziel ist lediglich, dass alle möglichen Kombinationen ausgeworfen werden. Es wird nicht zu illegalen Zwecken missbraucht. Ich benötige es für mein Praktikum...
Vorgabe ist: mindestens 3 Zeichen sollen erzeugt werden und alle möglichen Kombinationen.
Ich danke im voraus

Edit: es sind Buchstaben, die eingegeben werden und es sind exakt 6 Stück.
Quote:
Originally Posted by Shadow992 View Post
Bruteforce in AutoIT ... und dann auch noch nach den Code dafür zu fragen ...
Fail ...

Btw Ich bin mir nicht sicher ob das nicht schon gegen die Epvp-Regeln verstößt ...

Edit :
Das ist ziehmlich allgemein gehalten , also es zeigt nur wie man unterschiedliche "Wörter" erstellen lassen kann

PHP Code:
#include<Array.au3>

$input=InputBox("Anzahl","Anzahl der Wörter , die erzeugt werden sollen")
Dim $worte[$input]

For 
$i=0 To $input-1
            $randT
=""
            
For $k=0 To Random(2,9,1)
                
$ran=Random(0,2,1)
                If 
$ran=1 Then
                $randT
=$randT&chr(Random(65,90,1))
                ElseIf 
$ran=2 Then
                $randT
=$randT&chr(Random(97,122,1))
                Else
                
$randT=$randT&Random(1,99,1)
                EndIf
            
Next
$worte
[$i]=$randT
Next
_ArrayDisplay
($worte
MfG
05/09/2013 13:05 -STORM-#7
Ich hoffe, ich habe dein Problem richtig verstanden.
Code:
#include <GUIConstantsEx.au3>
#include <Array.au3>
#include <GuiEdit.au3>

GUICreate("Brute Force", 450, 350)
GUICtrlCreateLabel("Chars:", 10, 10, 40, 20)
$CharInput = GUICtrlCreateInput("abc", 50, 10, 290)
$CombinationsOutput = GUICtrlCreateEdit("", 10, 40, 430, 250)
GUICtrlCreateLabel("Length:", 350, 10, 40, 20)
$LengthInput = GUICtrlCreateInput("3", 390, 10, 50, 20)
$StartButton = GUICtrlCreateButton("Start", 10, 300, 50)
$CharCountLabel = GUICtrlCreateLabel("Chars:       ", 80, 310) ; hier wird die Anzahl eingegebener Chars ausgegeben
$CombinationsLabel = GUICtrlCreateLabel("Combinations:                                                                           ", 180, 310) ; hier wird die Anzahl an Kombinationen ausgegeben
$CalculatedLabel = GUICtrlCreateLabel("Calculated:                                                                             ", 180, 330) ; hier wird die Zahl bereits berechneter Kombinationen ausgegeben
GUISetState()

While 1
	Switch GUIGetMsg()
		Case $GUI_EVENT_CLOSE
			Exit
		Case $StartButton
			$Length = GUICtrlRead($LengthInput)
			$Chars_splitted = StringSplit(GUICtrlRead($CharInput), "")

			$Combinations = $Chars_splitted[0]^$Length ; mögliche Kombinationen berechnen

			GUICtrlSetData($CharCountLabel, "Chars: " & $Chars_splitted[0]) ; Anzahl eingegebener Chars ausgeben
			GUICtrlSetData($CombinationsLabel, "Combinations: " & @TAB & $Combinations) ; Anzahl an Kombinationen ausgeben
			GUICtrlSetData($CombinationsOutput, "") ; Edit leeren
			GUICtrlSetData($StartButton, "STOP") ; Start-Button zu Stop-Button machen


			Dim $char[$Length] ; Char-Array erstellen
			For $i = 0 To $Length-1 ; Char-Array mit 1 füllen
				$char[$i] = 1
			Next


			For $i = 1 To $Combinations ; alle Kombinationen durchgehen

					; Wort ausgeben
					For $k = 0 To $Length-1 ; dazu Chars einzeln ausgeben
						_GUICtrlEdit_AppendText($CombinationsOutput, $Chars_splitted[$char[$k]])
					Next
					_GUICtrlEdit_AppendText($CombinationsOutput, @CRLF) ; neue Zeile
					GUICtrlSetData($CalculatedLabel, "Calculated:" & @TAB & $i) ; Anzahl bereits berechneter Kombinationen ausgeben

					; Wort erhöhen von hinten
					For $j = $Length-1 To 0 Step -1
						If $char[$j] < $Chars_splitted[0] Then
							; falls der letzte Char nicht der höchstmögliche ist, erhöhe den letzten Char und verlasse die Schleife
							$char[$j] += 1
							ExitLoop
						Else
							; falls der letzte Char der höchstmögliche ist, setze ihn auf den kleinstmöglichen und wiederhole die Schleife (=> vorherige Chars erhöhen)
							$char[$j] = 1
						EndIf
					Next

				If GUIGetMsg() = $StartButton Then ExitLoop ; Abbrechen falls STOP geklickt

			Next

			GUICtrlSetData($StartButton, "Start")

	EndSwitch
WEnd
05/09/2013 13:38 Greaka#8
vielen dank -STORM- das war hilfreich, leider versteh ich deinen code aber nicht, sodass ich dich nochmal bitten muss: kannst du den code so verändern, dass mit 3 Buchstaben angefangen wird, dann automatisch zu 4 wechselt, ...
und: die ausgabe soll über einen Send-befehl laufen, abgetrennt durch "{ENTER}"
an den netten Poster, der sinnlos mein Post fett markiert und einen anderen Thread mit komplett anderem Problem zitiert: Nein, das suche ich nicht
LG! (:
05/09/2013 15:36 FacePalmMan#9
oh! hab bruteforce mit DDOS angriff verwechselt :facepalm:
05/09/2013 16:14 -STORM-#10
Wenn du eine bestimmte Stelle des Scripts nicht verstehst, kann ich dir das wohl erklären. Aber wenn du es allgemein nicht verstehst, solltest du vielleicht erstmal ein paar Tutorials zu den Grundlagen von AutoIt lesen.
Außerdem wäre es hilfreich, wenn du mal genauer erklärst, was du damit vorhast und was das ganze mit deinem Praktikum zu tun hat.
05/09/2013 18:02 Greaka#11
Ich werde morgen mal versuchen, ob ich es verstehe, ich bin heute nicht mehr in der Lage dazu;)
Beim Praktikum hab ich seit einem 3/4 Jahr jetzt Appprogrammierung gemacht und sie möchten mich jetzt in die Sicherheitstechnik nehmen, was auch ursprünglich mein Ziel war, deshalb sollte ich ein (Autoit)-Programm entwickeln, was 6 eingegebene Buchstaben so kombiniert, dass man mindestens 3 Buchstaben hat und alle Kombinationen entstehen, nur was ist an meinem Skript so falsch? Ich steige nicht dahinter...
An alle, die jetzt denken, Blödsinn: Pechgehabt, ich erzähl die Wahrheit, man hilft freiwillig und ich bin nicht sehr erfreut, über Leute, die nur sinnlos posten.
Ich wollts nur mal vorwegggenommen haben...
05/09/2013 18:24 omer36#12
Quote:
Originally Posted by Greaka View Post
Ich werde morgen mal versuchen, ob ich es verstehe, ich bin heute nicht mehr in der Lage dazu;)
Beim Praktikum hab ich seit einem 3/4 Jahr jetzt Appprogrammierung gemacht und sie möchten mich jetzt in die Sicherheitstechnik nehmen, was auch ursprünglich mein Ziel war, deshalb sollte ich ein (Autoit)-Programm entwickeln, was 6 eingegebene Buchstaben so kombiniert, dass man mindestens 3 Buchstaben hat und alle Kombinationen entstehen, nur was ist an meinem Skript so falsch? Ich steige nicht dahinter...
An alle, die jetzt denken, Blödsinn: Pechgehabt, ich erzähl die Wahrheit, man hilft freiwillig und ich bin nicht sehr erfreut, über Leute, die nur sinnlos posten.
Ich wollts nur mal vorwegggenommen haben...
lange nicht so viel bullshit gelesen.

und ich bin im off-topic bereich unterwegs!
05/09/2013 21:15 Requi#13
Welche Firma nutzt bitte AutoIt?
Normalerweise wird Java/C# genutzt. Manchmal auch C++ und seltener(sehr) VB.NET
05/09/2013 21:28 YatoDev#14
Quote:
Originally Posted by Requι View Post
Welche Firma nutzt bitte AutoIt?
Normalerweise wird Java/C# genutzt. Manchmal auch C++ und seltener(sehr) VB.NET
bei uns nutzt eine firma Python !
05/10/2013 14:04 Greaka#15
Der Thread kann geschlossen werden, mithilfe kleiner Änderungen an -STORM-s Skript habe ich es hinbekommen. Danke!