试验2文件型病毒
XI`AN TECHNOLOGICAL UNIVERSITY 实验报告 实验课程名称实验课程名称文件型病毒文件型病毒 专专业:业:信息对抗技术信息对抗技术 班班级:级: 130609 130609 姓姓名:名:李佩隆李佩隆 学学号:号: 130609105 130609105 实验学时:实验学时: 12 12 学时学时 指导教师:指导教师:曹子建曹子建 成成绩:绩: 2016 2016年年 3 3 月月 22 22 日日 一.实验目的一.实验目的 1.了解文件型病毒的原理 2.了解 PE 文件结构 3.了解文件型病毒的发现方法 4.了解病毒专杀工具的基本原理 二.实验步骤二.实验步骤 一.验证利用 OllyDBG 修改病毒感染程序 (1)进入实验平台,单击工具栏“实验目录”按钮,进入文件型病毒实验目录。新建 文件夹“text” ,将文件夹“hei”下的hei0.(未感染病毒的可执行程序)复制到text 目录 中。点击工具栏“LaborDayVirus”按钮,将目录中的 LaborDayVirus.也复制到 text 目录 中。将系统时间调整为 5 月 1 日,双击 text 目录下 LaborDayVirus.感染 hei0. 文件, 观察 hei0. 感染病毒前后的大小变化。 (2)单击工具栏“OllyDBG”按钮启动 ollyDbg1.10,单击文件菜单中的“打开”项, 选择要修复的 hei0.。由于病毒修改了原程序的入口点,因此会有程序入口点超出代码范 围的提示 单击“确定”按钮继续,程序会停在病毒修改后的程序入口点( hei0. 的入口点为 0 x00403200)上,在代码中找到最后一个jmp 指令处(病毒感染完成后将跳转回原程序) , 按 F2 设置断点,按 F9 运行,程序会在刚设置的 jmp 断点上中断,查看 EAX 寄存器的值 (EAX=0 x401000 注意上面提到的断点, 下面还会用到) , 按 F7 单步执行到下一条指令地址, 点选鼠标右键,选择菜单中的“用ollyDump 脱壳调试进程” ,选中重建输入表方式1,方式 2 各脱壳一次,分别保存为1.、2.。测试两个程序是否还具有病毒的传染特性 二.病毒感染机制分析 (1) 准备一个没有感染病毒的可执行程序和一个感染病毒的可执行程序,将其分别重命 名为 hei0.ex_,hei.ex_,并复制到一个新的目录下用于调试、对比。 (2)进入实验平台,点击工具栏中的“PE”按钮,使用 PE Explorer 分别打开 hei.ex_ 和 hei0.ex_文件,对比两个文件入口点(OEP--Address of Entry Point)和 Image Base 并分别 记录 hei. hei0. hei0. hei. OEP 00001000 00003200 ImageBase 00400000h 00400000h 点击 “View” 菜单中的 “Section Headers” 进入 Section Headers 页面, 比对 Section Header 的数据信息并记录到下面表格。 hei. Virtual SizeVirtual Address 00403000h 00403000h Size of Raw Data 00000200h 00001A00h Point to Raw Data 00000800h 00000800h hei0. 的.data00000027h hei. 的.data00001A00h 由于一般文件型病毒只有代码段, 数据和代码都存在一起。 所以可以断定 hei.ex_的.data 段多出的数据即为病毒代码和数据。 (3)进入实验平台,单击工具栏中“ UE”按钮,打开Ultra Editor,选择“文件”菜单 中的 “比较文件” 功能对 hei0.ex_和 hei.ex_进行二进制比对, 可以发现在 hei.ex_文件的 0 xa00 处开始的数据块为存储于.data 节的病毒代码。 实验感想:实验感想: 通过此次实验使我对文件型病毒的原理有了进一步的认识,了解pe 文件的基本结构, 虽然在此次实验中遇到了一些困难, 但在老师和同学的帮助下得到了解决, 我相信这对我以 后学习这方面知识有很大的帮助。