Ghidra:iOS 应用程序:Mach-O 二进制文件 -> dylib 或框架的符号文件未生成

逆向工程 吉德拉 ios 男子气概 图书馆 arm64
2021-06-29 02:08:38

我正在通过 Ghidra 对 Mach-O 文件二进制文件执行我的第一次反向操作。我的问题是 Ghidra 不会创建项目中加载的 dylib/框架的符号文件。这真的有问题,因为我想通过这些库跟踪调用。(ARM64v8-a,iOS 13.6,用 Cellebrite 和 checkra1n 提取的图像)

在这里我们可以看到在导入下面没有找到函数。所有这些外部库都加载到项目中。(其中一些已经从dyld_shared_cache中提取出来,因此可能有些没有完全重建。但其他是完整的) 在此处输入图片说明

如果我尝试使用 PE 文件,则会检测到该函数并在 Ghidra 的 config 文件夹下创建符号文件,但不会使用任何 dylib 二进制文件:

在此处输入图片说明

我发现 Hopper 成功地找到了对这些外部二进制文件的引用。(免费版)

我只能在网上找到符号文件,但直到现在我还没有找到一个,而且有几个库是与应用程序相关的。(分析的iPhone 8的任何应用程序都有同样的问题,所以我认为它与分析的应用程序无关)

有人有这个问题吗?

有人知道在哪里可以找到 iOS 的符号文件吗?

感谢您的阅读。

1个回答

Ghidra 很可能不知道如何从 dyld_shared_cache 中读取符号。您可以尝试使用不同的工具,例如 IDA PRO、Rizin 或radare2 或 Cutter 等。

但是,您要反转哪个二进制文件?您知道要跟踪哪些函数吗?您可以使用工具 jtool,阅读有关jtool 的更多信息 - 从 otool(1) 中取出 O,还有更多内容,他展示了如何使用该工具获取功能