有没有可能让gdb以交互方式反汇编机器代码?例如:
(gdb)反汇编命令0x58 0xef 0x22
如果我给出上面的命令,gdb应该将十六进制值解释为机器码,并返回给我反汇编。据我所知,这些命令只反汇编了已加载程序的一部分内存。
发布于 2010-10-27 12:41:38
GDB不能直接做到这一点,但您可以非常接近:
cat > t.c <<EOF
char buf[512];
int main() { return 0; }
EOF
gcc -g t.c -o t
gdb -q ./t
Reading symbols from /tmp/t...done.
(gdb) b main
Breakpoint 1 at 0x8048352: file t.c, line 2.
(gdb) r
Breakpoint 1, main () at t.c:2
2 int main() { return 0; }
(gdb) set buf[0] = 0x58
(gdb) set buf[1] = 0xef
(gdb) set buf[2] = 0x22
(gdb) x/i buf
0x8049560 <buf>: pop %eax
(gdb) qhttps://stackoverflow.com/questions/4011412
复制相似问题