gpt4 book ai didi

python - 将 python -c 传递给 gdb 中运行的程序

转载 作者:行者123 更新时间:2023-11-30 16:32:33 25 4
gpt4 key购买 nike

我目前正在使用这个 C 程序(是的,我知道它的漏洞)。

int main(int argc, char **argv)
{
char buffer[64];
gets(buffer);
}

当我将它放入 gdb 中时,我想运行它,然后向它传递一个 python 命令。例如

gdb -q test
Reading symbols from test...(no debugging symbols found)...done.
(gdb) r
Starting program: /tmp/test
python -c 'print "A" * 100'
[Inferior 1 (process 14912) exited normally]
(gdb) r
Starting program: /tmp/test
`python -c 'print "A" * 100'`
[Inferior 1 (process 14917) exited normally]
(gdb)

运行此命令后实际上可以将 python 命令传递给程序吗?或者最好只是在 gdb 之外执行此操作并将其通过管道输入?

干杯

最佳答案

Is it actually possible to pass a python command to the program after running this?

是的,但是你做错了。您的命令的作用:

/tmp/test `python  -c 'print "A" * 100'`

这相当于:

/tmp/test AAAAA...A

你想要什么:

(gdb) run <(python -c 'print "A" * 100')

这相当于:

echo "AAAAA...A" | /tmp/test

关于python - 将 python -c 传递给 gdb 中运行的程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50089423/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com