Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/macos/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Macos 从Mach-O二进制文件中重构符号_Macos_Binary_Symbols_Mach O - Fatal编程技术网

Macos 从Mach-O二进制文件中重构符号

Macos 从Mach-O二进制文件中重构符号,macos,binary,symbols,mach-o,Macos,Binary,Symbols,Mach O,使用MacOSX10.5,我试图找出如何使用dtrace跟踪Mach-O二进制文件的执行。然而,似乎所有的符号都被去掉了,所以任何基于内部类/方法名的使用探测的尝试都失败了 我能够使用类转储来转储类、方法名和它们实现的地址,所以我假设您可以使用它来重建二进制中的符号。这可能吗?如果可能的话,有没有人知道有什么工具可以帮助我理解它,或者有什么阅读材料可以帮助我更好地理解它 这是我第一次尝试在这个级别上使用二进制文件,因此非常感谢您的帮助。不,这是不可能的。当符号被剥离时,信息将丢失,而每个方法的代

使用MacOSX10.5,我试图找出如何使用dtrace跟踪Mach-O二进制文件的执行。然而,似乎所有的符号都被去掉了,所以任何基于内部类/方法名的使用探测的尝试都失败了

我能够使用类转储来转储类、方法名和它们实现的地址,所以我假设您可以使用它来重建二进制中的符号。这可能吗?如果可能的话,有没有人知道有什么工具可以帮助我理解它,或者有什么阅读材料可以帮助我更好地理解它


这是我第一次尝试在这个级别上使用二进制文件,因此非常感谢您的帮助。

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

重建Objective-C符号以便在gdb中使用是可能的,请参阅我的答案。

实际上,我有方法和类的实现地址。正如我前面提到的,一个叫做类转储的简洁实用程序。您是如何使用探测的?您是否尝试过“objc”提供商?