
新发布Sep 12, 2026
ipsw v3.1.716
iOS/macOS 研究瑞士军刀
ipsw
iOS/macOS 研究瑞士军刀
ipsw 是什么 🤔
ipsw 是一个全面的 iOS 和 macOS 命令行研究框架。它为安全研究人员、逆向工程师、越狱开发者和 iOS 爱好者提供了丰富的工具集,用于下载、解析和分析 Apple 固件以及与 iOS 设备交互。
核心功能
- 📱 IPSW/OTA 分析 - 下载、提取和分析 iOS 固件文件
- 🔍 二进制分析 - 高级 Mach-O 解析,支持 ARM 反汇编和 AI 辅助
- 🧠 dyld_shared_cache - 完整的共享缓存分析,支持 ObjC/Swift 类导出
- 🔧 内核分析 - Kernelcache 解析、系统调用提取和符号化
- 📲 设备交互 - 全面的 iOS 设备管理和调试
- 🔐 固件研究 - IMG4、iBoot、SEP 和协处理器固件分析
- 🏪 App Store Connect - 完整的应用和证书管理 API 集成
- 🛠️ 开发者工具 - SSH、Frida、调试和逆向工程实用工具
快速开始
安装
macOS
使用 blacktop tap(包含附加功能)
brew install blacktop/tap/ipsw
使用官方 Homebrew 公式
brew install ipsw
Linux
sudo snap install ipsw
Windows
scoop bucket add blacktop https://github.com/blacktop/scoop-bucket.git
scoop install blacktop/ipsw
基本用法
# 下载最新的 iOS IPSW
ipsw download ipsw --device iPhone16,1 --latest
# 提取 kernelcache
ipsw extract --kernel iPhone16,1_18.2_22C150_Restore.ipsw
# 分析 dyld_shared_cache
ipsw dyld info /path/to/dyld_shared_cache_arm64
# 获取设备信息
ipsw idev list
主要功能
📱 IPSW 与 OTA 管理
- 下载源:Apple、AppleDB、开发者门户、RSS 订阅、GitHub、iTunes、Wikipedia
- 文件类型:IPSW、OTA、macOS 安装程序、Xcode、KDK、PCC 文件
- 操作:提取、对比、挂载、分析元数据
ipsw download ipsw --device iPhone16,1 --latest
ipsw extract --kernel iPhone16,1_18.2_22C150_Restore.ipsw
ipsw diff iPhone16,1_18.1_22B83_Restore.ipsw iPhone16,1_18.2_22C150_Restore.ipsw
🔍 二进制分析与逆向工程
- Mach-O 解析:完整的二进制分析,支持符号提取
- ARM 反汇编:ARM v9-a 反汇编器,支持 AI 驱动的分析
- 代码签名:验证签名、分析权限
- 二进制修补:添加、修改或移除补丁
ipsw macho info /path/to/binary
ipsw macho disass /path/to/binary --symbol _main
ipsw macho search /path/to/binary --string "password"
🧠 dyld_shared_cache 分析
- 缓存解析:提取和分析完整的共享缓存结构
- ObjC 分析:类导出、方法分析、协议解析
- Swift 支持:Swift 类导出和分析(实验性)
- 符号管理:符号提取和地址解析
ipsw dyld info /path/to/dyld_shared_cache
ipsw dyld extract /path/to/dyld_shared_cache --dylib Foundation
ipsw dyld objc class /path/to/dyld_shared_cache --class NSString
📲 iOS 设备交互(idev)
- 文件系统:通过 AFC 浏览和传输文件
- 应用管理:安装、卸载和分析应用程序
- 备份与恢复:完整的设备备份操作
- 开发:挂载开发者镜像、捕获日志、数据包捕获
- 诊断:电池信息、崩溃日志、系统诊断
ipsw idev list
ipsw idev afc ls /
ipsw idev apps ls
ipsw idev backup create
ipsw idev syslog
🔐 固件与安全分析
- IMG4:解析和解密 Image4 格式文件
- iBoot:引导加载程序分析和研究
- SEP:安全隔区处理器固件分析
- AEA:Apple 加密归档解密
- 协处理器:AOP、DCP、GPU、相机固件分析
ipsw img4 dec iBoot.img4
ipsw fw sep iPhone16,1_18.2_22C150_Restore.ipsw
ipsw fw iboot iPhone16,1_18.2_22C150_Restore.ipsw
🏪 App Store Connect 集成
- 证书管理:iOS/macOS 证书和描述文件
- 设备注册:管理开发设备
- 应用管理:Bundle ID、功能和审核
- 配置:完整的配置描述文件生命周期
ipsw appstore cert ls
ipsw appstore device reg --name "My Device" --udid 1234567890
ipsw appstore profile create --name "Development Profile"
🛠️ 高级研究工具
- 符号化:崩溃日志分析和符号解析
- 类导出:ObjC 和 Swift 类提取
- SSH 访问:越狱设备的 SSH 和 debugserver
- Frida 集成:动态插桩能力
- AI 驱动的反编译器:集成 Claude、OpenAI、Gemini、Ollama 和 OpenRouter
ipsw symbolicate crash.ips --dsym /path/to/symbols
ipsw class-dump /path/to/binary
ipsw ssh debugserver
架构
ipsw 由两个主要组件组成:
ipsw- 主 CLI 工具,具备完整的分析能力ipswd- 用于远程操作和自动化的 REST API 守护进程
配置
ipsw 支持 YAML 配置文件和环境变量:
# 创建配置目录
mkdir -p ~/.config/ipsw
# 复制示例配置
cp config.example.yml ~/.config/ipsw/config.yaml
数据库支持
- SQLite(默认)- 本地存储
- PostgreSQL - 生产环境部署
AI 反编译器
❱ ipsw macho disass /System/Library/PrivateFrameworks/ApplePushService.framework/apsd --entry \
--dec --dec-model "Claude 3.7 Sonnet"
• 正在加载符号缓存文件...
• 正在反编译... 🕒
int main(int argc, char *argv[]) {
@autoreleasepool {
__set_user_dir_suffix(@"com.apple.apsd");
@autoreleasepool {
APSDaemon *daemon = [[APSDaemon alloc] init];
if (daemon) {
NSRunLoop *runLoop = [NSRunLoop currentRunLoop];
[runLoop run];
[runLoop release];
}
[daemon release];
}
return 0;
}
@catch (NSException *exception) {
if ([exception reason] == 1) {
id exceptionObj = [exception retain];
id logger = [APSLog daemon];
if (_os_log_type_enabled(logger, 0x11)) {
[exceptionObj logWithLogger:logger];
}
[logger release];
[exceptionObj release];
}
}
}
使用场景
安全研究
- 漏洞分析和漏洞利用开发
- 固件安全评估
- 二进制逆向工程
越狱开发
- 引导链分析和漏洞利用
- 内核扩展研究
- 系统修改和修补
iOS 开发
- 应用调试和分析
- 证书和配置描述文件管理
- 设备测试和自动化
数字取证
- 设备数据提取和分析
- 时间线重建
- 痕迹分析
系统要求
- Go:1.26+(用于从源码构建)
- 平台:macOS、Linux、Windows
- USB:用于设备交互的 libusb
- 可选:用于增强分析的 AI API 密钥
文档
- 网站:https://blacktop.github.io/ipsw
- API 文档:运行
ipswd时可在/docs查看 REST API 文档 - 示例:文档中包含全面的使用示例
SKILL.md
为您的 AI 代理赋予 ipsw 超能力
npx skills add https://github.com/blacktop/ipsw-skill --skill ipsw
🆕 AI 驱动的 Wiki
使用 AI 询问有关仓库的问题:
[!WARNING] AI 回复可能包含幻觉 - 请验证重要信息。
社区资源
📊 IPSW 差异
预计算的固件差异:ipsw-diffs
💬 社区
贡献
我们欢迎贡献!请参阅 CONTRIBUTING.md 了解指南。
开发
git clone https://github.com/blacktop/ipsw.git
cd ipsw
make build
已知问题
- macOS IPSW 支持:某些 macOS 固件操作可能存在兼容性问题
- 测试:由于固件版本和设备类型的多样性,全面测试具有挑战性
- 资源密集型:某些操作需要大量内存和处理能力
如果遇到问题,请创建 issue - 修复会优先处理!未来版本计划提供全面的测试套件。
致谢
衷心感谢:
- Jonathan Levin 提供的传奇工具和全面的 iOS 内部文档
- iOS 研究社区 持续创新和知识分享
- 所有帮助改进此项目的贡献者
许可证
MIT 许可证 - 详情请参阅 LICENSE。