如何将十六进制代码转换为 x86 指令

How to turn hex code into x86 instructions

我正在尝试制作一个脚本或程序,它将接受给定的字节(以十六进制给出),并将它们转换为 x86 指令(例如 c3 -> retq)

我试过在一个仅包含

的程序集文件上调用 gcc -c
retq
retq

然后使用脚本在它说 "c3 c3" 的地方插入字节,然后使用 objdump -d 查看它现在说的是什么。但它似乎弄乱了文件的格式,除非我只传递与原始指令字节大小相同的指令。

我 运行 在 Raspbian Pi(基于 linux 的操作系统)上使用 SSH,BASH 终端。我正在使用 BASH shell 脚本和 python,以及此处列出的工具和 gdb。

反汇编平面二进制文件:objdump -D -b binary -m i386 foo.bin。或者使用来自汇编源的 .byte 指令创建目标文件,例如将 .byte 0xc3 放入 foo.s 然后 gcc -c foo.s 然后 objdump -d foo.o