病毒分析02讲

上传人:今*** 文档编号:108441018 上传时间:2019-10-24 格式:PPT 页数:27 大小:3.60MB
返回 下载 相关 举报
病毒分析02讲_第1页
第1页 / 共27页
病毒分析02讲_第2页
第2页 / 共27页
病毒分析02讲_第3页
第3页 / 共27页
病毒分析02讲_第4页
第4页 / 共27页
病毒分析02讲_第5页
第5页 / 共27页
点击查看更多>>
资源描述

《病毒分析02讲》由会员分享,可在线阅读,更多相关《病毒分析02讲(27页珍藏版)》请在金锄头文库上搜索。

1、病毒分析 第2讲,授课教师:赵树升 授课日期:2012,计算机病毒分析,【上节回顾:点名】,概念; 命名规则; 触发机制; 特征码: 破坏方式:一切正常功能的利用 讲解习题,计算机病毒分析,引导 病毒分析,2.1.1 磁盘数据结构 2.1.2 系统引导过程与引导扇区分析 2.1.3 读写扇区方式 2.1.4 程序常驻内存 2.2 引导型病毒 2.2.1 引导型病毒原理 2.3 实验1:引导程序设计 2.4 实验2:接管中断程序设计 2.5 清除病毒程序设计,本章 内容,计算机病毒分析,概述,1、引导扇区是磁盘的一个特殊扇区,存放了系统启动所要的代码与数据。 2、引导形病毒指驻留在硬盘的主引导分

2、区或硬软盘的 DOS 引导分区的病毒。由于PC机开机后,会先执行主引导分区的代码,因此病毒可以先于操作系统获得控制权。,计算机病毒分析,2.1 预备知识,1、1987年,具有代表性的是“小球”和“石头”病毒 2、小球病毒:个活蹦乱跳的小圆点,不停地运动,当碰到屏幕边沿就立刻反弹。 3、病毒发作时,系统一经启动,即显示:“Your PC is now stoned!”,计算机病毒分析,2.1.1 磁盘数据结构,1、磁盘格式化:物理驱动器(硬盘)的所有数据区上写零的操作过程,格式化是一种纯物理操作,同时对硬盘介质做一致性检测,并且标记出不可读和坏的扇区。 2、DOS下:Format D:/s,计算

3、机病毒分析,1、Format命令,计算机病毒分析,2、Windows下,计算机病毒分析,3、思考,什么是卷标? 什么是文件系统,有哪些?主要区别?,计算机病毒分析,4 磁盘原理图,计算机病毒分析,1、名词,位 ; 字节 扇区:BIOS读写的基本单位 簇:文件操作的基本单位 柱面: 磁道: 面: ;磁头 磁头上数据:回忆组成原理 引导扇区: 主引导扇区 后面还会讲的,计算机病毒分析,2、引导扇区结构举例,计算机病毒分析,3、回忆,1) 2字节整数、4字节整数在磁盘中存放方式 2) 保存格式验证:二进制打开文件,计算机病毒分析,5、主引导扇区,计算机病毒分析,6、主引导扇区:用WINHEX观察,主

4、引导扇区除了引导代码,还有各逻辑扇区的结构数据块,即分区表。分区表数据从引导扇区偏依0x1be开始,共64个字节。分区表最多只能描述4个分区,每个分区16字节。引导代码的作用就是分析分区表中的4个分区引导标志,当某一分区的引导标志为80H时, 主引导程序就把这一分区的第一个扇区(逻辑0扇区)读到内存0000:7C00H处,并从那儿开始执行。图2-3为一个硬盘MBR中的分区表。例如分区表中D:的数据结构为: 偏移0自举标志0(0x80为活动分区) 偏移1起始磁头号1 偏移2起始扇区号0x41 偏移3起始磁道号0x4b 偏移4为分区格式:FAT32 偏移5终止磁头号0xef 偏移6终止扇区号0xf

5、f 偏移7终止磁道号0xa4 偏移8-11本分区前已用扇区0x3F 偏移12-15本分区总扇区数0x1772361 最后两个字节x55xAA是引导扇区的标志。在硬盘的第一个磁道,除了MBR扇区,其它扇区是没有被使用的。C:的引导扇区一般在第二个磁道的第一个扇区。图2-4描述了图2-3的结构。,计算机病毒分析,7、分区的扇区分布,计算机病毒分析,8、FAT的作用:簇的使用情况,每个逻辑分区的FAT表用来描述磁盘中各簇的使用情况。以FAT32为例,每项值的意义如表2-1。 序号表项值簇描述信息含义 0x00000000未使用的簇 0x000000020xffffffff一个已分配的簇号 0xfff

6、ffff00xfffffff6 保留的簇 0xfffffff7 坏簇 0xfffffff80xffffffff文件结束簇,计算机病毒分析,2.1.2 系统引导过程,(1)系统硬件的自检测试。执行VGA-BIOS等各种卡的BIOS程序 (2)将CPU中断向量、BIOS中断向量、BIOS数据块载入基本内存区(前640KB)。 (3) 扫描开机磁盘驱动器,将启动扇区纪录(软盘的)或主引导纪录(硬盘的)载入地址为0000:7C00H的基本内存区。 (4) 如果是从硬盘启动则转到刚才载入的MBR(0000:7C00H)执行。在MBR控制下扫描硬盘分区表,找到硬盘启动分区位置,载入启动扇区(功能同软盘的B

7、R)到(0000:7C00H)。 如果是从软盘启动则跳过这一步。 (5) 将系统控制权交付载入的启动记录程序(即CS:IP指向0000:7C00H)。 (6) 执行启动记录程序,进行操作系统启动文件的加载(一般是IO.SYS和MSDOS.SYS两个核心文件),之后将系统控制权交付操作系统。,计算机病毒分析,2.1.3 读写扇区方式,1Int 13h 引导型病毒最常用的中断是int 13h,其次可能还有int 16h和int 10h等。Int 13h用于磁盘扇区的读写。使用方法如下。 AH = 2 / 3 ;等于2时进行读操作,等于3时进行写操作 AL = 要读的扇区数; CH = 柱面号(低8

8、位); CL = 扇区号(0-5位);6-7位为柱面号; DH = 磁头号; DL = 驱动器号,软盘A,B为0,1,对第一块硬盘80H,第二块81H,; ES:BX = 数据缓冲区的地址。 输出信息: CF=0,操作成功,AH=0 ,AL=读出的扇区数; CF=1,操作失败,AH=出错状态,同前。 还有一个扩展功能用来读写大硬盘。,计算机病毒分析,2、读写扇区的第二方式,用Debug的命令L和W可以读写分区的扇区。用A命令编程,可以读写所有扇区。例如下面的代码将主引导扇区数据读到内存4000H:0000H。 在DOS下或Windows98下可以用Debug的命令L读引导扇区。例如,执行下面的

9、命令: C: Debug -L4000:0 2 0 1 ;表示将C:的逻辑0扇区共1个扇区读到内存4000h:0000 在DOS下或Windows98下可以用int 13H的功能2读主引导扇区。例如,执行下面的代码: mov ah, 2 ;功能号 mov al, 1 ;读一个扇区 mov cx, 1 mov dx, 80h ;读第一块物理硬盘 mov bx, 4000h ;数据存放地址在ES:BX mov es, bx mob bx, 0 int 13h,计算机病毒分析,3、Windows下方式,在Windows2000以后的系统,把整个物理磁盘或分区当作一个文件,使用文件操作函数可以读写扇区

10、。对于读写逻辑分区、软盘和U盘,使用的文件名为“.A:”(对A:)、“.C:”(对C:)等等。对于读写物理硬盘,使用的文件名为“.PhysicalDrive0”(对第一块物理硬盘),“.PhysicalDrive1” (对第二块物理硬盘)等等。 读扇区的函数实现代码为: BOOL CDo_DiskDlg:ReadSectors(BYTE bDrive, DWORD dwStartSector, LPBYTE lpSectBuff) char devName = “.A:“; ULONGLONG pos=(ULONGLONG)(512 * dwStartSector); DWORD low; l

11、ong high; low=(DWORD)pos); high=(long)(pos32); devName4 =A + bDrive; HANDLE hDev = CreateFile(devName, GENERIC_READ, FILE_SHARE_WRITE, NULL, OPEN_EXISTING, 0, NULL); if (hDev = INVALID_HANDLE_VALUE) return 0; SetFilePointer(hDev,low , ,计算机病毒分析,2.1.4 程序常驻内存,计算机病毒分析,内存标志,在内存0:413h开始处的两个字节描述内存中未用内存的高端位

12、置,它的值是kB的倍数。病毒程序首先将自身复制到内存的高端, 修改内存容量标志单元0:413H, 在原有值的基础上减去病毒长度,使得病毒的int 13h能够常驻内存, 并将原INT 13H磁盘中断服务程序的中断向量保存并将该中断向量置成新的INT 13H中断程序入口, 即加上一段病毒感染程序, 功能是完成当系统对软盘进行读写操作时, 如果该软盘尚未感染, 则将本病毒写入该软盘, 完成一次病毒的传播过程。,计算机病毒分析,引导型病毒工作原理,计算机病毒分析,2、感染原理,计算机病毒分析,3、病毒注入系统前后的开机程序,1、软盘中毒前的正常开机程序:开机执行BIOS自我测试POST填入中断向量表启

13、动扇区(Boot sector)IO.SYSMSDOS.SYSCOMMAND.COM。 2、软盘中毒之后的开机程序:开机执行BIOS自我测试POST填入中断向量表开机型病毒启动扇区(Boot Sector)IO.SYSMSDOS.SYSCOMMAND.COM。 3、硬盘中毒前的正常开机程序:开机执行BIOS自我测试POST填入中断向量表硬盘分区表(Partition Table)启动扇区(Boot Sector)IO.SYSMSDOS.SYSCOMMAND.COM。 4、硬盘中毒之后的开机程序:开机执行BIOS自我测试POST填入中断向量表硬盘分割表(Partition Table)开机型病毒启动扇区(Bootector)IO.SYSMSDOS.SYSCOMMAND.COM。,计算机病毒分析,【作业】,1、高级语言模拟“小球病毒”:一个活蹦乱跳的小圆点,不停地运动,当碰到屏幕边沿就立刻反弹。 2、猜测 “石头病毒”现象原理。画出原理图,

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号