“PE文件格式”1.9版 完整译文(附注释)(1)
2007-01-14 20:15:26 来源:WEB开发网你可以通过跟在后面的签名来将一个PE二进制文件和其它含有根的二进制文件区分开来,跟在后面的签名可由头成员'e_lfanew'(它是从字节偏移地址60处开始的,有32字节长)所设定的偏移地址找到。对于OS/2系统和Windows系统的二进制文件来说,签名是一个16位的word单元;对于PE文件来说,它是一个按照8位字节边界对齐的32位的longword单元,并且IMAGE_NT_SIGNATURE(NT签名)的值已由#defined定义为0x00004550(即字母“PE/0/0”----译者)。
四、文件头(FileHeader)
-------------------------
要到达IMAGE_FILE_HEADER(文件头)结构,请先确认DOS-头“MZ”(起始的2个字节),然后找出DOS-根的头部的成员“e_lfanew”,并从文件开始处跳过那么多的字节。在核实你在那里找到的签名后,IMAGE_FILE_HEADER(文件头)结构的文件头就紧跟其后开始了,下面我们将从头至尾的介绍其成员。
1)第一个成员是“Machine(机器)”,一个16位的值,用来指出该二进制文件预定运行于什么样的系统。已知的合法的值有:
IMAGE_FILE_MACHINE_I386(0x14c)
Intel80386处理器或更高
0x014d
Intel80386处理器或更高
0x014e
Intel80386处理器或更高
0x0160
R3000(MIPS⑧)处理器,大尾⑨
IMAGE_FILE_MACHINE_R3000(0x162)
R3000(MIPS)处理器,小尾
IMAGE_FILE_MACHINE_R4000(0x166)
R4000(MIPS)处理器,小尾
IMAGE_FILE_MACHINE_R10000(0x168)
R10000(MIPS)处理器,小尾
IMAGE_FILE_MACHINE_ALPHA(0x184)
DECAlphaAXP⑩处理器
IMAGE_FILE_MACHINE_POWERPC(0x1F0)
更多精彩
赞助商链接