据我所知,PE是COFF的修改版本,PE +是PE的修改版本,支持64位,但PEI是什么?我是否正确地说PE和PEI之间没有区别,它们可以互换使用?
答案 0 :(得分:2)
“ pe格式和pei格式之间的唯一区别是 后者在前面有一个MSDOS 2.0 .exe标题 打印消息“此应用程序必须在Windows下运行。”(或某些 这样)。 (FIXME:该陈述是否真的是真的是 未知。 pe和pei之间是否存在更微妙的差异 格式?现在假设没有。如果你找到一个,那么 上帝在这里记录了它!)
Microsoft文档使用“图像”一词而不是“可执行文件” 因为前者也可以引用DLL(共享库)。 由于
i' in
pei'也指的是混乱 “图片”。 `pe'格式也可以创建图像(即 可执行文件),只需要在你需要的win32系统上运行 使用pei格式。“
来源:
http://www.opensource.apple.com/source/gdb/gdb-1515/src/bfd/libpei.h
答案 1 :(得分:2)
libpei
,在JEdot的答案中引用。并且,正如该答案中所引用的那样,libpei
开发人员似乎对术语本身感到困惑,因此根本不使用术语PEI。
此外,在Windows上运行PE可执行文件需要MS-DOS存根是不正确的。它通常是为了向后兼容而嵌入的。