0

运行时,我可以通过 Ctrl-Cgdb cmd手动停止。cmd这会调用调试器并让我检查内存。

在 pwntools 中,我可以附加 gdb,并且可以通过在 gdb 窗口中按 Ctrl-C 来手动停止该进程。我希望能够从 pwntools 脚本以编程方式执行此操作:类似于:

if output != expected:
    io.gdb.ctrlc() # break, let me use gdb

这不一定需要 pwntools 答案。GDB 有一个强大的 Python API,但我在其中找不到相当于“中断进程,好像有人按了 Ctrl-C”。有没有办法通过 GDB Python API 或 pwntools 方法来做到这一点?

4

1 回答 1

0

有没有办法通过 GDB Python API 或 pwntools 方法来做到这一点?

我不知道,但是在全停止pwntools模式下使用 GDB Python API这是不可能的:当下级运行时,GDB 被阻塞(等待下级发生某些事情)。waitpid

不过,它可能会不间断模式下工作。

于 2021-11-23T01:01:13.160 回答