最近,我使用十六进制编辑器分析了一些Windows可执行文件。PE头部从地址0x100开始,因此在PE映像实际开始之前有256个字节的数据。前256字节:
我了解以下文件结构信息:
- 0x00 - 0x3F:这是MZ头(长度为64字节)。
- 0x40 - 0x4D:这14个字节编码了七个x86(16位模式)指令,用于使用DOS系统调用(中断0x21)向屏幕打印“This program cannot run in DOS mode。\r\r\n”。
- 0x4E - 0x78:这是字符串“This program cannot run in DOS mode。\r\r\n”,末尾带有美元符号,告诉DOS这是字符串的结尾。
- 0x79 - 0x7F:这些是NULL字节;我猜它们被插入以进行对齐。
所以我知道前128个字节的作用。我的问题是:接下来的128个字节(0x80 - 0xFF)用于什么?(PE映像从0x100开始。)