Что нового

Как сделать сохранение текста прошедшого удачный перебор?

-BlackJack-

Новичок
Сообщения
13
Репутация
0
Доброе утро, день, вечер, ночь увж.Знатоки Autoit.

Есть данный код:

Код:
#include <file.au3>


$bLoop = 1
While $bLoop = 1

    $text = InputBox("Name", "Text")
    If @error = 1 Then
        MsgBox(4096, "Name", "Text")
		Exit 0
    Else
	If $text = "" or $text = "1" Then
            MsgBox(4096, "Error", "Text")
			Else
            $bLoop = 0
        EndIf
    EndIf
WEnd
If WinExists(@ScriptName) Then Exit
AutoItWinSetTitle(@ScriptName)
HotKeySet("{ESC}", "Terminate")

$sFilePath = @ScriptDir & "\box.txt" ;файл в папке со скриптом
FileWrite("good.txt", "1" & @CRLF & "1") ;файл в папке со скриптом для сохранения удачной комбинации
$text1 = "Name Window"
WinWait($text1,"")
If Not WinActive($text1,"") Then WinActivate($text1,"")
WinWaitActive($text1,"")

For $i = 1 To $sLines ; от 1 до количества строк в файле выполнять:
$command = FileReadLine($sFilePath, $i)

; Check if file opened for writing OK
Send("{F7}")
Sleep(20)
Send($command&"{ENTER}")
Sleep(20)
Next

Func Terminate()
Exit 0
EndFunc


Чего хочу добиться (так как знаний пока что немного,но останавливаться не собираюсь)-

1. Что бы после прогонки "слов" из файла box.txt и после найденного-подобранного правильного "слова" он останавливался, а не продолжал работу(система похожа на брут, но используется не много в другом месте). - если возможно.
2. Если же первый пункт не возможен, то основной задачей которую я для себя поставил, это сохранение правильного подобранного "слова" в файл good.txt. - основная проблема.

По самой проге. Перебор идет в одну строку, то есть в активное окно для ввода текста.(как пример- логина нет, есть только пасс). Система так же смахивает на флудоботы.

Если же есть другие предложения (по изменению, модернизации), буду очень выслушать их и принять во внимание.
Заранее благодарен.

ЗЫ.. Просьба, выкладывать не кусок кода, а уже готовое решение.
 

dwerf

Использует ArchLinux
Сообщения
478
Репутация
219
Проверка нужна, правильное было слово или нет. Для реализации предоставлено не достаточно данных.
А потом как то так (внизу):
Код:
#include <file.au3>


$bLoop = 1
While $bLoop = 1

    $text = InputBox("Name", "Text")
    If @error = 1 Then
        MsgBox(4096, "Name", "Text")
        Exit 0
    Else
		If $text = "" or $text = "1" Then
            MsgBox(4096, "Error", "Text")
		Else
            $bLoop = 0
        EndIf
    EndIf
WEnd
If WinExists(@ScriptName) Then Exit
AutoItWinSetTitle(@ScriptName)
HotKeySet("{ESC}", "Terminate")

$sFilePath = @ScriptDir & "\box.txt" ;файл в папке со скриптом
FileWrite("good.txt", "1" & @CRLF & "1") ;файл в папке со скриптом для сохранения удачной комбинации
$text1 = "Name Window"
WinWait($text1,"")
If Not WinActive($text1,"") Then WinActivate($text1,"")
WinWaitActive($text1,"")

For $i = 1 To $sLines ; от 1 до количества строк в файле выполнять:
	$command = FileReadLine($sFilePath, $i)

	; Check if file opened for writing OK
	Send("{F7}")
	Sleep(20)
	Send($command&"{ENTER}")
	Sleep(20)
	
	If слово правильно Then
		FileWriteLine('good.txt', $command)
		ExitLoop
	EndIf
Next

Func Terminate()
Exit 0
EndFunc
 

kzru_hunter

Осваивающий
Сообщения
144
Репутация
49
-BlackJack- Распиши по подробнее свою проблему, а то многое не понятно, и в коде желательно комментарии расписать, чтобы было понятно, что хочешь в нём сделать.
Как я понял, ты хочешь брать каждое слово из файла box.txt и вставлять в определенное окно другого приложения, и если какое-то слово прокатит, то записывать это слово в good.txt и выходить из скрипта? Но тут не ясно, как ведёт то приложение при вводе в окно правильного и неправильно слова.
 

Yuri

AutoIT Гуру
Сообщения
737
Репутация
282
Вот такой пример написал.
Для демонстрации надо файл box.txt
Если в этом файле где-то будет строка qwerty,
пароль будет найден.
Код:
#include <ButtonConstants.au3>
#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>

$pass = "qwerty" ;правильный пароль

$Form1 = GUICreate("Enter password", 320, 111, 192, 114)
$Input1 = GUICtrlCreateInput("", 8, 8, 297, 21)
$Button1 = GUICtrlCreateButton("Ok", 24, 72, 105, 25)
$Button2 = GUICtrlCreateButton("Cancel", 192, 72, 105, 25)
GUISetState(@SW_SHOW)

While 1
	$nMsg = GUIGetMsg()
	Switch $nMsg
		Case $GUI_EVENT_CLOSE
			Exit		
		Case $Button1
			$File = FileOpen("box.txt", 0) ;открыть файл со словарем (должен находиться в одной директории со скриптом)
			If $file = -1 Then
				MsgBox(16, "Error", "Unable to open file.")
				Exit 
			EndIf
			Call("Check"); вызвать функцию перебора		
		Case $Button2
			Exit
	EndSwitch
WEnd

Func Check()
	While 1
		Sleep(200); для наглядности	
		$line = FileReadLine($file);читать файл словаря построчно
		If @error = -1 Then
			MsgBox(64, "Перебор", "Перебор закончен")
			ExitLoop
		EndIf
		GUICtrlSetData($Input1,$line); ввести строку в поле ввода пароля
		$text = GUICtrlRead($Input1); прочитать строку из поля ввода
		If $text = $pass Then; сравнить прочитанную строку и сравнить с правильным паролем			
			MsgBox(64, "Пароль подошел", $text)
			FileClose($file)
		Exit
		EndIf
	WEnd
EndFunc




Добавлено:
Сообщение автоматически объединено:

Еще такой вариант. На большее фантазии не хватило.
Эта программа с интерфейсом - цель:
Код:
#include <ButtonConstants.au3>
#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>

$pass = "qwerty"

$Form1 = GUICreate("Авторизация", 296, 130, 192, 114)
$Input1 = GUICtrlCreateInput("", 8, 8, 273, 21)
$Label1 = GUICtrlCreateLabel("Состояние", 8, 48, 274, 17)
$Button1 = GUICtrlCreateButton("Ok", 32, 88, 81, 25)
$Button2 = GUICtrlCreateButton("Cancel", 184, 88, 81, 25)
GUISetState(@SW_SHOW)

While 1
	$nMsg = GUIGetMsg()
	Switch $nMsg
		Case $GUI_EVENT_CLOSE
			Exit		
		Case $Button1
			$text = GUICtrlRead($Input1)
			If $text = $pass Then				
				GUICtrlSetData($Label1,"Пароль принят: " & $text)
			Else
				GUICtrlSetData($Label1,"Плохой пароль")
			EndIf
		Case $Button2
			Exit
	EndSwitch
WEnd


Эта программа - переборщик цели:

Код:
If WinExists("Авторизация") Then
    WinSetState("Авторизация", "", @SW_RESTORE)
Else
	MsgBox(16, "Ошибка", "Сачала запустите программу авторизации")
	Exit	
EndIf

$File = FileOpen("box.txt", 0)
	If $file = -1 Then
		MsgBox(16, "Error", "Unable to open file.")
		Exit 
	EndIf

While 1
	Sleep(200)
	$line = FileReadLine($file)
	If @error = -1 Then
		MsgBox(64, "Перебор", "Перебор закончен")
		ExitLoop
	EndIf
	ControlSetText("Авторизация", "", "Edit1", $line)
	ControlClick("Авторизация", "Ok", "Button1")
	If WinExists("Авторизация", "Плохой пароль") = 0 Then
		MsgBox(64, "Пароль найден", $line)
		ExitLoop
	EndIf 
WEnd
FileClose($file)


Запускам сначала цель, затем переборщик.
Файл словаря box.txt тоже нужен.
 
Автор
B

-BlackJack-

Новичок
Сообщения
13
Репутация
0
kzru_hunter сказал(а):
-BlackJack- Распиши по подробнее свою проблему, а то многое не понятно, и в коде желательно комментарии расписать, чтобы было понятно, что хочешь в нём сделать.
Как я понял, ты хочешь брать каждое слово из файла box.txt и вставлять в определенное окно другого приложения, и если какое-то слово прокатит, то записывать это слово в good.txt и выходить из скрипта? Но тут не ясно, как ведёт то приложение при вводе в окно правильного и неправильно слова.



Окно авторизации(ввода пароля) находится в программе.
Код:
$text1 = "Название окна"

Включаем программу "переборщик".
Автоматически активируется (уже открытое) окно программы.

Поле ввода пароля активируется командной нажатия клавиши "F7" (то есть открывается отдельно в этом же приложении (в центре экрана)). Все остальные окна в этом приложение блокируются, окно ввода пасса становится основным пока его не закроешь или не введешь вариант пароля(так что координаты ввода попросту не нужны).
Код:
; Check if file opened for writing OK
    Send("{F7}") ;активирует окно ввода пароля
    Sleep(20)
    Send($command&"{ENTER}") ;ввод пароля из box.txt с последующим нажатием "ENTER"
    Sleep(20)


Вводится один вариант пароля(построчно) из файла box.txt.
Код:
$sFilePath = @ScriptDir & "\box.txt" ;файл в папке со скриптом



Командой "ENTER" активируется введенный пароль.
Заметка: окно закрывается автоматически - при люом раскладе - верный вариант или не верный.
Заметка: ограничения(блокировщика) по кол-ву введенных вариантов нет.
Далее в таком же ритме снова "F7", "ввод пароля", "ENTER".

Как я понял, ты хочешь брать каждое слово из файла box.txt и вставлять в определенное окно другого приложения, и если какое-то слово прокатит, то записывать это слово в good.txt и выходить из скрипта?

Именно.

Проблема заключается в том, что подгрузки ни какой нет, и скрипт не может ни за что зацепиться в данном приложении.

Как вариант, можно сделать сохранение в другой текстовик уже проверенных проверенных паролей из box.txt(пример: ввод пароля из box.txt в окно, сохранение этого пароля в copy.txt(так же в столбик)), или счетчик .
Просто в таком состоянии в каком сейчас этот скрипт находится, он открывает окно, вводит пароль, нажимает ввод, и даже если пароль подошел, это можно увидеть только если сидеть перед экраном. Нужно хотя бы как то вести запись уже проверенного, что бы после можно было (если был удачный вариант) открыть текстовик(или же посмотреть счетчик) с проверенными пассами. А там уже будет легко найти правильный(так как он будет одним из последних).

Вот первоначальный вариант скрипта.
[box title=TitleBox]
Код:
#include <file.au3>


$bLoop = 1
While $bLoop = 1

    $text = InputBox("Название", "Текст фона скрипта")
    If @error = 1 Then
        MsgBox(4096, "Покеда", "Повезёт в другой раз")
		Exit 0
    Else
	If $text = "" or $text = "1" Then
            MsgBox(4096, "Error", "Поле логина пустое!")
			Else
            $bLoop = 0
        EndIf
    EndIf
WEnd
If WinExists(@ScriptName) Then Exit
AutoItWinSetTitle(@ScriptName)
HotKeySet("{ESC}", "Terminate") ; останавливает работу скрипта

$sFilePath = @ScriptDir & "\box.txt" ;файл в папке со скриптом
$sLines = _FileCountLines($sFilePath) ; возвращает количество строк в файле
$text1 = "название окна(поле ввода пароля)"
WinWait($text1,"")
If Not WinActive($text1,"") Then WinActivate($text1,"")
WinWaitActive($text1,"")

For $i = 1 To $sLines ; от 1 до количества строк в файле выполнять:
$command = FileReadLine($sFilePath, $i)

; Check if file opened for writing OK
Send("{F7}")
Sleep(10)
Send($command&"{ENTER}")
Sleep(10)
Next

Func Terminate()
Exit 0
EndFunc
[/box]

Поле ввода логина, это ненужный элемент, собирался убрать.
 

kzru_hunter

Осваивающий
Сообщения
144
Репутация
49
Просто в таком состоянии в каком сейчас этот скрипт находится, он открывает окно, вводит пароль, нажимает ввод, и даже если пароль подошел, это можно увидеть только если сидеть перед экраном.
Если можно увидеть на экране монитора, что пароль подошёл, то и автоит это может заметить. Если бы скрин выложил, где можно было бы увидеть то место, где написано, что пароль подошёл, то смог бы помочь, а так нет.

А так просто сделал, чтобы скрипт каждый раз брал пасс из box.txt и вставлял в окно другого приложения. При ручном выходе с помощью горячей клавиши записывается номер пасса по списку, на котором остановились, и при след. запуске скрипта пассы будут браться с того места, откуда в прошлый раз остановились.
Код:
#include <file.au3>
#Include <Misc.au3>

; --- Блокирует повторный запуск скрипта --------
If _Singleton("MyProgram") = 0 Then Exit
; -----------------------------------------------

; Опустил авторизацию при запуске скрипта

HotKeySet("{ESC}", "Terminate")

$BoxFile = "box.txt"
$CountFile = "count.txt" ; файл, в котором будет хранится номер пароля из списка, на котором остановились в прошлый раз
;$GoodFile = "good.txt"

; -------------- Ждём окно другой программы, а потом активируем его --------
$Title1 = "Name Window"
WinWait($Title1)
If Not WinActive($Title1) Then WinActivate($Title1)
WinWaitActive($Title1)
; --------------------------------------------------------------------------

$BoxFile_Read = FileRead($BoxFile)
$CountFile_Read = FileRead($CountFile) ; читаем файл "count.txt"

; ------------ Выдаём сообщение, которое будет спрашивать сначала ли начать перебор или с последнего
$g_Count = 1
If IsInt($CountFile_Read) Then
	If $CountFile_Read > 1 Then
		$msg_ret = MsgBox(36,"","Продолжить перебор пароля?" & @CRLF & "Если нет, то перебор начнётся сначала")
		If $msg_ret = 6 Then $g_Count = StringStripWS($CountFile_Read,3)
	EndIf
EndIf

$array_lines = StringSplit($BoxFile_Read,@CRLF,1)
For $i = $g_Count To $array_lines[0] ; от 1 до количества строк в файле
	$pass = $array_lines[$i]

	Send("{F7}")
	Sleep(20)
	Send($pass & "{ENTER}")
	Sleep(20)

	$g_Count = $i
Next

Func Terminate()
	Local $hFile = FileOpen($CountFile,2)
	FileWrite($hFile,$g_Count+1)
	FileClose($hFile)
	Exit
EndFunc
 
Автор
B

-BlackJack-

Новичок
Сообщения
13
Репутация
0
kzru_hunter сказал(а):
Просто в таком состоянии в каком сейчас этот скрипт находится, он открывает окно, вводит пароль, нажимает ввод, и даже если пароль подошел, это можно увидеть только если сидеть перед экраном.
Если можно увидеть на экране монитора, что пароль подошёл, то и автоит это может заметить. Если бы скрин выложил, где можно было бы увидеть то место, где написано, что пароль подошёл, то смог бы помочь, а так нет.

А так просто сделал, чтобы скрипт каждый раз брал пасс из box.txt и вставлял в окно другого приложения. При ручном выходе с помощью горячей клавиши записывается номер пасса по списку, на котором остановились, и при след. запуске скрипта пассы будут браться с того места, откуда в прошлый раз остановились.
Код:
#include <file.au3>
#Include <Misc.au3>

; --- Блокирует повторный запуск скрипта --------
If _Singleton("MyProgram") = 0 Then Exit
; -----------------------------------------------

; Опустил авторизацию при запуске скрипта

HotKeySet("{ESC}", "Terminate")

$BoxFile = "box.txt"
$CountFile = "count.txt" ; файл, в котором будет хранится номер пароля из списка, на котором остановились в прошлый раз
;$GoodFile = "good.txt"

; -------------- Ждём окно другой программы, а потом активируем его --------
$Title1 = "Name Window"
WinWait($Title1)
If Not WinActive($Title1) Then WinActivate($Title1)
WinWaitActive($Title1)
; --------------------------------------------------------------------------

$BoxFile_Read = FileRead($BoxFile)
$CountFile_Read = FileRead($CountFile) ; читаем файл "count.txt"

; ------------ Выдаём сообщение, которое будет спрашивать сначала ли начать перебор или с последнего
$g_Count = 1
If IsInt($CountFile_Read) Then
	If $CountFile_Read > 1 Then
		$msg_ret = MsgBox(36,"","Продолжить перебор пароля?" & @CRLF & "Если нет, то перебор начнётся сначала")
		If $msg_ret = 6 Then $g_Count = StringStripWS($CountFile_Read,3)
	EndIf
EndIf

$array_lines = StringSplit($BoxFile_Read,@CRLF,1)
For $i = $g_Count To $array_lines[0] ; от 1 до количества строк в файле
	$pass = $array_lines[$i]

	Send("{F7}")
	Sleep(20)
	Send($pass & "{ENTER}")
	Sleep(20)

	$g_Count = $i
Next

Func Terminate()
	Local $hFile = FileOpen($CountFile,2)
	FileWrite($hFile,$g_Count+1)
	FileClose($hFile)
	Exit
EndFunc

Проверил, но скрипт не работает, перебора не происходит.
Если есть возможность, вставьте скрипт сохранения перебранных вариантов в мой скрипт.
 

kzru_hunter

Осваивающий
Сообщения
144
Репутация
49
Если есть возможность, вставьте скрипт сохранения перебранных вариантов в мой скрипт.
Код:
#include <file.au3>
#Include <Misc.au3>

; --- Блокирует повторный запуск скрипта --------
If _Singleton("MyProgram") = 0 Then Exit
; -----------------------------------------------

; Опустил авторизацию при запуске скрипта

HotKeySet("{ESC}", "Terminate")

Global $CRLF = @CRLF
Global $g_Count = 1 ; хранит номер строки в файле box.txt, на которой остановились в прошлый раз

$g_BoxFile = "box.txt"
$g_CountFile = "count.txt" ; файл, в котором будет хранится номер строки из box.txt, на которой остановились в прошлый раз
$g_LastPassesFile = "last_passes.txt" ; для хранения последних испробованных паролей

Global $g_NumLastPasses = 10 ; количество последних испробованных паролей, которые будут записаны в файл "last_passes.txt"
;$GoodFile = "good.txt"

; -------------- Ждём окно другой программы, а потом активируем его --------
$Title1 = "Name Window"
WinWait($Title1)
If Not WinActive($Title1) Then WinActivate($Title1)
WinWaitActive($Title1)
; --------------------------------------------------------------------------

$BoxFile_Read = FileRead($g_BoxFile)
$CountFile_Read = FileRead($g_CountFile) ; читаем файл "count.txt"

; ------------ Выдаём сообщение, которое будет спрашивать сначала ли начать перебор или продолжить с прошлого раза -------
If IsInt($CountFile_Read) Then
	If $CountFile_Read > 1 Then
		$msg_ret = MsgBox(36,"","Продолжить перебор пароля?" & @CRLF & "Если нет, то перебор начнётся сначала")
		If $msg_ret = 6 Then $g_Count = StringStripWS($CountFile_Read,3)
	EndIf
EndIf
; ------------------------------------------------------------------------------------------------------------------------

$array_lines = StringSplit($BoxFile_Read,@CRLF,1) ; заносим пароли в массив
For $i = $g_Count To $array_lines[0] ; от 1 до количества строк в файле
	$pass = $array_lines[$i]

	Send("{F7}")	
	Sleep(20)
	Send($pass & "{ENTER}")
	Sleep(20)

	$g_Count = $i
Next

Func Terminate()
	Local $hFile = FileOpen($g_CountFile,2)
	FileWrite($hFile,$g_Count+1)
	FileClose($hFile)

	; ------ Записываем последние испробованные пароли в "last_passes.txt" --------
	Local $hFile = FileOpen($g_LastPassesFile,2)

	If $g_Count < $g_NumLastPasses Then $g_NumLastPasses = $g_Count
	$StrLastPasses = ""
	For $i=$g_Count-$g_NumLastPasses+1 To $g_Count
		$StrLastPasses &= $array_lines[$i] & $CRLF
	Next
	$StrLastPasses = StringTrimRight($StrLastPasses,2)

	FileWrite($hFile,$StrLastPasses)
	FileClose($hFile)
	; -----------------------------------------------------------------------------

	Exit
EndFunc

Проверил, но скрипт не работает, перебора не происходит.
Скорее всего это из-за:
Код:
Send("{F7}")	
	Sleep(20)
	Send($pass & "{ENTER}")
	Sleep(20)

Нужно как-то так сделать:
Код:
Send("{F7}")
	WinWaitActive("Титул окна для набора пароля")
	Sleep(20)
	Send($pass,1) ; также можно ClipPut($pass), а затем Send("^v") ) или с помощью ControlSetText
	Sleep(20)
	Send("{ENTER}")
	WinWaitNotActive("Титул окна для набора пароля")
	Sleep(20)
 
Автор
B

-BlackJack-

Новичок
Сообщения
13
Репутация
0
[quote author=kzru_hunter]

Код:
#include <file.au3>
#Include <Misc.au3>

; --- Блокирует повторный запуск скрипта --------
If _Singleton("MyProgram") = 0 Then Exit
; -----------------------------------------------

; Опустил авторизацию при запуске скрипта

HotKeySet("{ESC}", "Terminate")

Global $CRLF = @CRLF
Global $g_Count = 1 ; хранит номер строки в файле box.txt, на которой остановились в прошлый раз

$g_BoxFile = "box.txt"
$g_CountFile = "count.txt" ; файл, в котором будет хранится номер строки из box.txt, на которой остановились в прошлый раз
$g_LastPassesFile = "last_passes.txt" ; для хранения последних испробованных паролей

Global $g_NumLastPasses = 10 ; количество последних испробованных паролей, которые будут записаны в файл "last_passes.txt"
;$GoodFile = "good.txt"

; -------------- Ждём окно другой программы, а потом активируем его --------
$Title1 = "Name Window"
WinWait($Title1)
If Not WinActive($Title1) Then WinActivate($Title1)
WinWaitActive($Title1)
; --------------------------------------------------------------------------

$BoxFile_Read = FileRead($g_BoxFile)
$CountFile_Read = FileRead($g_CountFile) ; читаем файл "count.txt"

; ------------ Выдаём сообщение, которое будет спрашивать сначала ли начать перебор или продолжить с прошлого раза -------
If IsInt($CountFile_Read) Then
	If $CountFile_Read > 1 Then
		$msg_ret = MsgBox(36,"","Продолжить перебор пароля?" & @CRLF & "Если нет, то перебор начнётся сначала")
		If $msg_ret = 6 Then $g_Count = StringStripWS($CountFile_Read,3)
	EndIf
EndIf
; ------------------------------------------------------------------------------------------------------------------------

$array_lines = StringSplit($BoxFile_Read,@CRLF,1) ; заносим пароли в массив
For $i = $g_Count To $array_lines[0] ; от 1 до количества строк в файле
	$pass = $array_lines[$i]

	Send("{F7}")	
	Sleep(20)
	Send($pass & "{ENTER}")
	Sleep(20)

	$g_Count = $i
Next

Func Terminate()
	Local $hFile = FileOpen($g_CountFile,2)
	FileWrite($hFile,$g_Count+1)
	FileClose($hFile)

	; ------ Записываем последние испробованные пароли в "last_passes.txt" --------
	Local $hFile = FileOpen($g_LastPassesFile,2)

	If $g_Count < $g_NumLastPasses Then $g_NumLastPasses = $g_Count
	$StrLastPasses = ""
	For $i=$g_Count-$g_NumLastPasses+1 To $g_Count
		$StrLastPasses &= $array_lines[$i] & $CRLF
	Next
	$StrLastPasses = StringTrimRight($StrLastPasses,2)

	FileWrite($hFile,$StrLastPasses)
	FileClose($hFile)
	; -----------------------------------------------------------------------------

	Exit
EndFunc

Скорее всего это из-за:
Код:
Send("{F7}")	
	Sleep(20)
	Send($pass & "{ENTER}")
	Sleep(20)

Нужно как-то так сделать:
Код:
Send("{F7}")
	WinWaitActive("Титул окна для набора пароля")
	Sleep(20)
	Send($pass,1) ; также можно ClipPut($pass), а затем Send("^v") ) или с помощью ControlSetText
	Sleep(20)
	Send("{ENTER}")
	WinWaitNotActive("Титул окна для набора пароля")
	Sleep(20)

[/quote]



kzru_hunter, спасибо большое за вашу помощь, вот это вариант рабочий. Перебор происходит, счетчик записывает перебранные варианты, последние пассы сохраняются(поменял лишь кол-во с 10 на 20).
Единственный скрипт не работает - перебор с последних вариантов.

Код:
; ------------ Выдаём сообщение, которое будет спрашивать сначала ли начать перебор или продолжить с прошлого раза -------
If IsInt($CountFile_Read) Then
	If $CountFile_Read > 1 Then
		$msg_ret = MsgBox(36,"","Продолжить перебор пароля?" & @CRLF & "Если нет, то перебор начнётся сначала")
		If $msg_ret = 6 Then $g_Count = StringStripWS($CountFile_Read,3)
	EndIf
EndIf
;
 

kzru_hunter

Осваивающий
Сообщения
144
Репутация
49
Я просто не тестил скрипт, когда писал, поэтому и ошибку допустил.
Вот надо как сделать:
Код:
; ------------ Выдаём сообщение, которое будет спрашивать сначала ли начать перебор или продолжить с прошлого раза -------
If Int($CountFile_Read) > 1 Then
		$msg_ret = MsgBox(36,"","Продолжить перебор пароля?" & @CRLF & "Если нет, то перебор начнётся сначала")
		If $msg_ret = 6 Then $g_Count = Int($CountFile_Read)
	EndIf
EndIf
; ------------------------------------------------------------------------------------------------------------------------
Надеюсь, тут нет ошибки
 
Автор
B

-BlackJack-

Новичок
Сообщения
13
Репутация
0
Да, тут снова была ошибка, не хватало строки, исправил.

Код:
If  Int($CountFile_Read) Then
    If $CountFile_Read > 1 Then  ;предыдущая строка на которой остановился перебор.
        $msg_ret = MsgBox(36,"","Продолжить перебор пароля?" & @CRLF & "Если нет, то перебор начнётся сначала")
        If $msg_ret = 6 Then $g_Count = Int($CountFile_Read)
    EndIf
EndIf


Теперь все ок, огромное спс.
 
Верх