4

我有一个接受参数的 C 程序。我想在通过 gdb 调试时将参数传递给它,但我想通过 python 命令指定参数。所以,

(gdb) run >>python return "a"*20 #arg1 >>python return 1+2 #arg2

我怎样才能做到这一点?我想这样做的原因是因为我想将字节码地址作为参数传递给程序,但如果我将它作为字符串传递,它只会将所有内容转换为 ASCII。即如果我尝试:

(gdb) run \xf7\xff\xba\xb5

那么我上面给出的地址只是转换为 ASCII 字符串,而不是用作内存地址。我想如果我的第一个问题得到回答,我的第二个问题也可能得到回答。

谢谢。

4

1 回答 1

8

我找到了解决方案。

(gdb) run "`python -c 'print "\xff\xff\xff\xff"'`"

于 2013-09-21T19:27:05.357 回答