什么是PEI格式?

时间:2015-01-08 19:09:22

标签: file-format portable-executable executable-format

据我所知,PE是COFF的修改版本,PE +是PE的修改版本,支持64位,但PEI是什么?我是否正确地说PE和PEI之间没有区别,它们可以互换使用?

2 个答案:

答案 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)

PEI实际上并不是官方认可的格式或术语。 PE / COFF标准仅描述两种格式:PE32(32位格式)和PE32 +(64位格式)。我之前听过有关PE与PEI的讨论,但我唯一能够遇到PEI一词的地方是libpei,在JEdot的答案中引用。并且,正如该答案中所引用的那样,libpei开发人员似乎对术语本身感到困惑,因此根本不使用术语PEI。

此外,在Windows上运行PE可执行文件需要MS-DOS存根是不正确的。它通常是为了向后兼容而嵌入的。