亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 學院 > 開發設計 > 正文

QQ尾巴病毒的發送原理分析

2019-11-18 18:29:47
字體:
來源:轉載
供稿:網友
QQ尾巴病毒的發送原理分析
近來QQ尾巴病毒大肆發作,我也是經常收到網友們發到來的帶尾巴的消息,于是,好奇心一來,我也來研究研究此病毒的發作原理。首先,我不知道QQ尾巴病毒真正的原理,我只是猜測并且自己寫了一個類似的程序來實現它。
 
QQ尾巴的發作情況:當用戶打開一個QQ消息發送窗口時,病毒會自動往消息文本框里輸入文本,然后不等用戶反應過來就發出去了。
 
程序實現:首先要找到QQ消息發送窗口的句柄以及消息文本框與“發送”按鈕的窗口句柄。
 
一、             如何找到QQ消息發送窗口句柄:
QQ消息發送窗口有兩種,一種是消息模式,在這種情況下,窗口標題含有“發送消息”字樣;一種是聊天模式,窗口標題含有“聊天中”字樣;
通過枚舉窗口就可找到相應的句柄:
// 取得QQ的發送消息窗口
function GetQQWnd: HWND;
var
  hCurrentWindow: HWnd;
  WndText:String;
begin
  hCurrentWindow := GetWindow(application.Handle, GW_HWNDFIRST);
  while hCurrentWindow <> 0 do
  begin
    WndText:=GetWndText(hCurrentWindow);
    if (Pos('聊天中',WndText)>0) or (Pos('發送消息',WndText)>0) then
    begin
      Result:=hCurrentWindow;
      Exit;
    end;
    hCurrentWindow := GetWindow(hCurrentWindow, GW_HWNDNEXT);
  end;
  Result:=0;
end;
 
二、             如何找到“發送”按鈕窗口句柄:
找到了QQ的發送消息窗口后,就可以進一步查找“發送”按鈕句柄了,如窗口句柄為qqWnd,則可以用一個循環,查找文本中含有“發送”字樣的窗口,經過試驗發現,“發送”按鈕恰恰是窗體的第一個子窗口,這樣,可以用
btnWnd:=GetDlgItem(qqWnd,1);  // 發送按鈕
來獲得“發送”按鈕的句柄。
 
三、             如何找到消息文本框窗口句柄:
消息文本框并不好找,不過你可以先在消息文本框中輸入幾個字母,如“abcd”,這樣我們就可以用上述方法來查找了,不過通過實驗后,發現消息文本框并不是QQ窗口的直接子窗口,而是其中一個子窗口的子窗口,通過實驗,可以用
txtWnd:=GetWindow(GetDlgItem(qqWnd,0),GW_CHILD);  // 文本框
來獲得。
 
四、             如何獲得原消息文本框的文本:
要獲取原消息文本框的文本,只需要一個API函數就行了,如下:
// 獲得窗口文本
function GetWndText(hWnd: HWND): String;
Var
  Ret:LongInt;
  mText:PChar;
  Buf:Integer;
begin
  Ret:=SendMessage(hWnd,WM_GETTEXTLENGTH,0,0)+1;
  GetMem(mText,Ret);
  try
    Buf:=LongInt(mText);
    SendMessage(hWnd,WM_GETTEXT,Ret,Buf);
    Result:=StrPas(mText);
  finally
    FreeMem(mText,Ret);
  end;
end;
 
五、             如何住原消息文本框里追加文本:
與取文本相反
// 發送文本到窗口
PRocedure SetWndText(hWnd: HWND; Text: String);
Var
  Ret:LongInt;
  mText:PChar;
  Buf:Integer;
begin
  GetMem(mText,Length(Text));
  StrCopy(mText,PChar(Text));
  try
    Buf:=LongInt(mText);
    SendMessage(hWnd,WM_SETTEXT,0,Buf);
  finally
    FreeMem(mText,Length(Text));
  end;
end;
六、             如果讓“發送”按鈕自動點擊:
一切都準備好了,現在要開始發送了,為了讓消息自動發送,我們可以模擬“發送”按鈕被點擊了。
  SendMessage(btnWnd,WM_LBUTTONDOWN,MK_LBUTTON,0);
  SendMessage(btnWnd,WM_LBUTTONUP,0,0);
通過模擬一個鼠標在“開始”按鈕上的按下與放開,就實現了點擊發送功能。
 
七、             其它的定時功能比較簡單,在此也不多說了。
 
八、             全部源代碼如下:
unit Unit1;
 
interface
 
uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, ExtCtrls;
 
type
  TForm1 = class(TForm)
    Timer1: TTimer;
    Button1: TButton;
    Edit1: TEdit;
    Label1: TLabel;
    Button2: TButton;
    procedure Timer1Timer(Sender: TObject);
    procedure Button1Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;
 
var
  Form1: TForm1;
 
implementation
 
{$R *.dfm}
 
// 獲得窗口文本
function GetWndText(hWnd: HWND): String;
Var
  Ret:LongInt;
  mText:PChar;
  Buf:Integer;
begin
  Ret:=SendMessage(hWnd,WM_GETTEXTLENGTH,0,0)+1;
  GetMem(mText,Ret);
  try
    Buf:=LongInt(mText);
    SendMessage(hWnd,WM_GETTEXT,Ret,Buf);
    Result:=StrPas(mText);
  finally
    FreeMem(mText,Ret);
  end;
end;
// 發送文本到窗口
procedure SetWndText(hWnd: HWND; Text: String);
Var
  Ret:LongInt;
  mText:PChar;
  Buf:Integer;
begin
  GetMem(mText,Length(Text));
  StrCopy(mText,PChar(Text));
  try
    Buf:=LongInt(mText);
    SendMessage(hWnd,WM_SETTEXT,0,Buf);
  finally
    FreeMem(mText,Length(Text));
  end;
end;
// 取得QQ的發送消息窗口
function GetQQWnd: HWND;
var
  hCurrentWindow: HWnd;
  WndText:String;
begin
  hCurrentWindow := GetWindow(Application.Handle, GW_HWNDFIRST);
  while hCurrentWindow <> 0 do
  begin
    WndText:=GetWndText(hCurrentWindow);
    if (Pos('聊天中',WndText)>0) or (Pos('發送消息',WndText)>0) then
    begin
      Result:=hCurrentWindow;
      Exit;
    end;
    hCurrentWindow := GetWindow(hCurrentWindow, GW_HWNDNEXT);
  end;
  Result:=0;
end;
// 定時處理
procedure TimerProc;
var
  qqWnd,txtWnd,btnWnd:HWND;
  Msg:String;
begin
  qqWnd:=GetQQWnd;
  if qqWnd=0 then Exit;
 
  btnWnd:=GetDlgItem(qqWnd,1);  // 發送按鈕
  txtWnd:=GetWindow(GetDlgItem(qqWnd,0),GW_CHILD);  // 文本框
  if (btnWnd=0) or (txtWnd=0) then Exit;
  Msg:=GetWndText(txtWnd);
  Msg:=Msg+#13+#10+'歡迎光臨綠蔭網絡http://www.lvyin.net';
  SetWndText(txtWnd,Msg);
  SendMessage(btnWnd,WM_LBUTTONDOWN,MK_LBUTTON,0);
  SendMessage(btnWnd,WM_LBUTTONUP,0,0);
end;
 
procedure TForm1.Timer1Timer(Sender: TObject);
begin
  TimerProc;
end;
 
procedure TForm1.Button1Click(Sender: TObject);
begin
  Timer1.Enabled :=not Timer1.Enabled;
  if Timer1.Enabled then
    Button1.Caption :='停 止'
  else
    Button1.Caption :='開 始';
end;
 
procedure TForm1.Button2Click(Sender: TObject);
begin
  Timer1.Interval :=StrToInt(Edit1.Text);
end;
 
end.

上一篇:定制遠程登陸窗口

下一篇:如何使程序在運行時自動注冊ActiveX控件

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
學習交流
熱門圖片

新聞熱點

疑難解答

圖片精選

網友關注

亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
91九色在线视频| 国产精品高潮呻吟视频| 一区二区日韩精品| 亚洲美女在线看| 亚洲精品自在久久| 亚洲欧美中文字幕| 欧美黄色www| 久久福利视频网| 久久免费少妇高潮久久精品99| 国外视频精品毛片| 最新91在线视频| 国产日韩中文在线| 日韩在线视频中文字幕| 亚洲一区二区三区777| 成人亚洲欧美一区二区三区| 欧美性猛交xxxx乱大交蜜桃| 黑人与娇小精品av专区| 亚洲美女在线看| 国产精品jizz在线观看麻豆| 亚洲第一网站免费视频| 久久乐国产精品| 久久久免费精品视频| 亚洲乱码一区二区| 欧美午夜宅男影院在线观看| 国产精品偷伦一区二区| 亚洲欧洲黄色网| 国产精品久久久久久久久久小说| www亚洲欧美| 欧美久久精品一级黑人c片| 欧美性资源免费| 日韩电视剧在线观看免费网站| 亚洲bt欧美bt日本bt| 亚洲欧美激情精品一区二区| 国产精品久久9| 国产精品91免费在线| 最近2019中文字幕第三页视频| 亚洲黄色在线看| 精品国产一区二区三区久久狼5月| 亚洲第一av网| 色综合导航网站| 日韩久久精品电影| 国产午夜精品视频| 国产69精品久久久久9| 伊人一区二区三区久久精品| 亚洲国产成人精品久久| 精品国产91乱高清在线观看| 成人免费视频网| 欧美精品一区三区| 亚洲自拍av在线| 狠狠躁天天躁日日躁欧美| 黄色91在线观看| 成人在线观看视频网站| www.日韩.com| 深夜福利亚洲导航| 久久久www成人免费精品张筱雨| 国产精品国产三级国产aⅴ浪潮| 日本欧美爱爱爱| 91tv亚洲精品香蕉国产一区7ujn| 色偷偷av亚洲男人的天堂| 国产一区二区三区欧美| 欧美精品久久久久a| 精品一区二区亚洲| 精品国产一区二区三区久久久狼| 欧美孕妇与黑人孕交| 91精品久久久久久久久中文字幕| 九九热这里只有在线精品视| 中文字幕精品av| 欧美性猛交xxxxx水多| 国产精品久久久久久久久久尿| 日韩电影免费在线观看中文字幕| 欧美黑人极品猛少妇色xxxxx| 国产视频精品在线| 欧美日韩中文字幕综合视频| 国产精品aaaa| 亚洲激情视频在线| 国产一区二区三区在线视频| 成人动漫网站在线观看| 91精品在线观| 国内精品国产三级国产在线专| 国产精品成av人在线视午夜片| 在线观看精品国产视频| 色偷偷88888欧美精品久久久| 永久免费毛片在线播放不卡| 欧美高清视频一区二区| 欧美激情精品久久久久久| 国产精品偷伦免费视频观看的| 2023亚洲男人天堂| 久久亚洲精品一区二区| 成人欧美一区二区三区黑人孕妇| 91精品国产777在线观看| 精品偷拍各种wc美女嘘嘘| 韩国一区二区电影| 亚洲欧美精品一区| 亚洲欧美国产精品专区久久| 91天堂在线观看| 91高清视频免费观看| 精品国产乱码久久久久酒店| 日韩激情av在线播放| 91精品视频在线播放| 久久久久国产一区二区三区| 亚洲国产精品成人一区二区| 92版电视剧仙鹤神针在线观看| 欧美午夜女人视频在线| 国产精品青青在线观看爽香蕉| 亚洲欧洲免费视频| 久久久精品视频在线观看| 日韩在线观看免费高清| 欧美激情高清视频| 国产精品久久久久久久久久久新郎| 97久久精品人搡人人玩| 国产精品久久久久av| 欧美精品久久久久久久久久| 美女久久久久久久| 欧美日韩午夜视频在线观看| 亚洲视频在线观看视频| 国产精品久久在线观看| 成人写真视频福利网| 日韩中文字幕在线视频| 国自产精品手机在线观看视频| 亚洲欧美激情精品一区二区| 亚洲欧美日韩区| 亚洲黄色av网站| 国产91精品黑色丝袜高跟鞋| 欧美精品成人在线| 欧美视频一区二区三区…| 国产精品一区专区欧美日韩| 亚洲人成电影网站色…| 欧美成人激情视频免费观看| 亚洲精品美女久久久| 国产欧洲精品视频| 色午夜这里只有精品| 日韩免费av在线| 69av在线播放| 亚洲黄页视频免费观看| 欧美国产在线电影| 久久久天堂国产精品女人| 九九精品视频在线观看| 国产精品99久久久久久www| 久久久国产精彩视频美女艺术照福利| 久久精品夜夜夜夜夜久久| 亚洲男女性事视频| 欧美美女操人视频| 国产精品自产拍在线观看中文| 亚洲专区国产精品| 色综合久久精品亚洲国产| 亚洲电影在线观看| 亚洲国产精品久久| 久久精品国产欧美激情| 欧美精品一区在线播放| 欧美大片在线影院| 91精品国产综合久久久久久久久| 91成品人片a无限观看| 国产成人精品免高潮费视频| 日韩国产精品亚洲а∨天堂免| 97国产在线观看| 精品久久国产精品| 久久国内精品一国内精品| 国产精品第二页| 国产精品丝袜久久久久久高清| 日韩精品免费综合视频在线播放| 91久久久久久国产精品| 欧美激情在线视频二区| 国产精品久久二区| 欧美在线视频观看|