首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >PE/COFF文件扩展名

PE/COFF文件扩展名
EN

Stack Overflow用户
提问于 2014-01-24 17:37:30
回答 3查看 1.3K关注 0票数 2

在Windows上,一些二进制文件(如.obj )是COFF格式,而其他文件(如.exe.dll )是PE,这是带有额外头的二进制文件。您似乎需要查看文件扩展名才能知道预期的文件扩展名。

是否有使用COFF和PE的文件扩展名的全面列表?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2014-01-24 20:28:07

我不能对此发表评论,只想补充一下迈克·丁米克的回答。神奇的数字是linux上的可执行文件如何能够区分文件类型。

维基百科文件签名

扩展在windows中用于定义解析二进制文件的默认行为。例如,如果Program知道如何处理/解析多个文件类型(想想图像预览),那么文件的扩展名可以是一种类型,并被解析为另一种类型。Windows将打开程序A,为其提供文件。程序A将解析文件,通常忽略扩展名以确定如何处理该文件。

这可以用于社会工程师(技巧)用户打开“熟悉的”文件格式,但点击代码执行为更晦涩的格式。

票数 2
EN

Stack Overflow用户

发布于 2014-01-25 00:04:10

没有“哪个文件扩展名使用COFF,哪些使用PE的全面列表”。

扩展只用于帮助系统“映射”将用于启动所选文件的应用程序(例如,*.jpg将映射为由MSPAINT.exe启动,*.doc将映射为由MSWORD.EXE...etc启动)。此逻辑映射是通过注册表进行的。

Microsoft便携式可执行(PE)规范从未提到任何关于文件扩展名的内容。

没有“全面清单”,根本没有清单,因为不需要这样的清单。PE文件是其内容与规范相对应的文件。期间(这是戴维·赫弗南上文所评论的)

您有可执行的PDF扩展(在恶意软件中非常常见),或TXT,....or任何您想要的,甚至没有任何扩展!这些可执行文件的“不寻常”扩展当然会产生“副作用”,您将无法双击这些文件。但是,您可以cmd>start这些文件,也可以使用许多API或shell函数编程启动这些文件。

由于系统能够独立于它们的扩展启动可执行文件,所以解析根本不存在任何问题!

希望这会有所帮助!

票数 3
EN

Stack Overflow用户

发布于 2014-01-24 19:13:32

寻找神奇: PE文件将始终启动MZ,因为它的MS传统。请参阅Win32便携式可执行文件格式的深入研究的“MS标题”部分。

MZ是DOS知道这是EXE文件而不是COM的原因--由于历史原因,一些Windows模式实用程序有一个.com文件扩展名,但实际上是PE格式的文件。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21338918

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档