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

使用Pwntools与GDB调试Linux进程时环境变量设置异常问题

Pwntools GDB调试时环境变量设置的误区

问题场景

使用Pwntools调试Linux二进制程序时,通过env参数设置目标进程的环境变量,但在GDB中执行show environment看不到预期变量,代码如下:

from pwn import *
elf = ELF("/usr/bin/su")
gs = 'show environment'
dbg = gdb.debug([elf.path], gdbscript=gs, env={"Z": "AAAA"})
dbg.interactive()

核心误解

GDB的show environment命令展示的是GDB自身的环境变量,而非被调试的目标进程的环境变量,因此看不到通过env参数设置的变量属于正常现象,并非env参数失效。

验证方法

要确认目标进程的环境变量是否正确设置,可通过以下步骤:

  • 在GDB中执行info inferiors命令,获取被调试进程的PID
  • 查看/proc/<pid>/environ文件,该文件以\0为分隔符存储进程的所有环境变量,能看到设置的Z=AAAA

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.09 11:42:02