《逆向工程核心原理》学习笔记4 PE文件学习——PE头总结
《逆向工程核心原理》学习笔记4 PE文件学习——PE头总结 1.DOS头 typedef struct _IMAGE_DOS_HEADER //DOS头 { WORD e_magic; //DOS signature :4D5A ("MZ",是确定的值, 被称为DOS签名,如果值被改变,程序无法运行) WORD e_cblp; WORD e_cp; WORD e_crlc; WORD e_cparhdr; WORD e_minalloc; WORD e_maxalloc; WORD e_ss; WORD e_sp; WORD e_csum; WORD e_ip; WORD e_cs;NT WORD e_lfarlc; WORD e_ovno; WORD e_res[4]; WORD e_oemid; WORD e_oeminfo; WORD e_res2[10]; WORD e_lfanew; //NT头的偏移,offset to NT header,修改后程序 无法正常运行 } IMAGE_DOS_HEADER, *PIMAGE_DOS_HEADER; 2.DOS存根 由代码和数据混合而成,在DOS环境下运行,可以用debug.exe运行(window10下用DOSBOX+debug)。 3.NT头 typedef struct _IMAGE_NT_HEADERS //NT头 {