实验二 PE文件格式实验
PE文件分析

Hello-2.5.exe程序-PE文件格式分析姓名:__ ___ 学号:_____0 1 2 3 4 5 6 7 8 9 A B C D E F------------------------------------------------------------------------------ 00000000h: 4D 5A 90 00 03 00 00 00 04 00 00 00 FF FF 00 00 ; MZ?.......... 00000010h: B8 00 00 00 00 00 00 00 40 00 00 00 00 00 00 00 ; ?......@....... 00000020h: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ; ................ 00000030h: 00 00 00 00 00 00 00 00 00 00 00 00 B0 00 00 00 ; ............?.. 00000040h: 0E 1F BA 0E 00 B4 09 CD 21 B8 01 4C CD 21 54 68 ; ..?.???L?Th00000050h: 69 73 20 70 72 6F 67 72 61 6D 20 63 61 6E 6E 6F ; is program canno 00000060h: 74 20 62 65 20 72 75 6E 20 69 6E 20 44 4F 53 20 ; t be run in DOS 00000070h: 6D 6F 64 65 2E 0D 0D 0A 24 00 00 00 00 00 00 00 ; mode....$....... 00000080h: 5D 65 FD C8 19 04 93 9B 19 04 93 9B 19 04 93 9B ; ]e..摏..摏..摏00000090h: 97 1B 80 9B 11 04 93 9B E5 24 81 9B 18 04 93 9B ; ?€?.摏?仜..摏000000a0h: 52 69 63 68 19 04 93 9B 00 00 00 00 00 00 00 00 ; Rich..摏........ 000000b0h: 50 45 00 004C 01 03 00 9B 4D 8F 42 00 00 00 00 ; PE..L...汳廈.... 000000c0h: 00 00 00 00 E0 00 0F 010B 01 05 0C 00 02 00 00 ; ....?.......... 000000d0h: 00 04 00 00 00 00 00 00 00 10 00 00 00 10 00 00 ; ................ 000000e0h: 00 20 00 00 00 00 40 00 00 10 00 00 00 02 00 00 ; . ....@......... 000000f0h: 04 00 00 00 00 00 00 00 04 00 00 00 00 00 00 00 ; ................ 00000100h: 00 40 00 00 00 04 00 00 00 00 00 00 02 00 00 00 ; .@.............. 00000110h: 00 00 10 00 00 10 00 00 00 00 10 00 00 10 00 00 ; ................ 00000120h: 00 00 00 00 10 00 00 00 00 00 00 00 00 00 00 00 ; ................ 00000130h: 14 20 00 00 3C 00 00 00 00 00 00 00 00 00 00 00 ; . ..<........... 00000140h: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ; ................ 00000150h: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ; ................ 00000160h: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ; ................ 00000170h: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ; ................ 00000180h: 00 00 00 00 00 00 00 00 00 20 00 00 14 00 00 00 ; ......... ...... 00000190h: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ; ................ 000001a0h: 00 00 00 00 00 00 00 00 2E 74 65 78 74 00 00 00 ; .........text... 000001b0h: 46 00 00 00 00 10 00 00 00 02 00 00 00 04 00 00 ; F............... 000001c0h: 00 00 00 00 00 00 00 00 00 00 00 00 20 00 00 60 ; ............ ..` 000001d0h: 2E 72 64 61 74 61 00 00 A6 00 00 00 00 20 00 00 ; .rdata..?... .. 000001e0h: 00 02 00 00 00 06 00 00 00 00 00 00 00 00 00 00 ; ................ 000001f0h: 00 00 00 00 40 00 00 40 2E 64 61 74 61 00 00 00 ; ....@..@.data... 00000200h: 8E 00 00 00 00 30 00 00 00 02 00 00 00 08 00 00 ; ?...0.......... 00000210h: 00 00 00 00 00 00 00 00 00 00 00 00 40 00 00 C0 ; ............@..? 00000220h: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ; ................ 00000230h: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ; ................ 00000240h: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ; ................ 00000250h: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ; ................ 00000260h: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ; ................ 00000270h: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ; ................00000280h: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ; ................ 00000290h: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ; ................0 1 2 3 4 5 6 7 8 9 A B C D E F---------------------------------------------------------------------------- 000002a0h: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ; ................ 000002b0h: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ; ................ 000002c0h: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ; ................ 000002d0h: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ; ................ 000002e0h: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ; ................ 000002f0h: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ; ................ 00000300h: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ; ................ 00000310h: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ; ................ 00000320h: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ; ................ 00000330h: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ; ................ 00000340h: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ; ................ 00000350h: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ; ................ 00000360h: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ; ................ 00000370h: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ; ................ 00000380h: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ; ................ 00000390h: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ; ................ 000003a0h: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ; ................ 000003b0h: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ; ................ 000003c0h: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ; ................ 000003d0h: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ; ................ 000003e0h: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ; ................ 000003f0h: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ; ................ 00000400h: 68 40 10 00 00 68 00 30 40 00 68 09 30 40 00 6A ; h@...h.0@.h.0@.j 00000410h: 00 E8 2A 00 00 00 68 40 10 00 00 68 00 30 40 00 ; .?...h@...h.0@. 00000420h: 68 31 30 40 00 6A 00 E8 14 00 00 00 6A 00 E8 01 ; h10@.j.?...j.? 00000430h: 00 00 00 CC FF 25 00 20 40 00 FF 25 0C 20 40 00 ; ...?%. @.%. @. 00000440h: FF 25 08 20 40 00 00 00 00 00 00 00 00 00 00 00 ; %. @........... 00000450h: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ; ................ 00000460h: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ; ................ 00000470h: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ; ................ 00000480h: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ; ................ 00000490h: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ; ................ 000004a0h: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ; ................ 000004b0h: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ; ................ 000004c0h: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ; ................ 000004d0h: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ; ................ 000004e0h: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ; ................ 000004f0h: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ; ................ 00000500h: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ; ................ 00000510h: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ; ................ 00000520h: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ; ................ 00000530h: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ; ................ 00000540h: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ; ................ 00000550h: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ; ................ 00000560h: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ; ................1.MZ文件头(0x40)2.DOSStub3.PE文件头[开始于000000B0 ](PE标识、映像文件头(0x14)、可选文件头)4.节表填充文件头续填充部分5.代码节实际大小46H对齐后大小200H00000570h: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ; ................ 00000580h: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ; ................0 1 2 3 4 5 6 7 8 9 A B C D E F------------------------------------------------------------------------------ 00000590h: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ; ................ 000005a0h: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ; ................ 000005b0h: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ; ................ 000005c0h: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ; ................ 000005d0h: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ; ................ 000005e0h: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ; ................ 000005f0h: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ; ................ 00000600h: 64 20 00 00 00 00 00 00 8C 20 00 00 80 20 00 00 ; d ......?..€ .. 00000610h: 00 00 00 00 50 20 00 00 00 00 00 00 00 00 00 00 ; ....P .......... 00000620h: 72 20 00 00 00 20 00 00 58 20 00 00 00 00 00 00 ; r ... ..X ...... 00000630h: 00 00 00 00 9A 20 00 00 08 20 00 00 00 00 00 00 ; ....?... ...... 00000640h: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ; ................ 00000650h: 64 20 00 00 00 00 00 00 8C 20 00 00 80 20 00 00 ; d ......?..€ .. 00000660h: 00 00 00 00 80 00 45 78 69 74 50 72 6F 63 65 73 ; ....€.ExitProces 00000670h: 73 00 6B 65 72 6E 65 6C 33 32 2E 64 6C 6C 00 00 ; s.kernel32.dll.. 00000680h: 62 02 77 73 70 72 69 6E 74 66 41 00 9D 01 4D 65 ; b.wsprintfA.?Me 00000690h: 73 73 61 67 65 42 6F 78 41 00 75 73 65 72 33 32 ; er32 000006a0h: 2E 64 6C 6C 00 00 00 00 00 00 00 00 00 00 00 00 ; .dll............ 000006b0h: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ; ................ 000006c0h: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ; ................ 000006d0h: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ; ................ 000006e0h: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ; ................ 000006f0h: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ; ................ 00000700h: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ; ................ 00000710h: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ; ................ 00000720h: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ; ................ 00000730h: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ; ................ 00000740h: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ; ................ 00000750h: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ; ................ 00000760h: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ; ................ 00000770h: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ; ................ 00000780h: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ; ................ 00000790h: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ; ................ 000007a0h: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ; ................ 000007b0h: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ; ................ 000007c0h: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ; ................ 000007d0h: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ; ................ 000007e0h: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ; ................ 000007f0h: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ; ................ 00000800h: BD CC D1 A7 B2 E2 CA D4 00 50 45 C8 EB BF DA B5 ; 教学测试.PE入口? 00000810h: E3 B2 E2 CA D4 31 A3 BA BD F8 C8 EB B5 DA D2 BB ; 悴馐?:进入第一00000820h: C8 EB BF DA CE BB D6 C3 34 30 31 30 30 30 48 21 ; 入口位置401000H! 00000830h: 00 50 45 C8 EB BF DA B5 E3 B2 E2 CA D4 32 A3 BA ; .PE入口点测试2:00000840h: BD F8 C8 EB B5 DA B6 FE C8 EB BF DA CE BB D6 C3 ; 进入第二入口位置00000850h: 34 30 31 30 31 36 48 21 00 00 00 00 00 00 00 00 ; 401016H!........ 00000860h: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ; ................ 00000870h: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ; ................0 1 2 3 4 5 6 7 8 9 A B C D E F------------------------------------------------------------------------------ 00000880h: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ; ................ 00000890h: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ; ................ 000008a0h: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ; ................ 000008b0h: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ; ................ 000008c0h: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ; ................ 000008d0h: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ; ................ 000008e0h: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ; ................ 000008f0h: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ; ................ 00000900h: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ; ................ 00000910h: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ; ................ 00000920h: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ; ................ 00000930h: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ; ................ 00000940h: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ; ................ 00000950h: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ; ................ 00000960h: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ; ................ 00000970h: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ; ................ 00000980h: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ; ................ 00000990h: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ; ................ 000009a0h: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ; ................ 000009b0h: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ; ................ 000009c0h: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ; ................ 000009d0h: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ; ................ 000009e0h: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ; ................ 000009f0h: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ; ................要求:1.分割PE文件的各个部分:MZ头部+DOS Stub+PE文件头+可选文件头+节表+节2.标明各个关键字段结构和字段,及其含义3.详细分析函数引入表中的各个字段及其关系答:1.如图所示:各段颜色标记如图。
PE格式揭秘

这是我在我的电脑上随便找了个exe文件,下面我将会仔细的分析一下这种文件的格式下面我依次截图,仔细分析,让你看清楚:首先4D 5A 90 这三个一般是在一起的,我们知道windows文件是从DOS兼容过来的,这三个数其实就是M Z 和一个分隔符是为了兼容以前DOS下的MZ文件好:我找了两个文件通过比较发现,从0x 00 00 00 80处开始不一样,也就是在这之前从0x 00 00 00 00到0x00 00 00 7F是相同的DOS头和DOS桩程序,其实,MZ_DOS在PE 文件中占64个字节,就是我们看到的前4行数据(每行16个字节),而在微软给我们提供的DOS头结构体中有各个部分的结构:Typedef struct _IMAGE_DOS_HEADER{USHORT e_magic; //00H魔术数字就是0x 4D 5A = MZ;USHORT e_cblp; // 02H 表示的是文件最后页(page)中的字节数;USHORT e_cb ; / 04H 文件的页数(每页大小4KB);USHORT e_crlc ; //06H重新定向的元素个数;USHORT e_parhdr //08H 头部大小,以段(paragraph)为单位;USHORT e_minalloc //0AH 所需要的最小附加段;USHORT e_maxalloc //0CH 所需要的最大附加段;USHORT e_ss //0EH 初始的ss值;USHORT e_sp //10H 初始的sp值;USHORT e_csum //12H 校验和或者0USHORT e_ip //14H 初始的IP值USHORT e_cs //16H 初始的CS值(相对偏移量)USHORT e_lfarlc //18H 重定向表文件地址USHORT e_ovno //1AH 覆盖号USHORT e_res[4] 1CH 保留字USHORT e_oemid //24H OEM标示符(for e_oeminfo)USHORT e_oeminfo //26H OEM信息USHORT e_res2[10] //28H 保留LONG e_lfanew; //3CH PE头位置//这个位置很重要,做病毒要这个东西} IMAGE_DOS_HEADER, *PIMAGE_DOS_HEADER上边就是我的一个exe文件的DOS头(不包括DOS桩,紧跟在它的下面),下面是我的分析0x4D 5A 魔术字符MZ0x00 90(144字节) 文件最后一页的字节数地址为20x00 03 文件总页数用这两个计算出文件总大小(3-1)*4028+144=82000x00 00 重定向元素个数0x00 04 头部大小,以段为单位0x00 00 所需要的最小附加段0xFF FF 所需要的最大附加段0x00 00 加载时ss段寄存器的值0x00 B8 加载时sp的值0x00 00 校验和或者为00x00 00 初始IP值0x00 00 初始CS值0x00 40 重定位表文件地址0x00 00 覆盖号0x0000 0000 0000 0000保留的四个字0x00 00 OEM标识0x00 00 OEM信息0x0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 保留10个字0x00 00 00 D0 PE头开始的地址地址为3C上边指需要记住两处,但是别的地方最好是也记住。
逆向分析实验2PE文件结构分析

实验二PE文件结构分析一. 实验目的1.了解PE文件的输入表结构;2.手工解析PE文件的输入表;3.编程实现PE文件输入表的解析。
二. 实验内容1.第一步:手动解析输入表结构(1)使用工具箱中的工具e verything,寻找当前系统中任意一个e xe文件,文件名称是: actmovie.exe(2)使用LordPE“PE编辑器”打开exe文件,确定输入表的RVA,截图如下(图1):(3)点击PE编辑器右侧的“位置计算器”,得到文件偏移值,截图如下(图2):(4)使用16进制编辑工具,跳转到相应的输入文件偏移地址,输入表是每个IID对应一个DLL,根据IID大小,这里取20字节的数据进行分析,将输入表第一个IID结构的数据与IID结构体的成员一一对应,具体如下所示:IMAGE_IMPORT_DESCRIPTOR {OriginalFirstThunk = 000013C0TimeDateStamp = FFFFFFFFForwarderChain = FFFFFFFFName = 000014C0FirstThunk = 0000100C}(5)关注OriginalFirstThunk和Name两个成员,其中Name是一个RVA,用步骤(3)的方法得到其文件偏移值为 000008C0 ,在16进制编辑工具转到这个偏移地址,可见输入表的第一个D LL名为 msvcrt.dll ,截图如下(图3):(6)分析一下OriginalFirstThunk,它指向一个类型为IMAGE_THUNK_DATA的数组,上面已经分析出了它的值为000013C0 ,这是一个RVA,用步骤(3)的方法得到文件偏移地址 00007C0 。
在16进制编辑工具转到这个偏移地址,其中前面4个字节的数据为 63 5F 00 C8 ,截图如下(图4):(7)可以看出,这是以序号(填“以名字”或“以序号”)的方式输入函数;用与步骤(3)相同的方式在16进制编辑工具中对应IMAGE_IMPORT_BY_NAME结构的数据,可以看到函数的输入序号为 20 ,函数名为 cexit ,截图如下(图5):(8)验证:使用L ordPE单击“目录表”界面中输入表右侧的“…按钮”,打开输入表对话框,可以验证获取的DLL名和函数名是否正确。
《计算机病毒技术及其防御》课程教学大纲

《计算机病毒技术及其防御》课程教学大纲一、课程基本信息二、课程简介《计算机病毒技术及其防御》(或《恶意代码原理与防范》)是网络空间安全专业中专业性与实践性较强的课程,是网络空间安全学科中的重要组成部分,与后续学习的多门课程皆有关联。
本课程主要研究恶意代码(计算机病毒)的分类、恶意代码的原理、恶意代码的行为、恶意代码静态与动态的分析方法以及恶意代码的防御技术,对构建学生网络安全类知识体系进而进行恶意代码攻防实践有重要作用。
课程的任务是通过课堂教学与实验教学方式,使学生能够从生命周期的角度掌握恶意代码技术的基本原理与实现方法,掌握常见恶意代码的防御方法,培养学生具备良好的恶意代码分析能力与常见恶意代码的防范能力,提高自身对相关领域的安全意识与职业素养,从而为今后从事网络信息安全领域相关工作奠定坚实的基础。
通过本课程学习,使学生能够通过对相关实操案例的分析,对恶意代码的种类、危害、应急、防御处理都有较为深入的认识,具备一定的分析研究能力,能够将本课程的相关知识与防御技术的思路和技巧用于解决恶意代码所带来的问题。
三、课程目标及其对毕业要求的支撑(一)课程目标课程目标1:理解恶意代码的基本概念和理论知识,能够描述恶意代码的基本特性以及恶意代码的发展趋势。
课程目标2:掌握恶意代码的基本技术,能够自觉运用基本知识认识恶意代码,并对常见的恶意代码的进行逆向分析,培养学生分析问题的能力。
课程目标3:掌握恶意代码防御技术,能够自觉运用所学知识进行恶意代码防御处理,并对其中常见问题进行分析并加以解决,培养学生研究和分析问题、工程部署与设计解决方案的能力。
(二)课程目标对毕业要求的支撑四、教学方法本课程课堂教学和上机实验并重,结合作业、练习及实验报告等教学手段和形式完成课程教学任务。
在课堂教学中,通过讲授、提问、实验、练习、演示等教学方法和手段让学生了解恶意代码,掌握恶意代码攻防的基本应用。
在实验、练习教学环节中,通过任务布置教学、培养学生动手能力,同时培养学生发现问题、分析问题和解决问题的能力。
PE文件格式实验

PE文件格式分析实验使用工具LordPE/PEview、winhex选择一个exe或者DLL文件阶段一:(本次实验)1.DOS头部查看、对应DOS头结构进行数据逐项分析2.PE头部查看、对应PE头结构进行数据逐项分析3.Exe文件和DLL文件均是PE格式,他们的区别在哪里?4.Section表结构的查看(是否可以增加一个新的section表?对齐边界是多少?)5.PE文件section查看、对应section 块表结构进行数据分析6.VA、RVA、RA计算7.问题:你查看的PE文件DOS、PE头部的空隙是多大?8.问题:你查看的PE文件在那个section的空隙最大/最小?9.问题:如果手工增加一个section,要修改哪些字段,请手工试验。
(提高:你的新块表增加是否引起原文件的对齐位置的改变?)10.问题(提高):一个section的属性字节如何设置,请在上一个问题基础上实验。
本次实验要求对照以上要求,自行选择文件进行分析,撰写报告。
阶段二:(后一阶段的工作)1.资源查看、修改2.编写PE文件分析程序3.编写PE病毒程序附录1PE格式详细讲解(一)前几天发了一个PE信息查看器的小工具,本来想用那个获取邀请码的,可是觉得几率不是太大,于是再献上一篇教程,既是为了自己能获得邀请码,也是帮助那些想学习PE格式的人,让知识来源于网络再回归网络。
N年没写文章了,不知道句子还能不能写通顺,最近正在看《软件加密技术内幕》,刚看完PE结构那部分内容,所以想起来写篇教程作为读书笔记,既可加强记忆又可帮助别人,何乐而不为呢。
好了,废话少说好戏正式上场,PE是英文Portable Executable(可移植的执行体)的缩写,从缩写可以看出它是跨平台的,即使在非intel的CPU上也能正常运行的。
它是 Win32环境自身所带的执行体文件格式。
其实不光是EXE文件是PE格式,其它的一些重要文件,例如动态链接库文件(DLL),驱动文件(SYS)等也是PE格式的,所以学好PE格式是非常重要的,以下我把这类文件统称为PE文件。
C2-2 PE文件格式之一

8
3 PE文件格式总体结构
1.DOS MZ header 2.DOS stub 3.PE header 4.Section table 5-1 Section 1 5-2 Section 2 Section ... 5.3 Section n
15
(1) MS-DOS MZ文件头(0x40)+ (2)DOS Stub
29
(4)节表
节表,是紧挨着 PE header 的一个结构数组。 每一个节均对应一个节表项: 节名; 节在文件和内存中的开始地址; 长度; 节属性等。
30
test.exe的节表
31
Characteristics-节属性
0x00000020? 这个块包含代码。置位 0x00000040? 这个块包含已初始化的数据。 0x00000080? 这个块包含未初始化的数据(如 .bss 块) 0x00000200? 这个块包含注释或其它的信息。 0x00000800? 这个块的内容不应放进最终的EXE文件中。 0x02000000? 这个块可以被丢弃,因为一旦它被载入,其进程就不需要它。最通常的可丢弃 块是基本重定位块( .reloc )。 0x10000000? 这个块是可共享的。 0x20000000? 这个块是可执行的。 0x40000000? 这个块是可读的。 0x80000000? 这个块是可写的。
38
.data节
39
4.3未初始化的数据节
节名称一般叫.bbs。
这个节里放有未初始化的全局变量和静态变量。 例如“static int k;”
40
6
2 PE文件格式与恶意软件的关系
何为文件感染?[或控制权获取]
使目标PE文件具备[或启动]病毒功能[或目标程序] 但不破坏目标PE文件原有功能和外在形态(如图标)等
软件逆向工程原理与实践第4章PE文件格式

第4章 PE文件格式
第4章 PE文件格式
IMAGE_SECTION_HEADER结构体的Name字段是一个 8字节的字节数组,用于存放节区的名称,如“.text”。 VirtualSize指定节区在内存中的实际大小,即没有对齐处理 之前的实际大小。VirtualAddress字段是该节区装载到内存 中的起始RVA地址,该地址按照内存页对齐,是 SectionAlignment的整数倍。SizeOfRawData字段指明节区在 外存文件中所占的大小,该长度是FileAlignment的整数倍。 PointerToRawData字段指明节区在外存文件中相对于文件起 始位置的偏移量。
第4章 PE文件格式
2.NT头 紧跟DOS存根的就是PE文件的NT头。NT头对应的数据 结构是IMAGE_NT_ HEADERS结构体,该结构体的长度是 F8H,其数据结构具体定义如表4-2(a)所示。
第4章 PE文件格式
第4章 PE文件格式
第4章 PE文件格式
IMAGE_NT_HEADERS结构体的第一个字段是一个PE 签名。PE签名的值总为00004550H,即“PE\0\0”。上面提 到的DOS头的e_lfanew字段正是指向这个PE签名。 IMAGE_NT_HEADERS结构体的第二个字段和第三个字段 分别为一个IMAGE_FILE_HEADER结构体(见表4-2(b))和一 个IMAGE_OPTIONAL_HEAD第4章 PE文件格式
IMAGE_OPTIONAL_HEADER结构体用于补充定义一 些PE文件属性,其中的一些主要字段如表4-2(c)所示。 Magic标志字在PE32中为010BH,PE32+中为020BH。 AddressOfEntryPoint字段指定了程序执行入口的RVA地址, 即程序最先执行的代码的地址。BaseOfCode字段和 BaseOfData字段分别表示代码节区和数据节区的起始RVA地 址。ImageBase字段是PE文件在内存中的默认装入地址,如 果PE文件被装入这个地址,那么就可以跳过基址重定位的 步骤。
PE文件格式(内容详细)

简介
在DOS环境下有四种基本的可执行文件格式
批处理文件,以.BAT结尾的文件
设备驱动文件,是以.SYS结尾的文件,如CONFIG.SYS
COM文件,是以.COM结尾的纯代码文件
• 没有文件头部分,缺省情况下总是从0x100H处开始执行, 没有重定位项,所有代码和数据必须控制在64K以内
在Win32位平台可执行文件格式:可移植的可执行文件 (Portable Executable File)格式,即PE格式。MZ文件头 之后是一个以“PE”开始的文件头
安装在硬盘上的程序没运行-静态 加载到内存-动态
EXE文件的格式
MZ文件格式-Mark Zbikowski
.EXE文件由三部分构成:文件头、重定位表和二进制代码 允许代码、数据、堆栈分别处于不同的段,每一段都可以是64KB.
EXE文件的格式
PE文件格式
一般来说,病毒往往先于HOST程序获得控制权。运行 Win32病毒的一般流程示意如下:
①用户点击或系统自动运行HOST程序; ②装载HOST程序到内存;
③通过PE文件中的AddressOfEntryPoint+ImageBase,
定位第一条语句的位置(程序入口); ④从第一条语句开始执行(这时执行的其实是病毒代码); ⑤病毒主体代码执行完毕,将控制权交给HOST程序原来的
病毒通过“MZ”、“PE”这两个标志,初步判断当前程序 是否是目标文件——PE文件。如果要精确校验指定文件是 否为一有效PE文件,则可以检验PE文件格式里的各个数 据结构,或者仅校验一些关键数据结构。大多数情况下, 没有必要校验文件里的每一个数据结构,只要一些关键数 据结构有效,就可以认为是有效的PE文件
PE的意思就是Portable Executable(可移植、可执 行),它是Win32可执行文件的标准格式
实验二Word排版技术[5篇范例]
![实验二Word排版技术[5篇范例]](https://img.taocdn.com/s3/m/f5dadad8900ef12d2af90242a8956bec0975a52e.png)
实验二Word排版技术[5篇范例]第一篇:实验二 Word排版技术实验二 Word的排版技术一、实验目的(1)掌握文本的选定、插入与删除、移动和复制、查找与替换等基本编辑技术(2)掌握文字格式、段落格式的设置(3)掌握页面设置和分栏等基本排版技术二、实验内容与步骤注:部分操作步骤后有相关的操作提示,操作提示只列出了部分常用的方法。
操作一启动Word后,在编辑状态下输入样文1 所示的文档内容(时间关系,也可直接复制),编辑排版后的效果如下图1。
【样文1文档开始】微机家庭普及化的日子已到来!微机在发达国家中已大量进入家庭。
如美国100户家庭中已有微机30~40台,但离完全普及还有距离。
其他国家,特别是发展中国家当然还会有相当时日。
微机的发展也有两种趋向,一种意见认为微机应充分发挥技术优势增强其功能使其用途更为广泛。
另一种意见认为为家庭中使用的微机不能太复杂,应简化其功能,降低价格,使其以较快的速度广泛进入家庭。
看来两种意见各有道理,可能会同时发展。
近年有些公司提出网络计算机的设想,即把微机本身大大简化,大量的功能通过网络来提供,这样可降低本身造价,这与前述趋向有所不同,至今也还有争议。
【样文1文档结束】图1 按要求完成下列操作:(1))设置A4(210mm×297mm)纸张大小,左右边距设置为2.5厘米,上下边距(即页眉页脚)2.2厘米,其余页面设置的参数不必修改。
(通过“文件”|“页面设置”)(2)以WD3.doc为文件名保存在E盘下以自己学号姓名命名的文件夹中。
将文中所有“微机”替换为“微型计算机”。
(通过“编辑”菜单|“查找”或“替换”)(3)将标题(即第一段)设置为小二号空心黑体、红色、居中,添加段落黄色底纹,并设置图案样式为纯色100%,标题段后间距为16磅。
(通过“格式”菜单|“字体”、“格式”|“边框和底纹”和“格式”|“段落”)(4)将正文第一段复制到文档的最后面,成为正文第四段。
PE文件格式分析及修改

PE文件格式分析及修改(图)PE 的意思是 Portable Executable(可移植的执行体)。
它是 Win32环境自身所带的执行文件格式。
它的一些特性继承自Unix的Coff(common object file format)文件格式。
“Portable Executable”(可移植的执行体)意味着此文件格式是跨Win32平台的;即使Windows运行在非Intel的CPU上,任何win32平台的PE装载器都能识别和使用该文件格式。
PE文件在文件系统中,与存贮在磁盘上的其它文件一样,都是二进制数据,对于操作系统来讲,可以认为是特定信息的一个载体,如果要让计算机系统执行某程序,则程序文件的载体必须符合某种特定的格式。
要分析特定信息载体的格式,要求分析人员有数据分析、编码分析的能力。
在Win32系统中,PE 文件可以认为.exe、.dll、.sys 、.scr类型的文件,这些文件在磁盘上存贮的格式都是有一定规律的。
一、PE格式基础下表列出了PE的总体结构一个完整的PE文件,前五项是必定要有的,如果缺少或者数据出错,系统会拒绝执行该文件如下图DOS MZ header部分是DOS时代遗留的产物,是PE文件的一个遗传基因,一个Win32程序如果在DOS 下也是可以执行,只是提示:“This program cannot be run in DOS mode.”然后就结束执行,提示执行者,这个程序要在Win32系统下执行。
DOS stub 部分是DOS插桩代码,是DOS下的16位程序代码,只是为了显示上面的提示数据。
这段代码是编译器在程序编译过程中自动添加的。
PE header 是真正的Win32程序的格式头部,其中包括了PE格式的各种信息,指导系统如何装载和执行此程序代码。
Section table部分是PE代码和数据的结构数据,指示装载系统代码段在哪里,数据段在哪里等。
对于不同的PE文件,设计者可能要求该文件包括不同的数据的Section。
《计算机病毒》实验二:PE文件格式实验

题目:PE文件格式实验
姓名:王宇航
学号:09283020
实验环境:Visual Studio 6.0
操作系统:windows系统XP(√)2003()其他:
软件:Visual Studio 6.0
硬件环境:CPU主频(3.00 GHz)内存(0.99GB)
实验内容:
1、了解PE文件格式及其运行原理。
实验过程:
1.使用编译环境大开源代码工程,运行编译生成可执行文件winpe.exe
2.运行winpe.exe,并打开任一exe文件,选择不同的菜单,可以查看到exe文件的内部结构。
结果和总结:
1.PE(portable executable,可移植的可执行文件)文件格式,是可执行的二进制文件的格式。在一个PE文件的开始处,有一个MS-DOS可执行体,它使任何PE文件都是一个有效的MS-DOS可执行文件,在DOS-根之后是一明该二进制文件将运行在何种机器之上、分几个区段、链接的时间、是可执行文件还是DLL等。
3.之后是可选头,它会告诉我们该二进制文件怎样被载入的更多信息:开始的地址、保留的堆栈数、数据段的大小等等。
4.可选头的一个有趣的部分是尾部的“数据目录”数组;这些目录包含许多指向各“节”数据的指针。跟在各种头后面我们就发现各个“节”了,它们都由“节头”引导。
2012012194信安1202李自然-实验二---PE文件型病毒分析

北京信息科技大学
信息管理学院
课程设计报告
课程名称《计算机病毒分析与防范》课程设计题目 PE文件格式与PE病毒分析
指导教师孙璇
设计起止日期 2015年4月13日
系别信息管理学院
专业信息安全
学生姓名李自然
班级/学号信安1202/2012012194
成绩
北京信息科技大学信息管理学院
1.课程名称、课程设计目的、课程设计内容、课程设计要求由教师确定,实验前由教师事先填好,然后作为实验报告模版供
学生使用;
2.实验条件由学生在实验或上机之前填写,教师应该在实验前检查并指导;
3.实验过程由学生记录实验的过程,包括操作过程、遇到哪些问题以及如何解决等;
4.实验总结由学生在实验后填写,总结本次实验的收获、未解决的问题以及体会和建议等;
5.源程序、代码、具体语句等,若表格空间不足时可作为附录另外附页。
PE文件结构详解(二)可执行文件头

PE文件结构详解(二)可执行文件头在PE文件结构详解(一)基本概念里,解释了一些PE文件的一些基本概念,从这篇开始,将详细讲解PE文件中的重要结构。
了解一个文件的格式,最应该首先了解的就是这个文件的文件头的含义,因为几乎所有的文件格式,重要的信息都包含在头部,顺着头部的信息,可以引导系统解析整个文件。
所以,我们先来认识一下PE文件的头部格式。
还记得上篇里的那个图吗?DOS头和NT头就是PE文件中两个重要的文件头。
一、DOS头DOS头的作用是兼容MS-DOS操作系统中的可执行文件,对于32位PE文件来说,DOS所起的作用就是显示一行文字,提示用户:我需要在32位windows上才可以运行。
我认为这是个善意的玩笑,因为他并不像显示的那样不能运行,其实已经运行了,只是在DOS上没有干用户希望看到的工作而已,好吧,我承认这不是重点。
但是,至少我们看一下这个头是如何定义的:我们只需要关注两个域:e_magic:一个WORD类型,值是一个常数0x4D5A,用文本编辑器查看该值位‘MZ’,可执行文件必须都是'MZ'开头。
e_lfanew:为32位可执行文件扩展的域,用来表示DOS头之后的NT头相对文件起始地址的偏移。
二、NT头顺着DOS头中的e_lfanew,我们很容易可以找到NT头,这个才是32位PE文件中最有用的头,定义如下:下图是一张真实的PE文件头结构以及其各个域的取值:Signature:类似于DOS头中的e_magic,其高16位是0,低16是0x4550,用字符表示是 ‘ PE’。
IMAGE_FILE_HEADER是PE文件头,C语言的定义是这样的:每个域的具体含义如下:Machine:该文件的运行平台,是x86、x64还是I64等等,可以是下面值里的某一个。
umberOfSections:该PE文件中有多少个节,也就是节表中的项数。
TimeDateStamp:PE文件的创建时间,一般有连接器填写。
PE文件格式详解

PE文件格式详解(一)基础知识什么是PE文件格式:我们知道所有文件都是一些连续(当然实际存储在磁盘上的时候不一定是连续的)的数据组织起来的,不同类型的文件肯定组织形式也各不相同;PE文件格式便是一种文件组织形式,它是32位Window系统中的可执行文件EXE以及动态连接库文件DLL的组织形式。
为什么我们双击一个EXE文件之后它就会被Window运行,而我们双击一个DOC文件就会被Word打开并显示其中的内容;这说明文件中肯定除了存在那些文件的主体内容(比如EXE文件中的代码,数据等,DOC 文件中的文件内容等)之外还存在其他一些重要的信息。
这些信息是给文件的使用者看的,比如说EXE文件的使用者就是Window,而DOC文件的使用者就是Word。
Window可以根据这些信息知道把文件加载到地址空间的那个位置,知道从哪个地址开始执行;加载到内存后如何修正一些指令中的地址等等。
那么PE文件中的这些重要信息都是由谁加入的呢?是由编译器和连接器完成的,针对不同的编译器和连接器通常会提供不同的选项让我们在编译和联结生成PE文件的时候对其中的那些Window需要的信息进行设定;当然也可以按照默认的方式编译连接生成Window中默认的信息。
例如:WindowNT默认的程序加载基址是0x40000;你可以在用VC连接生成EXE文件的时候使用选项更改这个地址值。
在不同的操作系统中可执行文件的格式是不同的,比如在Linux上就有一种流行的ELF格式;当然它是由在Linux上的编译器和连接器生成的,所以编译器、连接器是针对不同的CPU架构和不同的操作系统而涉及出来的。
在嵌入式领域中我们经常提到交叉编译器一词,它的作用就是在一种平台下编译出能在另一个平台下运行的程序;例如,我们可以使用交叉编译器在跑Linux的X86机器上编译出能在Arm上运行的程序。
程序是如何运行起来的:一个程序从编写出来到运行一共需要那些工具,他们都对程序作了些什么呢?里面都涉及哪些知识需要学习呢?先说工具:编辑器-》编译器-》连接器-》加载器;首先我们使用编辑器编辑源文件;然后使用编译器编译程目标文件OBJ,这里面涉及到编译原理的知识;连接器把OBJ文件和其他一些库文件和资源文件连接起来生成EXE文件,这里面涉及到不同的连接器的知识,连接器根据OS的需要生成EXE文件保存着磁盘上;当我们运行EXE文件的时候有Window的加载器负责把EXE文件加载到线性地址空间,加载的时候便是根据上一节中说到的PE文件格式中的哪些重要信息。
PE实验报告20122 (4000字)

《电力电子学》实验报告西华大学机械工程与自动化学院2012年3月电力电子学实验报告书姓名:王强班级:3 学号:312010********* 日期:2012/10/31 得分实验一单相桥式半控整流电路实验一、实验目的加深对单相桥式半控整流电路带电阻性、阻感负载时工作情况的理解。
二、实验平台软件:psim6.0元件:电源;单相变流桥电路;晶闸管触发电路;给定、负载及吸收电路;滑动变阻器(串联形式:0.65a,2kω;并联形式:1.3a,500ω);各种电表。
三、实验线路及原理电路的原理图见教材。
本实验线路如图1所示,组成:触发信号加到共阴极的两个晶闸管上,图中的r用滑动变阻器,接成并联形式,二极管vd1、vd2、vd3及开关s1,电感ld,有100mh、200mh、700mh 三档可供选择,本实验用700mh档,直流电压表、电流表。
四、实验内容1、单相桥式半控整流电路带电阻性负载2、单相桥式半控整流电路带阻感性负载五、实验方法1、单相桥式半控整流电路带电阻性负载:按原理图1接线,主电路接可调电阻r,将滑动变阻器调到最大阻值位置,按下“启动”按钮,用波形器观察负载电压ud、晶闸管两端电压uvt和整流二极管两端电压uvd1的波形,调节移相控制信号,观察并记录在不同α角时ud、uvt、uvd1的波形,测量相应电源电压u2和负载电压ud的数值,记录于下表中。
计算公式:ud=0.9 u2(1+cosα)/22、单相桥式半控整流电路带阻感性负载(1)、断开主电路后,将负载换成将平波电抗器ld(700mh)与电阻r串联(用滑动变阻器接成并联形式)。
(2)、不接续流二极管vd3,接通主电路,用示波器观察不同控制角α时ud、uvt、uvd1、id的波形,并测定相应的ud、u2数值,记录于下表中。
(3)、在α=60°时,移去触发脉冲,观察并记录移去脉冲前、后ud、uvt1、uvt3、uvd1、uvd2、id的波形。
PE文件格式

PE文件是Win32的原生文件格式.每一个Win32可执行文件都遵循PE文件格式.对PE文件格式的了解可以加深你对Win32系统的深入理解.一、基本结构。
上图便是PE文件的基本结构。
(注意:DOS MZ Header和部分PE header的大小是不变的;DOS stub部分的大小是可变的。
)一个PE文件至少需要两个Section,一个是存放代码,一个存放数据。
NT上的PE文件基本上有9个预定义的Section。
分别是:.text, .bss, .rdata, .data, .rsrc, .edata, .idata, .pdata, 和 .debug。
一些PE文件中只需要其中的一部分Section.以下是通常的分类:l 执行代码Section , 通常命名为: .text (MS) or CODE (Borland)l 数据Section, 通常命名为:.data, .rdata, 或 .bss(MS) 或DATA(Borland).l 资源Section, 通常命名为:.edatal 输入数据Section, 通常命名为:.idatal 调试信息Section,通常命名为:.debug这些只是命名方式,便于识别。
通常与系统并无直接关系。
通常,一个PE文件在磁盘上的映像跟内存中的基本一致。
但并不是完全的拷贝。
Windows加载器会决定加载哪些部分,哪些部分不需要加载。
而且由于磁盘对齐与内存对齐的不一致,加载到内存的PE文件与磁盘上的PE文件各个部分的分布都会有差异。
当一个PE文件被加载到内存后,便是我们常说的模块(Module),其起始地址就是所谓的HModule.二、 DOS头结构。
所有的PE文件都是以一个64字节的DOS头开始。
这个DOS头只是为了兼容早期的DOS操作系统。
这里不做详细讲解。
只需要了解一下其中几个有用的数据。
1. e_magic:DOS头的标识,为4Dh和5Ah。
分别为字母MZ。
实验2 PE文件格式分析

第四阶段实验内容
熟悉资源表
利用PEview.exe熟悉资源表的结构
利用PEview.exe分析PEview.exe程序
用UltraEdit修改PEview.exe,使得该文件的 图标变成PEview.ico。 熟悉eXeScope工具的实用,并利用该工具汉 化PEview.exe程序。
实验2 PE文件格式分析
彭国军 guojpeng@
武汉大学信息安全专业计算机病毒实验
实验目的
熟悉各种PE编辑查看工具,详细了解 PE文件格式 2. 重点分析PE文件文件头、引入表、引出 表,以及资源表 3. 了解PE文件格式与PE病毒之间的关系 4. 自己打造一个尽可能小的PE文件
第三阶段实验内容
手工修改hello-2.5.exe程序,使得其可以 弹出第三个对话框(提示框标题为“武 汉大学信安病毒实验”,内容为:你的 姓名+学号)
武汉大学信息安全专业计算机病毒实验
第三阶段实验内容(续1)
找到系统System32目录下的user32.dll文 件,用UltraEdit打开并分析该文件引出表, 找出函数MessageBoxA的地址,并验证 该地址是否正确。
使用UltraEdit观察PE文件例子程序hello-2.5.exe 的16进制数据,在打印稿中画出该PE文件基本 结构
MZ头部+DOS stub+PE文件头+可选文件头+节表+节
使用Ollydbg对该程序进行初步调试,了解该程 序功能结构,在内存中观察该程序的完整结构。 使用UltraEdit修改该程序,使得该程序仅弹出 第二个对话框
武汉大学信息安全专业计算机病毒实验
PE文件格式实验报告

成绩
批阅人
日期
1.利用LoadPE软件查询PE文件格式信息。
我们使用LoadPE软件打开3-2.exe文件,位于“实验三”文件夹目录下。
如图所示:
在以上界面中,我们可以看见入口点的值。
点击Sections按钮,可以查询exe文件的区段信息。
点击Directories按钮,可以查询数据目录表信息。
2.使用PE Explorer软件查询PE文件格式信息。
3.利用加壳软件进行加壳处理。
我们这里使用的是ASPACK.exe软件。
下载该软件,打开运行。载入win-1.exe文件,即可进行加壳处理。
将原文件和加壳后处理的提交至网站,分析结果如下:
原文件:
加壳之后的文件:
四、实验小结(包括问题和解决方法、心得体会、意见与建议等)
本次实验是对PE文件格式进行分析,对PE文件有了一个大致的了解,如什么是PE文件的文件头,什么是区段,什么是数据目录。由于现阶段大都的病毒都是PE病毒,所以了解它们可以更好地知道PE病毒是如何感染PE文件的。不仅如此,对PE文件的修改、加壳等操作也证实了PE文件并不是不可编辑的,也可以让我们更好地了解PE文件的内部结构。
打开PE Explorer软件,载入win-1.exe文件,该文件位于“实验三”目录下。
默认查询文件头信息,这里我们可以查询到入口点等信息。
点击“数据目录”按钮,可以查看数据目录信息。
点击“区段头”,可以查询区段信息。
点击“资源”按钮,可以查询资源信息。
点击“多重保存”,可以提取资源信息。
点击“资源编辑”按钮,可以进入编辑状态。选择需要替换的资源,即可成功替换。这里需要注意的是资源图片的大小必须与之前一致。