debugging - 如何从 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"
如何在一行中打印指针的内容?
解决方案
推荐阅读
- react-native - 在设备上使用 react-native-firebase 检测文本要求计费
- javascript - 我正在尝试使用 ajax 调用获取特定产品的价格。到目前为止,我已经尝试过了。但是选择产品后我没有得到价格
- c++ - OpenMP 任务看不到共享变量的变化
- javascript - 尝试访问 S3 时渲染的钩子比上一次渲染时更多
- php - 使用代码片段在主要和登台 WordPress 网站上重定向
- android - 每当Kotlin中的arraylist发生更改时如何更新textview
- python - 如何同时选择多个列(包含和排除)?
- c++ - 使用复制构造函数复制双精度数组
- keras - 如何使用自定义生成器生成混淆矩阵
- php - PhpStorm & XAMPP - 我无法调试