我试图创建一个脚本或程序来获取给定的字节(以十六进制给出),并将它们转换为x86指令(例如c3 - > retq)
我已尝试通过在包含
的程序集文件上调用gcc -c
来执行此操作
retq
retq
然后使用脚本在其所说的" c3 c3"中插入字节,然后使用objdump -d
查看它现在说的内容。但似乎它会混淆文件的格式,除非我只传递与原始指令字节大小相同的指令。
我使用SSH,BASH终端在Raspbian Pi(基于Linux的操作系统)上运行它。我使用的是BASH shell脚本和python,以及这里列出的工具和gdb。
答案 0 :(得分:4)
反汇编平面二进制文件:objdump -D -b binary -m i386 foo.bin
。或者使用汇编源中的.byte
指令创建目标文件,例如将.byte 0xc3
放入foo.s
然后gcc -c foo.s
然后objdump -d foo.o