《iOS应用逆向与安全》书中问题

@AloneMonkey
6ea0444173c0b00758e196dec066a76d9be21862_2_750x1000
我看到指令ldr x0,[x21, x8]时。理解是:“把x21+x8的和的地址 上存的值给取出去。赋值给x0”
书中写的是:

P112 hopper把3210和3214当成了一个偏移来解析,解析出来的是偏移0x18处的loginButton属性,而3214对应的是偏移0x08处的属性,这个是怎么算(看)出来的呀。

你理解没错,但是你要知道x8的值是多少。

在这里 x8不是 0x100043214吗

ldr 这条指令是什么意思?

ARM.Reference_Manual.pdf (485.8 KB)

Your need this!

把内存地址的内容加载到寄存器呀

help 我不知道 我的想法错在哪里

x21存的地址 + x8存的地址 得到一个 新地址(Y),
再把这个Y地址处的值取出来,赋值给X0


如果直接调试,这样把$x21和 $x8的值相加 得到一个地址,把内容弄出来 我能理解
书上写的是 “ 而3214对应的是偏移0x08处的属性”, 这个有点不理解 是怎么算(看)出来的。

那你调试的时候为什么x8不是 0x100043214呢?

谢谢指点:grin:
因为上一条 ldrsw x8, 0x100043214 ,不是把地址赋值给x8,而是把内存地址的内容提出来给x8

“而3214对应的是偏移0x08处的属性”, 这个我也不理解 0x08怎么看出来的?