在Windows上,一些二进制文件(例如.obj是COFF格式的,其他文件(例如.exe和.dll是PE,这是COFF带有一个额外的头文件。 看来你需要看看文件扩展名,以知道哪些期望。
有哪些文件扩展名使用COFF和哪些使用PE的综合列表?
什么是PE中的“隔离图像”属性?
在Linux中创build一个与系统无关的最小Python脚本
什么是64位Windows上的PE文件的最大大小?
应用程序清单和程序集清单之间的区别
将两个程序合并成一个?
我不能发表评论,但添加到麦克Dimmick的答案。 魔术数字是如何在Linux上的可执行文件能够告诉文件类型。
维基百科文件签名
在Windows中使用扩展来定义解析二进制文件的默认行为。 例如,如果程序A知道如何处理/解析多个文件类型(想象图像预览),文件可以具有一种类型的扩展名,并且被解析为另一种类型,则这会变得令人困惑/危险。 Windows将打开程序A给它的文件。 程序A将解析该文件,通常忽略扩展,以确定如何处理该文件。
这可以被用于社交工程(欺骗)用户开放“熟悉的”文件格式,但是针对更加模糊的格式执行代码执行。
有没有“全面的列表哪些文件扩展名使用COFF和哪些使用PE”。
扩展名仅用于帮助系统“映射”将用于启动选定文件的应用程序(例如* .jpg将被映射为由MSPAINT.exe启动,* .doc将被映射为由MSWORD启动。 EXE …等)。 这个逻辑映射是通过注册表来完成的。
Microsoft可移植可执行文件(PE)规范从来没有提到关于文件扩展名的任何内容。
没有“综合清单”,根本就没有清单,因为不需要这样的清单。 PE文件是CONTENT对应于规范的文件。 时期(David Heffernan在上面评论过)
你可以使用PDF扩展(在恶意软件中很常见),或TXT,….或任何你想要的,甚至没有任何扩展的可执行文件! 这些“非同寻常”的可执行文件的扩展名当然会有“副作用”,你将无法双击这些文件。 但是,您可以使用许多API或shell函数来启动这些文件,或以编程方式启动这些文件。
由于系统能够独立于其扩展而启动可执行文件,所以解析完全没有问题!
希望有所帮助!
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。