返回更新列表
新发布Sep 12, 2026

ipsw v3.1.716

iOS/macOS 研究瑞士军刀

分享

IPSW Logo

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 反编译器

https://blacktop.github.io/ipsw/docs/guides/decompiler

❱ 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 密钥

文档

SKILL.md

为您的 AI 代理赋予 ipsw 超能力

npx skills add https://github.com/blacktop/ipsw-skill --skill ipsw

🆕 AI 驱动的 Wiki

使用 AI 询问有关仓库的问题:

[!WARNING] AI 回复可能包含幻觉 - 请验证重要信息。

社区资源

📊 IPSW 差异

预计算的固件差异:ipsw-diffs

💬 社区

GitHub Discussions

贡献

我们欢迎贡献!请参阅 CONTRIBUTING.md 了解指南。

开发

git clone https://github.com/blacktop/ipsw.git
cd ipsw
make build

已知问题

  • macOS IPSW 支持:某些 macOS 固件操作可能存在兼容性问题
  • 测试:由于固件版本和设备类型的多样性,全面测试具有挑战性
  • 资源密集型:某些操作需要大量内存和处理能力

如果遇到问题,请创建 issue - 修复会优先处理!未来版本计划提供全面的测试套件。

致谢

衷心感谢:

  • Jonathan Levin 提供的传奇工具和全面的 iOS 内部文档
  • iOS 研究社区 持续创新和知识分享
  • 所有帮助改进此项目的贡献者

许可证

MIT 许可证 - 详情请参阅 LICENSE

分类