如何将十六进制代码转换为 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
我正在尝试制作一个脚本或程序,它将接受给定的字节(以十六进制给出),并将它们转换为 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