# restore-symbol iOS 符号表恢复工具

> 运行于 macOS 的命令行工具，为已剥离符号的 iOS 应用 Mach-O 可执行文件重建符号表并输出新文件，使 lldb 等调试器能按 Objective-C 方法名设置断点并显示名称。它借助 class-dump 从二进制的 Objective-C 元数据中恢复方法名和地址，也可以从 JSON 文件合并额外的名称与地址，例如随附 IDA 脚本找到的 block 符号。

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

## 使用条件与局限

- 项目没有发布版本或标签；所审阅的 2019-04-27 master 提交即最新提交，仓库也没有测试或 CI。README 只涉及 Objective-C 方法和 block，没有提到 Swift 符号。
- 需在 macOS 上用 Xcode 构建：make 会初始化固定版本的 class-dump 子模块（0xced 的分支），并用 xcodebuild 构建面向 macOS 10.11 的工程。block 符号脚本 search_oc_block/ida_search_block.py 在 IDA 中运行，使用 Python 2 的 print 语句和旧版 idaapi.get_inf_structure 调用，并输出 block_symbol.json。
- 输入是使用者有权分析的应用中的单架构 armv7 或 arm64 Mach-O 可执行文件；遇到 fat 文件时工具会拒绝处理并提示先用 lipo 拆分，处理结果写入新的输出文件而不改动输入文件。README 随后用使用者自己的开发者证书重新签名应用包，并在设备上用 lldb 调试。仓库只有源码和 README 截图，不含任何应用二进制。
- 仓库没有许可证文件，GitHub 也未识别出许可证，因此 restore-symbol 自身代码的复用条款未说明；构建会链接 class-dump 子模块中的 MachObjC 库，该库采用 GPL-2.0-or-later。

## 一手来源

1. <https://github.com/tobefuturer/restore-symbol/blob/83ccb9085339750fd777b0707641b68c7661a388/README.md>
2. <https://github.com/tobefuturer/restore-symbol/blob/83ccb9085339750fd777b0707641b68c7661a388/source/restore-symbol.m>
3. <https://github.com/tobefuturer/restore-symbol/blob/83ccb9085339750fd777b0707641b68c7661a388/makefile>
4. <https://github.com/tobefuturer/restore-symbol/blob/83ccb9085339750fd777b0707641b68c7661a388/.gitmodules>
5. <https://github.com/tobefuturer/restore-symbol/blob/83ccb9085339750fd777b0707641b68c7661a388/restore-symbol.xcodeproj/project.pbxproj>
6. <https://github.com/tobefuturer/restore-symbol/blob/83ccb9085339750fd777b0707641b68c7661a388/search_oc_block/ida_search_block.py>
7. <https://github.com/0xced/class-dump/blob/a8877b6695f317816322134944a410de09da4911/README.md>

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

- [FakeNet-NG 动态网络分析工具](https://awesomerea.org/zh/resources/fakenet-ng/index.md) · 工具
- [Joern 代码属性图分析平台](https://awesomerea.org/zh/resources/joern/index.md) · 工具
- [Speakeasy Windows 恶意软件仿真框架](https://awesomerea.org/zh/resources/speakeasy/index.md) · 工具
- [LazyIDA：IDA 便捷操作插件](https://awesomerea.org/zh/resources/lazyida/index.md) · 工具
- [Tiny Tracer API 调用跟踪工具](https://awesomerea.org/zh/resources/tiny-tracer/index.md) · 工具
- [Ponce IDA 符号执行与污点分析插件](https://awesomerea.org/zh/resources/ponce/index.md) · 工具

## 关于此条目

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