Binary 是否有一种合理的方法,仅使用文本编辑器手工生成可执行的二进制文件

Binary 是否有一种合理的方法,仅使用文本编辑器手工生成可执行的二进制文件,binary,Binary,在考虑如何编写可执行二进制文件时,我遇到了这个愚蠢的问题 从头开始,以某种方式将其作为新编程语言项目的起点。 意思是:你不可能真正成为一种工作语言, 如果您不能生成并理解二进制可执行文件的构成要素, 您无法使编程语言变得有用或正常工作 那么,我如何制作最基本的最小和轻量级二进制可执行文件呢 在可执行文件本身和生成它的工具中尽可能少的复杂度 它(可执行二进制文件)是如何在Linux和Windows平台上生成的 也许我需要一个十六进制编辑器而不是文本编辑器来实现它 是否存在构成原始二进制文件的特定位

在考虑如何编写可执行二进制文件时,我遇到了这个愚蠢的问题
从头开始,以某种方式将其作为新编程语言项目的起点。
意思是:你不可能真正成为一种工作语言,
如果您不能生成并理解二进制可执行文件的构成要素,
您无法使编程语言变得有用或正常工作

那么,我如何制作最基本的最小和轻量级二进制可执行文件呢 在可执行文件本身和生成它的工具中尽可能少的复杂度

它(可执行二进制文件)是如何在Linux和Windows平台上生成的

也许我需要一个十六进制编辑器而不是文本编辑器来实现它

是否存在构成原始二进制文件的特定位使其可执行,或者操作系统必须将其注册为可执行文件

我可以简单地使用编辑器复制/粘贴二进制代码并使其(原始二进制文件)可执行吗

是的,理论上可以手工创建一个可执行文件 在十六进制编辑器中。对于一些可执行格式,使用一些- 更难。MS-DOS的非常古老的COM格式是最简单的—它是 没有任何头,可执行代码从开头开始 文件的一部分。

需要十六进制编辑器而不是Ascii/UTF文本编辑器 您正在使用的本机文本编辑器仅显示可打印字符,或将不可打印字符替换为空格、矩形或其他乱七八糟的字符。当您使用本机文本编辑器从打开的二进制文件复制文本时,您复制的是该文件的损坏表示形式。您需要在类似十六进制编辑器的东西中打开二进制文件(这就是它们的名称)。(然后也粘贴到十六进制编辑器中。)

记事本++作为十六进制编辑器 使用Jens Lorenz的插件,Notepad++可用作十六进制编辑器:

PE-Windows可执行文件的加载过程 Ange Albertini的Windows PE可执行程序演练

Pe格式 图像来源: