首页 > 解决方案 > 如何从 GDB 中的寄存器中取消引用和打印内存?

问题描述

我正在使用 GDB 对二进制文件进行逆向工程,并在函数调用之前分析寄存器内容。该寄存器eax包含的地址"A string"和相同的地址存储在ebp - 12

(gdb) x/s $eax
0x56557100:     "A string"
(gdb) x/wx $ebp-12
0xffffd02c:     0x56557100

当我尝试取消引用地址时,我收到警告

(gdb) x/8c *($ebp -12)
Attempt to dereference a generic pointer.

但是这个指针对于取消引用是安全的

(gdb) x/s 0x56557100
0x56557100:     "A string"

如何在一行中打印指针的内容?

标签: debuggingassemblyx86gdbreverse-engineering

解决方案


推荐阅读