# ktool Mach-O 与 Objective-C 分析工具包

> 纯 Python 编写的 Mach-O 与 Objective-C 静态分析工具包，可作为 ktool 命令行、终端浏览界面（ktool open）或程序库使用，没有需要编译的依赖。其命令可列出加载命令、链接库、符号表、导入与导出符号、Objective-C 类和协议、Swift 类型、函数起始地址以及代码签名权限（entitlements），并可导出重建的 Objective-C 头文件或 .tbd 存根。它还能列出并提取内核缓存中的 kext，拆分和合并 fat 二进制文件，修改安装名并插入加载命令。

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

## 使用条件与局限

- 审阅时 PyPI 上的最新版本为 k2l 2.0.0，上传于 2024-01-10，GitHub 上也有对应标签。所审 master 分支 2026-03-07 的最新提交在 pyproject.toml 中声明版本 2.1.2，该版本尚未发布。README 注明终端图形界面仍在积极开发中，还列出了 file 和 img4 工具，但所审的命令解析代码中并未定义这两个命令。
- 用 pip install k2l 安装：该包要求 Python 3.6.2 或更高版本，依赖 Pygments，在 Windows 上还会安装 windows-curses。README 称可在 Windows、macOS、Linux（含 ARM64）、通过 iSH 运行的 iOS、通过 Termux 运行的 Android、WebAssembly 和 Brython 上运行。除非设置 KTOOL_NO_UPDATE_CHECK，每次运行都会在后台线程中向 PyPI 查询是否有更新的 k2l。
- 输入是使用者自行提供的 Mach-O 文件、fat 二进制文件或内核缓存；仓库未提交任何 Mach-O 二进制文件。tests/src 中有两个小型 Objective-C 测试源码、一个权限 plist，以及 libSystem.tbd——这是 Apple SDK 中常见的那类文本存根，列出 watchOS libSystem 的导出符号，用于链接 arm64_32 测试构建；tests/build.ninja 在本地用 Xcode 的 clang、lipo 和 codesign 编译测试二进制文件。
- macOS 上的 GitHub Actions 工作流会构建这些测试二进制文件，运行 tests/unit.py，并测试 insert、edit、lipo、dump 和 symbols 命令；它在所审提交上的运行结果为失败。
- MIT（LICENSE，版权 2021 _kritanta）。EXTERNAL_LICENSES 说明链式修复（chained fixup）代码基于作者为 Binary Ninja 的 Mach-O 视图插件编写的代码，并附有相应的 Apache-2.0 许可证。

## 一手来源

1. <https://github.com/0cyn/ktool/blob/faed829b838dc4060b7e36f90239a52cd37f2a45/README.md>
2. <https://github.com/0cyn/ktool/blob/faed829b838dc4060b7e36f90239a52cd37f2a45/pyproject.toml>
3. <https://github.com/0cyn/ktool/blob/faed829b838dc4060b7e36f90239a52cd37f2a45/src/ktool/ktool_script.py>
4. <https://github.com/0cyn/ktool/tree/faed829b838dc4060b7e36f90239a52cd37f2a45/tests/src>
5. <https://github.com/0cyn/ktool/blob/faed829b838dc4060b7e36f90239a52cd37f2a45/tests/build.ninja>
6. <https://github.com/0cyn/ktool/blob/faed829b838dc4060b7e36f90239a52cd37f2a45/.github/workflows/tests.yml>
7. <https://github.com/0cyn/ktool/blob/faed829b838dc4060b7e36f90239a52cd37f2a45/LICENSE>
8. <https://github.com/0cyn/ktool/blob/faed829b838dc4060b7e36f90239a52cd37f2a45/EXTERNAL_LICENSES/README.md>
9. <https://github.com/0cyn/ktool/releases/tag/2.0.0>
10. <https://pypi.org/project/k2l/2.0.0/>
11. <https://github.com/0cyn/ktool/actions/runs/22801141527>

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

- [Brida Burp Suite 与 Frida 桥接扩展](https://awesomerea.org/zh/resources/brida/index.md) · 工具
- [Qu1cksc0pe 恶意软件分析工具](https://awesomerea.org/zh/resources/qu1cksc0pe/index.md) · 工具
- [AppMon 基于 Frida 的应用 API 监控框架](https://awesomerea.org/zh/resources/appmon/index.md) · 工具
- [Yagi：IDA 中的 Ghidra 反编译器](https://awesomerea.org/zh/resources/yagi-ghidra-decompiler-for-ida/index.md) · 工具
- [frida-scripts（0xdea）Frida 移动应用与 Linux 追踪脚本集](https://awesomerea.org/zh/resources/raptor-frida-scripts/index.md) · 工具
- [System Informer 进程与系统检查工具](https://awesomerea.org/zh/resources/system-informer/index.md) · 工具

## 关于此条目

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