我在 Windows 上有一个 10KB 的空可执行文件。
如果我运行它,它会做什么?换句话说,
00 00 00 00 00 00 00
答案1
如果我运行它,它会做什么?
除了生成一条错误消息之外什么都没有,因为该文件不包含有效的可执行文件头。
在 Windows 7 上:
在 Windows 10 上:
可移植可执行文件
可移植可执行文件 (PE) 格式是可执行文件、目标代码、DLL、FON 字体文件以及 32 位和 64 位 Windows 操作系统中使用的其他文件的文件格式。PE 格式是一种数据结构,它封装了 Windows 操作系统加载程序管理包装的可执行代码所需的信息。这包括用于链接的动态库引用、API 导出和导入表、资源管理数据和线程本地存储 (TLS) 数据。
...
来源可移植可执行文件
进一步阅读
答案2
大多数流行文件(包括可执行文件)都有一个文件头。文件头(或代码的前几个字节)标识了文件的类型。启动可执行文件时,Windows 将首先检查文件头,如果该文件头不是可执行文件的默认文件头,Windows 将简单地向您发送一条消息,提示该文件已损坏,或者该文件不是有效的 32 位可执行文件。
长话短说,您会收到一条错误消息,仅此而已。
如果它有一个有效的标头,但其余部分只找到 00 个字节,它将启动应用程序然后退出,因为没有进一步的指令。简而言之,它什么也不做。