提取Objective-C二进制文件

是否有可能提取二进制文件,以获取二进制文件后面的代码? 使用类转储可以看到实现地址,但是是否也可以看到实现中的代码? 有没有办法做到这一点?

所有代码都会编译为单个指令,放在可执行文件的文本部分。 编译器负责将您的高级语言翻译成更简单的处理器特定指令。 除非代码很简单,否则恢复这个过程几乎是不可能的。 一些问题是语句不明确,整体可读性:例如,局部variables只是一个偏移地址。

如果你想读取反汇编的代码(上级代码被编译成的指令),在可执行文件中使用这个命令:

otool -tV file

你可以反编译(更准确地说,反汇编)一个二进制文件,并得到它的程序集,但是没有办法找回最初的Objective-C。

我的好奇心让我问你为什么要这样做?