病毒分析02讲.

上传人:我** 文档编号:115760650 上传时间:2019-11-14 格式: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 计算机病毒分析 【上节回顾:点名】 1.概念; 2.命名规则; 3.触发机制; 4.特征码: 5.破坏方式:一切正常功能的利用 6.讲解习题 计算机病毒分析 引导 病毒分析 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、

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

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

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

6、0x00000000未 使用的簇 0x000000020xffffffff一个已分 配的簇号 0xfffffff00xfffffff6 保留的 簇 0xfffffff7 坏簇 0xfffffff8 0xffffffff文件结束簇 计算机病毒分析 2.1.2 系统引导过程 (1)系统硬件的自检测试。执行VGA-BIOS等各种卡的BIOS程序 (2)将CPU中断向量、BIOS中断向量、BIOS数据块载入基本内存 区(前640KB)。 (3) 扫描开机磁盘驱动器,将启动扇区纪录(软盘的)或主引导纪录 (硬盘的)载入地址为0000:7C00H的基本内存区。 (4) 如果是从硬盘启动则转到刚才载入的MB

7、R(0000:7C00H)执行 。在MBR控制下扫描硬盘分区表,找到硬盘启动分区位置,载 入启动扇区(功能同软盘的BR)到(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用于磁盘扇区的读写。使用方

8、法如下。 AH = 2 / 3 ;等于2时进行读操作,等于3时进行写操作 AL = 要读的扇区数; CH = 柱面号(低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、读写扇区的第二方式 l用Debug的命令L和W可以读写分区的扇区。用A命令编程,可以读写 所有扇区。例如下面的代码将主引

9、导扇区数据读到内存4000H:0000H 。 l在DOS下或Windows98下可以用Debug的命令L读引导扇区。例如, 执行下面的命令: lC: Debug l-L4000:0 2 0 1 ;表示将C:的逻辑0扇区共1个扇区读到内存 4000h:0000 l在DOS下或Windows98下可以用int 13H的功能2读主引导扇区。例如 ,执行下面的代码: lmov ah, 2 ;功能号 lmov al, 1 ;读一个扇区 lmov cx, 1 lmov dx, 80h ;读第一块物理硬盘 lmov bx, 4000h ;数据存放地址在ES:BX lmov es, bx lmob bx, 0

10、 lint 13h 计算机病毒分析 3、Windows下方式 l在Windows2000以后的系统,把整个物理磁盘或分区当作一个文件,使用文 件操作函数可以读写扇区。对于读写逻辑分区、软盘和U盘,使用的文件名 为“.A:”(对A:)、“.C:”(对C:)等等。对于读写物理硬盘,使用的文件 名为“.PhysicalDrive0”(对第一块物理硬盘),“.PhysicalDrive1” (对第 二块物理硬盘)等等。 l读扇区的函数实现代码为: lBOOL CDo_DiskDlg:ReadSectors(BYTE bDrive, DWORD dwStartSector, LPBYTE lpSectB

11、uff) l char devName = “.A:“; lULONGLONG pos=(ULONGLONG)(512 * dwStartSector); lDWORD low; long high; llow=(DWORD)pos); high=(long)(pos32); ldevName4 =A + bDrive; lHANDLE hDev = CreateFile(devName, GENERIC_READ, FILE_SHARE_WRITE, NULL, OPEN_EXISTING, 0, NULL); lif (hDev = INVALID_HANDLE_VALUE) return

12、 0; lSetFilePointer(hDev,low , lDWORD dwCB; lBOOL bRet = ReadFile(hDev, cBuf, 512*10 , lCloseHandle(hDev); return bRet; l 计算机病毒分析 2.1.4 程序常驻内存 计算机病毒分析 内存标志 在内存0:413h开始处的两个字节描述内存中未用内存 的高端位置,它的值是kB的倍数。病毒程序首先将自 身复制到内存的高端, 修改内存容量标志单元0:413H, 在原有值的基础上减去病毒长度,使得病毒的int 13h 能够常驻内存, 并将原INT 13H磁盘中断服务程序的中 断向量保存并

13、将该中断向量置成新的INT 13H中断程 序入口, 即加上一段病毒感染程序, 功能是完成当系统 对软盘进行读写操作时, 如果该软盘尚未感染, 则将本 病毒写入该软盘, 完成一次病毒的传播过程。 计算机病毒分析 引导型病毒工作原理 计算机病毒分析 2、感染原理 计算机病毒分析 3、病毒注入系统前后的开机程序 1、软盘中毒前的正常开机程序:开机执行BIOS自我测 试POST填入中断向量表启动扇区(Boot sector)IO.SYSMSDOS.SYSCOMMAND.COM。 2、软盘中毒之后的开机程序:开机执行BIOS自我测试 POST填入中断向量表开机型病毒启动扇区(Boot Sector)IO

14、.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号