你好,我正在使用我的原生 android 库,到目前为止一切都很顺利。我的操作码有问题,我不知道如何告诉radare2 使用特定注册表编写 str 操作码,并将其指向堆栈指针和局部变量。
详情如下:
通过以下方式加载的库:
r2 -Aw lib/arm64-v8a/libnative-lib.so
变更前
| ; var int local_ch @ sp+0xc
| ; var int local_10h @ sp+0x10
| ; var int local_18h @ sp+0x18
[...]
| 0x0000946c e00f00f9 str x0, [sp + local_18h]
| 0x00009470 e10b00f9 str x1, [sp + local_10h]
应用更改
[0x00009470]> wa str x1,sp+local_10h
Written 4 byte(s) (str x1,sp+local_10h) = wx e10300f9
不需要的输出
[0x00009470]> pd 1
| 0x00009470 e10300f9 str x1, [sp]
我想要但不知道如何获取的输出(注意“ + local_10h ”标签)
[0x00009470]> pd 1
| 0x00009470 e10b00f9 str x1, [sp + local_10h]