Bin 到 Exe 要求

Bin To Exe Requirements

似乎有几个问题在问“如何制作一个 exe”,但没有具体的问题,无论如何我都能找到,问 Windows 甚至考虑 运行 作为程序的 exe 文件扩展名。据我所知,exe 是可执行文件,bin/img 都是原始可执行文件。当我在 Windows 上直接将文件扩展名从 bin 更改为 exe 时,它​​会抛出一个关于该文件不是正确的可执行文件的错误,尽管这可能是我尝试在 Assembly 中编码的引导加载程序和内核上进行测试的事实。

我的主要问题是,有人知道在将 .asm 文件编译成 .bin 之前需要添加什么额外的 headers 或信息,这样人们就可以简单地将扩展名从 . bin 到 .exe 并查看它是否正常工作,或者甚至更好地调用文件中的这个额外的必需信息,以便更容易获得问题的答案?

.iso 不是“可执行文件”,它是 CD-ROM 或 DVD-ROM 文件系统映像。 .bin 只是一些任意的二进制数据。 .img 通常是某物的图像。 None 其中是任何意义上的程序。另外,汇编不是可执行的,它是一种助记符,human-readable机器代码的翻译,需要先汇编才能执行。

您可以在此处找到有关可移植可执行文件格式的信息:https://docs.microsoft.com/en-us/windows/win32/debug/pe-format - 请注意,如果您最终手动编写 PE header,您很可能做错了。

简而言之:您不能只将文件 header 粘贴到 .bin、.iso、.img 或 .asm 文件并获得可执行文件。对不起。