




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
宏病毒的原理及实现宏(macro),就是软件设计者为了在使用软件工作时,避免一再的重复相同的动作而设计出来的一种工具。它利用简单的语法,把常用的动作写成宏,当再工作时,就可以直接利用事先写好的宏自动运行,去完成某项特定的任务,而不必再重复相同的动作。什么是“宏”?MicrosoftOffice、wps等办公软件魔兽世界、剑网等游戏
哪里用到“宏”?Office宏的定义:MicrosoftWord中对宏定义为:“宏就是能组织到一起作为一独立的命令使用的一系列word命令,它能使日常工作变得更容易”
宏语言宏语言即VISUALBASICFORAPPLICATION,简称VBA。VBA可以访问许多操作系统函数并支持文档打开时自动执行宏
——这使得用这种语言写计算机病毒成为可能Office各版本及其宏语言年份Office版本宏语言1987Excel4.0formula1991Excel5.0VBA31993Word6.0WordBasic1997Office97applicationsVBA51999Office2000(WORD10)VBA62001OfficeXPVBA6.22003Office2003(WORD11)VBA6.32006Office2007(WORD12)VbA6.56Office自带VisualBasic编辑器注:1、调用VB编辑器的快捷方式:Alt+F112、查看宏的快捷键:Alt+F8office2007查看宏代码可以点击:视图>宏>编辑VBA简介直到90年代早期,使应用程序自动化还是充满挑战性的领域。对每个需要自动化的应用程序,人们不得不学习一种不同的自动化语言。例如:用EXCEL的宏语言来使EXCEL自动化,使用WORDBASIC使WORD自动化等等。微软开发出来的应用程序共享一种通用的自动化语言--VisualBasicForApplication(VBA),实际上VBA是寄生于VB应用程序的版本。VB是设计用于创建标准的应用程序,而VBA是使已有的应用程序(EXCEL等)自动化。word创建宏Word提供了两种创建宏的方法:宏录制器和VisualBasic编辑器。宏录制器可帮助用户开始创建宏。Word在VBA
编程语言中把宏录制为一系列的Word命令。可在VisualBasic
编辑器中打开已录制的宏,修改其中的指令。也可用VisualBasic
编辑器创建包括VisualBasic指令的非常灵活和强有力的宏,这些指令无法采用录制的方式。基于word的VBA编程SubAutoOpen()’定义函数名,AutoXXX为自动宏WhileTrue’恶意代码,死循环Msgbox”Helloworld”
’调用对话框显示消息WendEndSub’函数到此结束基于word的VBA编程SubAutoOpen()Command.Caption=Shell"C:\ProgramFiles\InternetExplorer\IEXPLORE.EXE"
vbNormalFocusFori=1To10……Documents.Add’新添加一个word文档NextiEndSub
Word应用的层次Documents(所有的文档)Document(一个文档)Templates(所有模板)Windows(所有窗口)SelectionStyleRange…………调用操作系统Shell函数打开已安装的应用程序Office有了宏,宏在office中的什么位置?为了方便人们使用宏以及宏文件的传递使用,Word定义出一种文件格式,将文档以及该文档所需要的宏合在一起放在后缀为.dot的文件之中。正因为这种是宏也是资料的文档格式,便产生了宏感染的可能性。但是,Normal.dot上不能用来存储数据,每次修改后都需另外保存。有没有一种文档格式,既可以存储宏,又可以用来存储数据????一、模板文件格式:
.dot文档:模板文档,新文档继承模板的属性(宏、菜单、格式等)。
Normal.dot文件:全局模板,在建立整个文档中所起的作用是作为一个基类,是新建文档默认的模板。
二、数据文件格式
.doc———一种可以存贮宏的普通文档;.docx——一种不包含宏的普通文档;
.docm——一种包含宏或启用了宏的文档;
.dotx——一种不包含宏的模板;
.dotm——一种包含宏或启用了宏的模板。
宏就在office文档里用普通文档即可传播宏文件
写代码简单,传播更简单,那么,我们可不可以做点别的事?
其实宏病毒的出现并非出乎人们的意料,早在80年代后期就有专家预言过。那时,有些学生就用某些应用程序的宏语言编写病毒。然而,宏病毒与普通病毒不同,它不感染.EXE或.COM文件,而只感染文档文件。宏病毒就像自然界中令人恐惧的龙卷风,对人们正常使用计算机进行学习和工作带来了不可估量的影响,同时也造成了社会财富的巨大浪费。1.Concept宏病毒
世界上的第一个宏病毒Concept可以感染Windows和苹果机上的MicrosoftWord文档。这个病毒是用MicrosoftWord6.0中的宏语言编写的,但它也能感染其他Word版本创建的文档。
看起来编写Concept宏病毒是为了证明确实可以用宏编程语言编写病毒。因此,Concept宏病毒只是显示一个对话框,宣示它的存在,并不故意破坏磁盘上的任何文件。2Nuclear宏病毒这是一个对操作系统文件和打印输出有破坏功能的宏病毒。这个宏病毒中包含以下病毒宏:AutoExec
AutoOpen
DropSuriv
FileExit
FilePrint
FilePrint
DefaultFile
SaveAs
这些宏是只执行(Execute-only)宏Nuclear宏病毒造成的破坏现象为:(1)打开一个染毒文档井打印的时候,它会在您打印的最后一段加上“STOPALLFRENCHNUCLEARTESTINGINTHEPACIFIC!”,这个现象是在每分钟的55秒~60秒之间操作打印时发生。(2)如果在每天17:00~18:00之间打开一个染毒文档,Nuclear病毒会将PH33R病毒传染到计算机上,这是个驻留型病毒。(3)在每年的4月5日,该病毒会将计算机上IO.SYS和MSDOS.SYS文件清零,并且删除C盘根目录上的COMMAND.COM文件。一旦病毒发作,MSDOS就不可能被引导,计算机将陷入瘫痪。3台湾一号病毒台湾一号病毒会在每月的13日影响您正常使用Word文档和编辑器。它包含以下病毒宏:AutoClose、AutoNew、AutoOpen这些宏是可被编辑宏。在病毒宏中含有如下的语句:IfDay(Now())=13Then...这条语句与13日有关。台湾一号病毒造成的危害是:在每月13日,若用户使用Word打开一个带毒的文档(模板)时,病毒会被激发。激发时的现象是:在屏幕正中央弹出一个对话框,该对话框提示用户做一个心算题,如做错,它将会无限制地打开文件,直至Word内存不够,Word出错为止;如心算题做对,会提示用户“什么是巨集病毒(宏病毒)?”,回答“我就是巨集病毒”,再提示用户:“如何预防巨集病毒?”,回答是“不要看我”。2.1宏病毒简介什么是宏病毒?宏病毒是一种寄存在文档或模板的宏中的计算机病毒。一旦打开这样的文档,其中的宏自动被执行,于是宏病毒就会被激活,转移到计算机上,并驻留在Normal模板上。从此以后,所有自动保存的文档都会“感染”上这种宏病毒,而且如果其他用户打开了感染病毒的文档,宏病毒又会转移到他的计算机上。宏病毒的特点(1)宏病毒会感染.DOC文档和.DOT模版文件。(2)宏病毒的传染通常是WORD在打开一个带宏病毒的文档或模版时,激活宏病毒。(3)多数宏病毒包含AutoOpen、AutoClose、AutoNew和AutoExit等自动宏,通过这些自动宏病毒取得文档(模版)操作权。(4)宏病毒中总是含有对文档读写操作的宏命令。(5)病毒原理简单,制作比较方便。(6)传播速度相对较快。WORD宏病毒的生命周期21→编程语言:VBA、WordBasic等→运行环境:VBEWord宏病毒的感染过程宏病毒原理大揭秘1、降低宏安全级别以office2003版为例
IfApplication.Version<>“11.0”Then’判断office版本
strFullname=ThisWorkbook.FullName'取得当前工作薄的全名
strVBS=Replace(UCase(strFullname),".XLS",".vbs")
‘temp文件VBS的文件名
SetWSH=CreateObject(“Wscript.Shell”)’创建Wscript对象
Err.Clear
OnErrorResumeNext’出错不提示,继续
regStr="HKEY_CURRENT_USER\Software\Microsoft\Office\11.0\Word\Security\Level“'注册表中Excelvba安全级别位置
ret=WSH.RegRead(regStr)'读取当前安全级别
IfErr.Number<>0Then
'判断读取是否成功
vbOKOnly+vbCritical,"Keanjeason"
ExitSub
Else
'如果当前ExcelVBA安全级别不为“低”,则设置为“低”,值1-4分别对应:低,中,高,非常高
IfVal(ret)<>1Thenret=WSH.RegWrite(regStr,"1","REG_DWORD")
EndIf1、用户使用Word执行打开文档、保存文档、打印文档和关闭文档等操作时,Word会查找指定的标准宏:例1:关闭文档之前查找“FileSave”宏,如果存在,首先执行这个宏例2:打印文档之前首先查找“FilePrint”宏,如果存在则执行这个宏2、Word中另外还有一些以“Auto”开始的宏(自动宏),如“AutoOpen”、“AutoClose”等,如果建立了这些宏,打开/关闭文档的时候将自动执行这些宏,这些宏一般是全局宏,对任何Word文档都有效。
病毒触发要隐含在正常的操作中,这些自动执行的宏然是最好的宿主。2、文档的控制权获取宏病毒常用到的宏如下表所示类别宏名运行条件自动宏AutoExec启动Word或加载全局模板时AutoNew每次创建新文档时AutoOpen每次打开已存在的文档时AutoClose在关闭文档时AutoExit在退出Word或卸载全局模板时标准宏FileSave保存文件FileSaveAs改名另存为文件FilePrint打印文件FileOpen打开文件
高明的病毒编写者其自我保护将做得非常好,可以使word的一些工具栏失效,例如将工具菜单中的宏选项屏蔽,也可以修改注册表达到很好的隐藏效果。常用代码示例:OnErrorResumeNext'如果发生错误,不弹出出错窗口,继续执行下面语句Application.DisplayAlert=wdAlertsNoe'不弹出警告窗口Application.EnableCancelKey=wdCance
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 地方课程课题申报书
- 亚马逊购买店铺合同范本
- 动漫授权协议合同范本
- mcn公司合伙合同范例
- 合同范本理解写好
- 个人软件销售合同范本
- 合伙餐饮采购合同范本
- 知识产权保护高地建设的实施计划
- 推动农业新质生产力发展路径探索
- 民营经济高质量发展推动力的关键措施
- (必刷)湖南省医学院校高职单招职业技能测试必会题库(含往年真题)
- 2025《医药企业防范商业贿赂风险合规指引》解读课件
- 血透病人皮肤瘙痒课件
- 2025年度船舶焊接维修工程合同范本资料下载
- 贵州茅台课程设计
- 充电桩的建设合作方案
- 工业摄像头知识培训课件
- 2024-2025学年六年级数学人教版上册寒假作业(综合基础复习篇含答案)
- DB33T 1134-2017 静钻根植桩基础技术规程
- 楼梯塑料滴水线施工方案
- 航天器空间飞行器动力学与控制考核试卷
评论
0/150
提交评论