【问题标题】:LLDB: Disassemble functions at pointer location (Obj-C/macOS)LLDB:在指针位置反汇编函数(Obj-C/macOS)
【发布时间】:2018-06-22 14:17:10
【问题描述】:

在尝试调试用 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

显然,我也不能在该地址设置断点,这样就可以消除该选项,所以我的问题是:是否可以访问假定位于该内存地址的指令?

【问题讨论】:

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


    【解决方案1】:

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

    (lldb) disassemble -a 0x1234
    

    (lldb) disas -a 0x1234
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-01-27
      • 1970-01-01
      • 2012-04-07
      • 1970-01-01
      • 2011-07-08
      • 1970-01-01
      相关资源
      最近更新 更多