重建从Mach-O二进制中剥离的符号

时间:2009-08-09 23:11:18

标签: macos binary symbols mach-o

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

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

这是我第一次尝试在这个级别使用二进制文件,所以任何帮助都会受到赞赏。

2 个答案:

答案 0 :(得分:1)

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

答案 1 :(得分:0)

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