我正在尝试使用 gdb 调试一个简单的缓冲区溢出程序。我在 Windows 上分析了该程序,没有任何问题。但是现在我正在使用具有完全相同程序的 linux gdb,但是在访问 esp 和变量时出现“无法访问地址 0xffffffffffffdfa0 处的内存”错误。
谁能帮帮我谢谢
尝试检查rsp而不是esp.
rsp
esp
ax->16-bit eax->32-bit rax->64-bit
堆栈指针也类似。sp->16 位,esp->32 位和rsp->64 位。当您检查 esp 时,地址实际上是 64 位,但您正在尝试检查并强制将其拆分为 32 位地址。
sp