繁体   English   中英

提取Objective-c二进制文件

[英]Extract Objective-c binary

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

您的所有代码都编译为单个指令,放在可执行文件的文本部分中。 编译器负责将更高级别的语言转换为更简单的处理器特定指令。 除非代码非常简单,否则恢复此过程几乎是不可能的。 一些问题是语句的模糊性和整体可读性:例如,局部变量将只是一个偏移地址。

如果要读取反汇编代码(编译更高级代码的指令),请在可执行文件中使用此命令:

otool -tV file

您可以反编译(更准确地说,反汇编)二进制文件并获取它的程序集,但是无法取回原始的Objective-C。

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

otx http://otx.osxninja.com/是一个很好的工具,用于象征基于otool的反汇编它将处理x86_64和i386反汇编。

Mach-O-Scope https://github.com/smorr/Mach-O-Scope是一个建立在otx之上的工具,可以将它全部转储到sqlite3数据库中进行浏览和注释。

它不会给你原始的来源 - 但它会让你非常接近为你提供在方法中发送的消息。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM