黑客大曝光第十周分解.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
计算机病毒及其防治技术 本周主要内容:     第4章 计算机病毒寄生环境分析     第5章 计算机病毒的感染机制     第6章 计算机病毒的触发机制 第4章 计算机病毒寄生环境分析 4.1 磁盘引导区结构 4.2 com文件结构 4.3 exe文件结构 4.4 PE文件结构 4.5 VxD文件结构 4.6 其他可感染病毒存储介质结构 4.7 系统的启动与加载 4.8 BIOS与DOS的中断 4.9 计算机病毒与系统安全漏洞 4.1 磁盘引导区结构 主引导扇区 引导扇区,或称为主引导记录(MBR)是物理硬盘的第一个扇区,其位置在硬盘的0柱面0磁头1扇区。 MBR中包含了主引导程序和硬盘分区表。当MBR中感染病毒后,病毒程序将替代主引导程序,原来的主引导程序通常被转移到其他地方。 基于DOS的主引导扇区包含经典的主引导程序,具有最好的兼容性,可在各种DOS和Windows版本正常工作。如果主引导扇区感染了病毒,可以使用基于DOS的主引导程序覆盖之,可消除病毒。 逻辑引导扇区 硬盘活动分区的引导扇区或系统软盘的引导扇区(下称逻辑引导扇区)结构基本相同,包含两方面的内容:逻辑引导程序和磁盘基数表。 逻辑引导程序是在逻辑格式化时建立的,其内容与所使用的高级格式化软件(或操作系统)有关。 对于Windows 95/98/Me格式化的磁盘分区,通常使用FAT32文件系统。FAT32文件系统的逻辑引导扇区的结构与MS-DOS类似。 磁盘系统引导扇区中,有整个逻辑盘的重要数据,即系统参数块(BPB)。BPB在磁盘逻辑格式化时写入逻辑磁盘的引导区中,位置从引导扇区的0BH字节地址开始存放。FAT32的BPB对FAT16的BPB进行了扩充,可以通过DEBUG来读取硬盘的BPB参数区内容。 引导型病毒 引导型病毒是一种在ROM BIOS之后,系统引导时出现的病毒,它先于操作系统执行,依托的环境是BIOS中断服务程序。引导型病毒是利用操作系统的引导模块放在某个固定的位置,并且控制权的转交方式是以物理地址为依据,而不是以操作系统引导区的内容为依据,因而病毒占据该物理位置即可获得控制权。主引导扇区和逻辑引导扇区就是引导型病毒寄生的场所。病毒寄生在引导扇区后,将真正的引导区程序转移或替换,待病毒程序执行后,再将控制权交给原来真正的引导区程序,使得这个带病毒的系统看似正常运转,而病毒已隐藏在系统中,并伺机传染、发作。 4.2 com文件结构 在可执行文件中,com文件的结构是最简单的。com文件只使用一个段,文件中的程序和数据的大小限制在64KB内。 执行一个com文件时,DOS把com文件装入到系统分配的一个内存块中。在内存块的最前面为该程序建立一个程序段前缀PSP,PSP的大小为100H字节,com文件的内容直接读入到PSP之后的内存中,在运行com文件程序前,4个段寄存器CS、DS、ES、SS都初始化为PSP的段地址,堆栈指针SP被设置为FFFEH,指令指针IP设置为100H。然后开始执行这个com程序。 每一个程序都有一个环境段,其中包括环境变量的设置值。环境变量可以用SET命令显示和设置。环境块中环境变量的格式为:NAME=string。每一项后面都以“00H”字节结束。整个列表后面再跟一个字节“00H”,表示环境变量列表的结束。正在执行的程序的文件名也放在环境段中。环境段的值放在PSP: [02CH]中,如图所示。 4.3 exe文件结构 一个DOS下的exe文件可以包含多个段,每个段的长度在64KB内。exe文件中的程序、数据总的大小可以超过64KB。 EXE文件分为两个部分,exe文件头和装入模块。文件头描述整个exe文件的一些信息,在装入过程中由DOS使用。exe文件的格式如下图所示。 在执行一个exe文件时,操作系统根据文件头的信息,为其分配内存块、生成环境段、建立PSP,其过程和执行com文件时基本相同。 exe文件中装入模块的内容直接读入到PSP之后的内存。程序段前缀PSP所在的段称为起始段值,其值由操作系统根据动态内存使用情况决定。DS、ES初始化为PSP的段地址,CS、IP和SS、SP根据文件头中相应字段的内容进行赋值,段寄存器CS和SS等于文件头中相应字段的值,再加上PSP的段值(即起始段值)。 对exe文件的装入模块中,如果其中的指令或数据使用了段地址,装入程序还需要进行重定位。通过重定位表,取出每一个重定位项进行处理。重定位项实际上是一个4字节指针,包括段和偏移两个部分,将段加上起始段值得到一个段值,再结合偏移,就可以定位到装入模块的一个字,将这个字的内容加上起始段值,然后开始执行这个exe程序,如图所示。

文档评论(0)

jiayou10 + 关注
实名认证
内容提供者

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

版权声明书
用户编号:8133070117000003

1亿VIP精品文档

相关文档