【问题标题】:reconstructing symbols stripped from Mach-O binary重构从 Mach-O 二进制文件中剥离的符号
【发布时间】:2009-08-09 23:11:17
【问题描述】:

使用 Mac OS X 10.5 我试图弄清楚如何使用 dtrace 来跟踪 Mach-O 二进制文件的执行。但是,似乎所有符号都已被删除,因此任何尝试使用基于内部类/方法名称的探针的尝试都失败了。

我能够使用 class-dump 转储类、方法名称和它们实现的地址,所以我假设您可以使用它来重建二进制文件中的符号。这是否可能,如果有的话,有没有人知道任何可能有助于它的工具或一些可以帮助我更好地理解它的阅读材料?

这是我第一次尝试在此级别使用二进制文件,因此我们将不胜感激。

【问题讨论】:

  • 您是如何使用探针的?您是否尝试过“objc”提供程序?

标签: macos binary symbols mach-o


【解决方案1】:

可以重建用于 gdb 的 Objective-C 符号,请参阅我在 Import class-dump info into GDB 的答案。

【讨论】:

    【解决方案2】:

    不,这是不可能的。当符号被剥离时,信息会丢失在每个方法的代码开始的确切位置。您必须反汇编代码才能重建此信息。如果你只知道每个类的方法是什么,你仍然不知道它们在代码中的位置,这正是 dtrace 需要的。

    【讨论】:

    • 其实我有方法和类的实现地址。正如我上面提到的,一个名为 class-dump 的简洁实用程序。
    猜你喜欢
    • 1970-01-01
    • 2023-04-02
    • 2012-10-22
    • 2013-04-05
    • 1970-01-01
    • 1970-01-01
    • 2022-12-05
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多