一、实验目的
1、了解PE文件基本结构
2、了解文件型病毒的基本制造原理
3、了解病毒的感染、破坏机制,进一步认识病毒程序
4、掌握文件型病毒的特征和内在机制
二、实验环境
运行环境Windows 2003。
三、实验步骤
1、将peview.zip、stud_pe_chs.rar、example.rar在win2003中压缩包解压缩。
图1. 将上述三个文件压缩包在win2003中进行解压 2、利用peview打开example其中一个exe文件,查看DOS头,标注出MZ标志和PE头的偏移地址。
图2. 打开exe文件 3、找到文件中PE头的标志并标注截图,在PE头中找到节的数目并标注。
图3. PE头的标志
图4. 节的数目 4、在可选文件头中找出代码段大小,程序入口点、代码地址、数据地址、映像基地址、内存中单元块大小、文件中单元块大小、映像文件大小并标注出来。
图5. 可选文件头中内容 5、在节中找到其中任意一节,并查看节中有哪些字段。
图6. 打开CODE节头 6、用stud_pe打开kernel32.dll,查看有多少节,在函数中找到GetProcAddress和LoadLibraryA并截图标注出来。
图7. 查看多少节
图8. 在函数找到GetProAddress函数
图9. 在函数里找到LoadLibraryA函数 7、打开病毒源码virus.asm,利用masm32编译病毒程序virus.asm,参考命令:
c:\masm32\bin\ml.exe /c /coff /Cp virus.asm
c:\masm32\bin\link.exe /SUBSYSTEM:WINDOWS /section:.text,rwe virus.obj
图10. 修改szIS
图11. 编译生成obj文件
图12. 编译生成exe文件 8、将生成的病毒文件virus.exe和步骤2中选择的文件放在一个文件夹内,然后运行virus.exe。
图13. 放在一个文件夹内
图14.运行文件
图15. 感染完成 9、然后将被感染的exe文件和example中其他任意文件放在一个文件夹中,运行被感染的文件,检查是否能感染其他exe文件。
图16. 运行被感染文件 10、利用peview查看被感染的文件,重复步骤345,并填写下表。
图17. 感染后PE头标志
图18. 感染后节的数目
图19. 感染后文件头内容
图20. 感染后IS节内容
上一级 | 字段 | 感染前 | 感染后 |
---|---|---|---|
DOS头 | e_magic | 0x5A4D | 0x5A4D |
DOS头 | e_lfanew | 0x0040 | 0x0040 |
NT头 | Signature | 0x00004550 | 0x00004550 |
文件头 | Machine | 0x014C | 0x014C |
文件头 | NumberOfSections | 0x0009 | 0x000A |
可选文件头 | SizeOfCode | 0x00007C00 | 0x00008C00 |
可选文件头 | AddressOfEntryPoint | 0x00008964 | 0x00012B95 |
可选文件头 | BaseOfData | 0x00009000 | 0x00009000 |
可选文件头 | SectionAlignment | 0x00001000 | 0x00001000 |
可选文件头 | SizeOfImage | 0x00012000 | 0x00013000 |
最后一节 | Name | .cas | IS |
最后一节 | VirtualSize | 0x00001000 | 0x00000CD6 |
最后一节 | VirtualAddress | 0x00011000 | 0X00012000 |
最后一节 | SizeOfRawData | 0x00000A00 | 0x00000E00 |
最后一节 | Characteristics | 0xC0000040 | 0xE0000020 |