文章目录
PE文件概述
PE文件格式是微软Windows NT(New Technology)内核系列系统和 Win32子集中可执行的二进制文件格式。这种文件格式是微软基于COFF 文件格式的设计思想设计的。
COFF (Common Object File Format,通用目标文件格式) 是应用于数种早期UNIX系统中的目标文件和可执行文件的格式。
对应的,在linux下的可执行文件格式采用ELF(Executable and Linkable Format)。
总结:目标文件格式有DOS系统下使用的COM文件格式、和比较复杂的COFF和ELF文件格式。
windows使用COFF的一个变种PE格式,linux现在使用ELF格式。
PE文件由DOS头、DOS加载模块(DOS Stub)、PE头、区段(区段也称:节)表、区段五个部分构成。这里只记录前4个部分!
PE文件简化示意图如下,相比于linux下的ELF文件,可理解为就多出来DOS头和DOS Stub两个部分。
PE文件相关各类地址
文件偏移地址(File Offset) | 指文件在磁盘上存放时某一地址相对于文件开头的偏移。 |
装载基址(Image Base) | PE文件装入内存时的基地址。一 |