LLDB:在指针位置反汇编函数(Obj-C / macOS)

时间:2018-01-13 07:17:56

标签: objective-c macos reverse-engineering lldb objective-c-runtime

当尝试调试用Objective-C编写的应用程序时,我经常看到寄存器包含一个指向函数的指针。问题是,我似乎无法实际实现。

示例:

$register read
$rbx = 0x00007fffd1b326b8  (void *)0x001dffffd1b32731
$x/2xw $rbx
$0x7fffd1b326b8: 0xd1b32731 0x001dffff (flipped endian)
$x/2xw 0x001dffffd1b32731
$error: memory read failed for 0x1dffffd1b32600

显然,我不能在该地址设置断点,以便消除该选项,所以我的问题是:是否有可能获得应该在该内存地址的指令?

1 个答案:

答案 0 :(得分:0)

如果知道函数的地址,则可以使用disassemble -a命令查看该函数的汇编。

(lldb) disassemble -a 0x1234

(lldb) disas -a 0x1234