sam*_*moz 8 c++ header portable-executable
我正在研究一个程序,它将解析PE对象的各种信息.
虽然阅读规范,但我无法找出MZ字节存在的原因,因为我无法在这两个字节应该代表的机器类型列表中找到它.
任何人都可以澄清吗?
Mic*_*urr 13
MZ签名是MS-DOS可重定位16位EXE格式使用的签名.
PE二进制文件包含MZ头的原因是为了向后兼容.如果可执行文件在基于DOS的系统上运行,它将运行MZ版本(几乎总是只是存根,表示您需要在Win32系统上运行该程序).
当然,现在这种情况并没有那么有用,因为世界正在从DOS过渡到后来的任何事情.
当时有一些程序实际上将DOS版本和Win32版本绑定在一个二进制文件中.
和大多数处理Windows历史的事情一样,Raymond Chen有一些关于这个主题的有趣文章:
| 归档时间: |
|
| 查看次数: |
18908 次 |
| 最近记录: |