Что нового

автоматический ввод пароля

srg01

Новичок
Сообщения
1
Репутация
0
:( 3.3.12.0

Не могу никак составить программу для перебора пароля.

Проблема в том что после ввода неверного пароля программа закрывается. Пароли в текстовом файле. В тело скрипта внести никак невозможно так как их почти 15 тысяч.

; Script Start - Add your code below here
Run("путь к программе")
WinWaitActive("название окна")


Dim $aPasswords ;объявляем массивы
;читаем файл в массив
_FileReadToArray('путь к программе\pass', $aPasswords)
For $i = 1 To $aPasswords[0]
WinWait("название окна","")
If Not WinActive("название окна","") Then WinActivate("название окна","")
WinWaitActive("название окна","")
Sleep(100)
Sleep(200)
Send ($aPasswords[$i]);Пароль 1
Sleep(600)
Send("{ENTER}")
Sleep(200)
MouseClick( "left",299,87,2,50)
Sleep(200)
Send("{ENTER}{ENTER}")
Sleep(1550)
Next


Что не правильно никак не пойму. я только пытаюсь учиться
 

ra4o

AutoIT Гуру
Сообщения
1,165
Репутация
246
Проблема в том что после ввода неверного пароля программа закрывается.
Значит так она (программа) написана и ничего Вы ей не сделаете, открывайте заново и вводите следующий пароль. Понятно, что на подбор пароля у Вас уйдёт лет сто.... если программа может открываться в нескольких окнах одновременно, пробуйте запускать несколько копий и вводить пароли, в этом случае срок подбора уменьшится до десятка лет, вероятно...
OffTopic:

Смысл в том, что в любом случае оно того не стоит - потраченное время и электроэнергия обойдутся Вам дороже покупки ПО, обсуждение любых методов взлома противоречит правилам форума
 

Dima1337

Осваивающий
Сообщения
186
Репутация
24
ra4o сказал(а):
"Понятно, что на подбор пароля у Вас уйдёт лет сто..." "в этом случае срок подбора уменьшится до десятка лет, вероятно..."
OffTopic:
10 лет на подбор 15к паролей? ;)


Вот как это будет примерно выглядеть в одном потоке:
Код:
Global $sPath_ini = @ScriptDir & "\Passwords.ini", $i = 0, $pass[150000], $log = 'azer'

FileOpen($sPath_ini)

Do
	$i += 1
	$pass[$i] = FileReadLine($sPath_ini,$i)
Until $pass[$i] = ''

Global $Total = $i, $i = 0

MsgBox(0,'Брут','Паролей найдено: '&$Total)

Do
	If WinExists('[CLASS:#32770]','Done') Then ExitLoop
	$i += 1
	$prog = Run(@ScriptDir & '\TestProg.exe')
	Sleep(200)
	ControlSend('TestProg','','Edit1',$log)
	ControlSend('TestProg','','Edit2',$pass[$i])
	ControlClick('TestProg','','Button1','left')
Until $pass[$i] = ''

If $pass[$i] = '' Then
	MsgBox(0,'','Пароль не найлен')
Else
	$i -= 1
	MsgBox(0,'','Пароль: '&$pass[$i])
EndIf


TestProg:
Код:
#include <ButtonConstants.au3>
#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
#Region ### START Koda GUI section ### Form=
$Form1 = GUICreate(@ScriptName, 138, 104, 455, 369)
$Input1 = GUICtrlCreateInput("", 8, 8, 121, 21)
$Input2 = GUICtrlCreateInput("", 8, 40, 121, 21)
$Button1 = GUICtrlCreateButton("Button1", 32, 72, 75, 25)
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###

While 1
	$nMsg = GUIGetMsg()
	Switch $nMsg
		Case $GUI_EVENT_CLOSE
			Exit

		Case $Button1
			If GUICtrlRead($Input1) = 'azer' And GUICtrlRead($Input2) = 'qweasd' Then
				MsgBox(0,'','Done')
			Else
				Exit
			EndIf

	EndSwitch
WEnd
 

ra4o

AutoIT Гуру
Сообщения
1,165
Репутация
246
Код:
$prog = Run(@ScriptDir & '\TestProg.exe')
    Sleep(200)
    ControlSend('TestProg','','Edit1',$log)
Вы ожидаете, что Ваша программа запустится и будет готова к приёму пароля за 0.2 сек и после ввода верного/не верного пароля отреагирует на это мгновенно ? :scratch: Да, 10 лет на 15 к паролей это я загнул :-[ , но подставьте все задержки реальные и время обработки всех 15 к паролей Вас удивит.
 
Верх