# iblessing iOS 应用与 Mach-O 分析工具集

> 用于分析 iOS 应用和 arm64 Mach-O 二进制的工具集，基于 Capstone、Unicorn 与 Keystone 构建。其扫描器可提取应用包元数据（如 URL Scheme 和传输安全设置），定位 Objective-C 类引用和 NSPredicate 用法，识别符号包装函数，并借助 Unicorn 部分模拟 arm64 代码以恢复 objc_msgSend 交叉引用，包括经由 block 传递的调用。生成器可把扫描报告转成 IDA Pro 脚本，用于添加交叉引用和重命名包装函数，也可启动本地查询服务；共享核心库及插件接口可用于开发自定义工具。

- 类型：工具
- 目标：应用 · 二进制
- 类别：原生分析工具
- 关联：基础工具
- 来源复核于：2026-10-27
- 收录于：2026-11-02
- 原始资源：<https://github.com/Soulghost/iblessing>
- 一手来源：<https://github.com/Soulghost/iblessing/blob/ff14351de3f3c2155e8df47c26d4367523af7628/README.md>
- 目录页面：<https://awesomerea.org/zh/resources/iblessing/>
- 记录 JSON：<https://awesomerea.org/resources/iblessing/record.json>
- 英文版：[English](https://awesomerea.org/resources/iblessing/index.md)

## 使用条件与局限

- 审阅时最新版本为 v1.0.4-beta，发布于 2021-11-26，标签正对应所审阅的 master 提交；所有版本均标为预发布。近期各版本附带 macOS 与 Linux 的命令行程序和一体化构建、含共享核心库及头文件的框架压缩包，以及一份 Foundation 与 UIKit 方法签名的 JSON 表。README 功能列表中，Swift 类解析、跟随分支与调用以及 Android 扫描器仍未完成。
- app-info 扫描器需要使用者提供 iOS .app 应用包，其他扫描器需要 arm64 Mach-O 二进制；README 示例先用另一个工具恢复符号，再分析商业第三方应用，但仓库未提交任何应用二进制。类引用和 objc_msgSend 交叉引用扫描器只接受 arm64 二进制，app-info 仍依赖 Cocoa，因此无法在 Linux 上使用。README 提醒，二进制扫描器加载每个 Mach-O 文件都会预留 12 GB 虚拟内存，物理内存或交换空间须足以容纳。
- 递归克隆后可在 macOS 或 Linux 上用 CMake 3.5+ 和 C++17 编译器构建；compile-cmake.sh 会先把固定版本的 Capstone、Unicorn（arm、aarch64 和 x86）和 Keystone 子模块编译为静态库。仓库还附带 Xcode 工程。只有应用生成的脚本时才需要 IDA Pro。
- GitHub Actions 在 Ubuntu 和 macOS 上构建，并仅在 macOS 上扫描随附的示例应用基准文件、运行内置的 objc_msgSend 交叉引用测试；Travis CI 负责构建并发布带标签的版本。README 说明 objc-msg-xref 为提高速度不跟随任何调用，因此结果会有部分缺失。
- 采用 GPL-3.0（LICENSE）。项目自称 iOS 安全漏洞利用工具集。被分析的应用和 Apple 框架适用各自条款，Capstone、Unicorn 与 Keystone 子模块也有各自的许可证。

## 一手来源

1. <https://github.com/Soulghost/iblessing/blob/ff14351de3f3c2155e8df47c26d4367523af7628/README.md>
2. <https://github.com/Soulghost/iblessing/blob/ff14351de3f3c2155e8df47c26d4367523af7628/compile-cmake.command>
3. <https://github.com/Soulghost/iblessing/blob/ff14351de3f3c2155e8df47c26d4367523af7628/.gitmodules>
4. <https://github.com/Soulghost/iblessing/blob/ff14351de3f3c2155e8df47c26d4367523af7628/iblessing/CMakeLists.txt>
5. <https://github.com/Soulghost/iblessing/blob/ff14351de3f3c2155e8df47c26d4367523af7628/.github/workflows/c-cpp.yml>
6. <https://github.com/Soulghost/iblessing/blob/ff14351de3f3c2155e8df47c26d4367523af7628/run-test.command>
7. <https://github.com/Soulghost/iblessing/blob/ff14351de3f3c2155e8df47c26d4367523af7628/.travis.yml>
8. <https://github.com/Soulghost/iblessing/tree/ff14351de3f3c2155e8df47c26d4367523af7628/iblessing/iblessing/tests>
9. <https://github.com/Soulghost/iblessing/blob/ff14351de3f3c2155e8df47c26d4367523af7628/LICENSE>
10. <https://github.com/Soulghost/iblessing/releases/tag/v1.0.4-beta>

## 同分区更多条目：原生二进制

- [SiMBA 线性 MBA 表达式化简工具](https://awesomerea.org/zh/resources/simba-mba-simplifier/index.md) · 工具
- [GTIRB 二进制中间表示](https://awesomerea.org/zh/resources/gtirb/index.md) · 工具
- [Quokka 二进制导出工具](https://awesomerea.org/zh/resources/quokka-binary-exporter/index.md) · 工具
- [knife 静态逆向工程工具包](https://awesomerea.org/zh/resources/knife/index.md) · 工具
- [BARF 二进制分析与逆向工程框架](https://awesomerea.org/zh/resources/barf/index.md) · 工具
- [rabbitizer MIPS 指令解码器](https://awesomerea.org/zh/resources/rabbitizer/index.md) · 工具

## 关于此条目

说明已依据一手来源复核。
原创说明采用 MIT 许可；外部项目、论文与素材保留各自的权利和许可。
