计算机病毒及其防范技术(第2版)第4章 传统计算机病毒.pptVIP

计算机病毒及其防范技术(第2版)第4章 传统计算机病毒.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第三章 计算机病毒结构分析 上海交通大学信息安全工程学院 刘功申 本章学习目标 了解COM、EXE、NE、PE可执行文件格式 掌握引导型病毒原理及实验 掌握COM文件病毒原理及实验 掌握PE文件型病毒及实验 总体概念 DOS病毒定格在5000多种 DOS是VXer的乐园(Aver) 9x病毒 ring3, ring0 2K病毒 主要是ring3 Windows文件格式变迁: COM EXE:MZ-NE-PE Vxd: LE(16Bit, 32Bit) 章节主要内容 一、引导型病毒编制原理及实验 二、16位COM可执行文件病毒原理及实验 三、32位PE可执行文件病毒原理及实验 一、引导型病毒编制原理及实验 PC引导流程 引导区病毒实验 【实验目的】 通过实验,了解引导区病毒的感染对象和感染特征,重点学习引导病毒的感染机制和恢复感染染毒文件的方法,提高汇编语言的使用能力。 【实验内容】 本实验需要完成的内容如下: 引导阶段病毒由软盘感染硬盘实验。通过触发病毒,观察病毒发作的现象和步骤学习病毒的感染机制;阅读和分析病毒的代码。 DOS运行时病毒由硬盘感染软盘的实现。通过触发病毒,观察病毒发作的现象和步骤学习病毒的感染机制;阅读和分析病毒的代码。 【实验环境】 VMWare Workstation 5.5.3 MS-DOS 7.10 【实验素材】 附书资源experiment目录下的bootvirus目录。 实验过程 第一步:环境安装 安装虚拟机VMWare,在虚拟机环境内安装MS-DOS 7.10环境。安装步骤参考附书资源。 第二步:软盘感染硬盘 1、运行虚拟机,检查目前虚拟硬盘是否含有病毒。如图表示没有病毒正常启动硬盘的状态。 2、在附书资源中拷贝含有病毒的虚拟软盘virus.img。 3、将含有病毒的软盘插入虚拟机引导,可以看到闪动的字符*^_^*,如左图4。按任意键进入右图画面。 第三步:验证硬盘已经被感染 1、取出虚拟软盘,通过硬盘引导,再次出现了病毒的画面。 2、按任意键后正常引导了dos系统。可见,硬盘已经被感染。 第四步:硬盘感染软盘 1、下载empty.img,并且将它插入虚拟机,启动电脑,由于该盘为空,如图显示。 2、取出虚拟软盘,从硬盘启动,通过命令format A: /q快速格式化软盘。可能提示出错,这时只要按R即可。如图所示。 3、成功格式化后的结果如图所示。 4、不要取出虚拟软盘,重新启动虚拟机,这时是从empty.img引导,可以看到病毒的画面,如左图所示。按任意键进入如右图画面。可见,病毒已经成功由硬盘传染给了软盘。 二、 16位COM可执行文件病毒原理及实验 COM格式 最简单的可执行文件就是DOS下的以COM(Copy Of Memory)文件。 COM格式文件最大64KB,内含16位程序的二进制代码映像,没有重定位信息。 COM文件包含程序二进制代码的一个绝对映像,也就是说,为了运行程序准确的处理器指令和内存中的数据,DOS通过直接把该映像从文件拷贝到内存来加载COM程序,系统不需要作重定位工作。 加载COM程序 DOS尝试分配内存。因为COM程序必须位于一个64K的段中,所以COM文件的大小不能超过65,024(64K减去用于PSP的256字节和用于一个起始堆栈的至少256字节)。 如果DOS不能为程序、一个PSP、一个起始堆栈分配足够内存,则分配尝试失败。 否则,DOS分配尽可能多的内存(直至所有保留内存),即使COM程序本身不能大于64K。 在试图运行另一个程序或分配另外的内存之前,大部分COM程序释放任何不需要的内存。 分配内存后,DOS在该内存的头256字节建立一个PSP(Program Segment Prefix:程序段前缀)。 创建PSP后,DOS在PSP后立即开始(偏移100H)加载COM文件,它置SS、DS和ES为PSP的段地址,接着创建一个堆栈。 DOS通过把控制传递偏移100H处的指令而启动程序。程序设计者必须保证COM文件的第一条指令是程序的入口点。 因为程序是在偏移100H处加载,因此所有代码和数据偏移也必须相对于100H。汇编语言程序设计者可通过置程序的初值为100H而保证这一点(例如,通过在源代码的开始使用语句org 100H)。 PSP结构 偏移大小????长度(Byte)? 说 明 0000h??????????? 02???? ? 中断20H 0002h??????????? 02? ?? ? 以节计算的内存大小(利用它可看出是否感染引导型病毒) 0004h??????????? 01? ???? 保留 0005h??????????? 05? ???? 至DOS的长调用 000Ah??????????? 02? ???? INT 22H

文档评论(0)

hmzhang + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档