Gdb缓冲区溢出; Python将无法执行

时间:2018-07-24 17:48:05

标签: python gdb buffer overflow buffer-overflow

我对gdb有问题,我无法在其中运行python命令。它一直挂着,直到我再次按Enter键为止。

gdb$  run $(python -c "print('A'*50)");
Starting program: /home/Myprogram $(python -c "print('A'*50)");


[buf]: 

[check] 0x4030201
[Inferior 1 (process 27229) exited normally]
--------------------------------------------------------------------------[regs]
  EAX:Error while running hook_stop:
No registers.

我去搜索了,每次有人使用相同的命令:

Starting program: /home/Myprogram $(python -c "print('A'*50)");

他们的下方紧挨着一行50'A。

第二部分(在[buf]之后:)仅在我再次按Enter键时显示。如果我什么都不做,它只会挂起并且不会执行python。

有什么建议吗?

1 个答案:

答案 0 :(得分:0)

我终于找到了解决方法:

echo "your python code" > bla.py
python bla.py > output
gdb yourProgram

在gdb中:

gdb$ run < output