一个用 Python 编写的开源命令行工具,可通过 Wi-Fi 与 Apple AirDrop 互传文件。
blacktop/ipsw
面向 Apple 固件研究的命令行工具箱,涵盖 IPSW/OTA 下载、Mach-O 与 dyld 缓存分析、kernelcache 和 iOS 设备操作。
- Star
- 3,870
- Fork
- 325
- 未关闭 Issue
- 23
- 最近提交
- 昨天
这是什么?
ipsw 是一个用 Go 编写的命令行工具箱,面向研究 Apple 固件和系统内部机制的人员。它可以下载并解包 iOS 和 macOS 的 IPSW、OTA 固件包,也能获取 macOS 安装器、Xcode 和 KDK。
拿到固件后,它可以检查 Mach-O 二进制、反汇编 ARM64 代码,并处理 dyld 共享缓存,包括提取 dylib、导出 Objective-C 头文件、读取 Swift 元数据。在内核方面,它支持提取 KEXT、列出系统调用和符号,并对比不同版本的 kernelcache。
命令行还能连接 iOS 设备,列出应用、通过 AFC 传输文件、抓取系统日志、挂载开发者镜像。其他功能包括解析 IMG4、解密 AEA 归档、符号化崩溃日志,以及可选的 LLM 辅助反编译。独立的 ipswd 守护进程提供 REST API 用于自动化。
核心功能
- 01直接在命令行下载 IPSW、OTA、macOS 安装器、Xcode 和 KDK。
- 02检查 Mach-O 的加载命令、符号、签名和权限,并反汇编 ARM64 代码。
- 03从 dyld 共享缓存中提取 dylib,导出 Objective-C 头文件。
- 04提取 KEXT 并对比不同固件版本的 kernelcache。
- 05管理已连接的 iOS 设备:列出应用、传输文件、抓取日志。
- 06通过 ipswd 守护进程提供 REST API,便于自动化。
适用场景
- 从新发布的 iOS 固件中提取 kernelcache 进行分析。
- 从 dyld 共享缓存中导出私有框架的 Objective-C 头文件。
- 对比两个固件版本,查看哪些组件发生了变化。
- 在调试或安全研究中对 iOS 崩溃日志进行符号化。
快速上手
- 1
在 macOS 上通过 Homebrew 安装(含扩展版本)
brew install blacktop/tap/ipsw - 2
在 Linux 上通过 snap 安装
sudo snap install ipsw - 3
下载 iPhone 15 Pro 的最新 IPSW 固件
ipsw download ipsw --device iPhone16,1 --latest
使用前须知
- 部分命令依赖宿主操作系统或构建版本,Frida 支持需要单独的构建版本。
- 从源码构建需要 Go 1.26 或更高版本以及用于 CGO 的 C 工具链。
收录于专题
标签
常见问题
- ipsw 是什么?
- 面向 Apple 固件研究的命令行工具箱,涵盖 IPSW/OTA 下载、Mach-O 与 dyld 缓存分析、kernelcache 和 iOS 设备操作。 ipsw 是一个用 Go 编写的命令行工具箱,面向研究 Apple 固件和系统内部机制的人员。它可以下载并解包 iOS 和 macOS 的 IPSW、OTA 固件包,也能获取 macOS 安装器、Xcode 和 KDK。
- ipsw 可以免费使用吗?用的什么许可证?
- ipsw 以 MIT 许可证开源。用于商业产品前,请先确认许可证条款。
- ipsw 还在维护吗?
- 活跃维护中。ipsw 最近一次提交是在 2026年11月6日。
- ipsw 适合用来做什么?
- 从新发布的 iOS 固件中提取 kernelcache 进行分析。 从 dyld 共享缓存中导出私有框架的 Objective-C 头文件。 对比两个固件版本,查看哪些组件发生了变化。 在调试或安全研究中对 iOS 崩溃日志进行符号化。
- ipsw 怎么安装和运行?
- 在 macOS 上通过 Homebrew 安装(含扩展版本): brew install blacktop/tap/ipsw 在 Linux 上通过 snap 安装: sudo snap install ipsw 下载 iPhone 15 Pro 的最新 IPSW 固件: ipsw download ipsw --device iPhone16,1 --latest
- 在哪里获取 ipsw?
- 源代码和安装说明在 GitHub 上:https://github.com/blacktop/ipsw
概要由 AI 根据项目 README 生成;GitHub 数据每日更新。
相关项目
9939+14 本周319PythonGPL-3.0更新于 3个月前
跨平台的 C++ 库,提供 Python 和 Rust 绑定,用于解析、修改和抽象 ELF、PE、Mach-O 等可执行文件格式。
5635+8 本周761C++Apache-2.0维护活跃更新于 前天
基于 QEMU 的 iOS、macOS 和 visionOS 系统模拟器与虚拟机应用,可运行 Windows、Linux 等系统。
3.7万+133 本周1905SwiftApache-2.0更新于 昨天
用 Rust 编写的固件分析工具,可识别并按需提取嵌入在其他文件中的文件和数据。
1.5万+26 本周1869RustMIT更新于 3个月前