如何逐位写入介质,而不是逐字节?

逆向工程 机器码
2021-07-07 09:12:45

我正在尝试编写二进制操作码,但我不能在文本编辑器中将其设为 1 和 0,因为:

文本编辑器上的 1 或 0 最终作为文字 ASCII 等效代码存储在存储介质上,而不是作为机器指令一部分的单个位值我想用机器代码编写一个程序,以便直接在 CPU 上执行而无需组装/等。但是,我只能想到一种方法:

我可以倒转这个难题,而不用担心位的形成,我可以编写 ASCII 字符并将它们保存在文本编辑器中,只要它们的 ASCII 二进制等效项与操作码字节的相同配置匹配目标机。但是问题又出现了……没有一个现有的单字节 ASCII 字符可以匹配操作码中所有可能的位组合,所以我不能这样编码。

对于我用机器代码编写,我需要一种方法来直接放置构成每个字节和指令的位的正确格式。

我怎么能这样做?

更正:我不是试图一次写入一个位(在 x86 中不可能),而是获取一个配置有正确位的字节,以便存储构成正确机器指令的字节。

0个回答
没有发现任何回复~