【发布时间】:2015-08-11 07:25:13
【问题描述】:
可以很容易地读取另一个地址指向的位置的内存。
例如$r0 = 0x15942600 在这个内存地址有AC B8 EC 14
现在要读取 0x14ecb8ac 处的内存,我必须这样做:
mem read $r0
mem read 0x14ecb8ac
有什么方法可以轻松完成mem read ($r0) 以便我可以轻松读取内存?
我试过这个:
(lldb) mem re $r1
0x007db594: 7c d5 e7 15 00 00 00 00 e4 b5 7d 00 70 f6 9a 36
(lldb) mem read 0x15e7d57c
0x15e7d57c: 74 69 63 72 63 74 37 35 00 00 63 61 00 00 49 39
(lldb) mem read '*(char **)$r1'
error: invalid start address expression.
error: address expression "*(char **)$r1" evaluation failed
【问题讨论】:
-
我没有带有 r0 寄存器的架构来测试这个,但
mem read '*(char **)$r0'应该可以工作。 -
嘿@MarkPlotnick 我试过了,不行。
-
有趣。目标是什么架构,lldb 是什么版本?
-
p *(int **)$r1会报错吗? -
嗯。所以 *(char **) 给出错误但 *(int **) 有效?
标签: memory reverse-engineering lldb