pwndbg-mcp # run the MCP server (default)
pwndbg-mcp install # uv sync + register in ~/.claude.json
pwndbg-mcp uninstall # unregister from ~/.claude.json
pwndbg-mcp config # show registration status and JSON config
pwndbg-mcp run # run the MCP server (explicit)
pwndbg-mcp path # add pwndbg-mcp to shell PATH (zsh/bash/fish)
配置
环境变量
默认值
描述
PWNDBG_MCP_GDB_PATH
gdb
GDB二进制文件的路径(已加载pwndbg)
工具(96)
GDB核心(33)
工具
说明
load_binary
将ELF二进制文件加载到GDB中进行调试
attach_process
通过PID将GDB附加到正在运行的进程
detach_process
将GDB从当前进程中分离出来
remote_connect
连接到远程GDB服务器(gdbserver)
remote_disconnect
断开与远程GDB目标的连接
run_program
从头开始运行加载的程序
continue_execution
继续执行程序,直到下一个断点或退出
step_into
进入下一个源代码行(输入函数调用)
step_over
跳过下一个源代码行(跳过函数调用)
step_instruction
第一步机器指令(输入呼叫)
next_instruction
第一步机器指令(跳过调用)
finish_function
执行,直到当前函数返回
interrupt_execution
中断正在运行的程序(如GDB中的Ctrl-C)
kill_program
终止正在运行的程序
set_breakpoint
在指定位置设置断点
delete_breakpoint
按断点编号删除断点
enable_breakpoint
启用已禁用的断点
disable_breakpoint
禁用断点而不删除它
list_breakpoints
列出所有断点、观察点和捕捉点
set_watchpoint
在内存表达式上设置监视点
read_registers
读取CPU寄存器值
write_register
将值写入CPU寄存器
read_memory
读取某个地址的原始内存字节
write_memory
将字节写入内存中的某个地址
disassemble
在某个地址或范围内分解指令
evaluate_expression
在当前上下文中计算表达式
backtrace
显示调用堆栈(回溯)
stack_locals
在当前堆栈帧中显示局部变量
stack_args
在当前堆栈帧中显示函数参数
select_frame
按编号选择堆栈帧
list_threads
列出调试进程中的所有线程
switch_thread
切换到其他线程
execute_command
执行任何原始GDB/MI或控制台命令
pwndbg扩展(41)
工具
说明
pwndbg_context
显示pwndbg上下文显示:寄存器、反汇编、堆栈、回溯
telescope
从地址递归开始的解引用指针
vmmap
显示进程的虚拟内存映射
hexdump_memory
地址处的十六进制转储内存
xinfo
显示内存地址所属的信息
search_memory
在进程内存中搜索值
probeleak
探测内存中指向已知区域(堆、堆栈、libc等)的指针
leakfind
查找从地址到已知区域的指针链
distance
计算两个地址之间的距离
heap_bins
显示所有空闲列表箱(tcache、快速、未排序、小、大)
heap_overview
显示堆状态的概述
vis_heap_chunks
具有颜色编码边界的堆块的视觉表示
malloc_chunk
检查特定的malloc块头和元数据
top_chunk
显示堆的顶部(荒野)块
heap_arenas
列出所有malloc竞技场
tcachebins
显示tcache bin条目及其内容
fastbins
显示快速垃圾箱条目及其内容
unsortedbin
显示未排序的垃圾箱条目
smallbins
显示小垃圾箱条目及其内容
largebins
显示大箱子条目及其内容
find_fake_fast
查找地址附近的假fastbin块的候选位置
try_free
模拟free()对块执行的操作,检查错误
checksec
显示二进制安全功能:NX、PIE、RELRO、堆栈金丝雀、FORTIFY
got_table
显示全局偏移表条目及其解析地址
plt_table
显示程序链接表条目
piebase
显示加载的二进制文件的PIE基址
elf_sections
列出加载的二进制文件的所有ELF部分
libcinfo
显示libc版本和路径信息
rop_gadgets
在加载的二进制文件中查找ROP小工具
cyclic_pattern
生成De Bruijn循环模式以查找偏移量
cyclic_find
在De Bruijn循环模式中找到一个值的偏移量
onegadget
在libc中查找一个小工具RCE候选者
canary
显示当前堆栈金丝雀值
retaddr
显示当前帧堆栈上的返回地址
sigreturn_frame
生成SROP利用的sigreturn帧
dumpargs
根据调用约定将函数参数转储到当前位置
patch_instruction
在给定地址处修补内存中的指令
nearpc
显示带有上下文的地址周围的反汇编
emulate
在不实际运行指令的情况下模拟指令的执行
pwndbg_status
返回当前GDB状态并清除所有挂起的消息
pwndbg_hard_reset
完全终止并重新启动GDB进程
进程I/O(4)
工具
说明
send_to_process
将字符串发送到调试进程的stdin
eval_to_send
计算Python/pwntools表达式,并将结果以字节形式发送给进程
read_from_process
从调试进程的stdout读取输出
interrupt_process
通过终端向调试进程发送控制信号
pwntools实用程序(18)
不需要运行GDB会话的离线帮助程序。
工具
说明
pack
将整数打包成字节
unpack
将十六进制字符串解压缩为整数
pwn_cyclic
生成用于缓冲区溢出偏移查找的De Bruijn循环模式
pwn_cyclic_find
在De Bruijn循环模式中找到一个值的偏移量
elf_info
获取基本ELF信息:架构、位、字节序和安全校验秒结果
elf_symbols
列出ELF二进制文件中定义的符号
elf_got
显示ELF二进制文件的全局偏移表(GOT)条目
elf_plt
显示ELF二进制文件的过程链接表(PLT)条目
elf_search
在ELF二进制文件中搜索字节字符串
rop_find_gadgets
在ELF二进制文件中查找ROP小工具
rop_build_chain
从JSON规范构建ROP链
shellcraft_generate
从pwntools shellcraft模板生成shellcode汇编源代码
asm_encode
将指令汇编成机器代码字节
asm_decode
将机器代码字节分解为汇编指令
fmtstr_payload
生成利用有效载荷的格式字符串
hex_encode
将字符串编码为十六进制表示形式
hex_decode
将十六进制字符串解码回文本或字节表示
xor_data
将十六进制数据字符串与十六进制密钥字符串进行XOR运算
建筑
src/
server.py MCP server entry point, GDB controller lifecycle
gdb_controller.py Async GDB/MI protocol handler with PTY for process I/O
tools_gdb.py GDB core tools (33)
tools_pwndbg.py pwndbg extension tools (41)
tools_pwntools.py Offline pwntools utilities (18)
tools_process.py Process stdin/stdout tools (4)
utils.py ANSI stripping, response formatting
cli.py CLI: install/uninstall/config/run/path