重要前提
安装AI Skills的关键前提是:必须科学上网,且开启TUN模式,这一点至关重要,直接决定安装能否顺利完成,在此郑重提醒三遍:科学上网,科学上网,科学上网。查看完整安装教程 →
npx skills add https://github.com/blacktop/ipsw-skill --skill ipsw安装: brew install blacktop/tap/ipsw
| 目标 | 从这里开始 |
|---|---|
| 下载/提取固件 | 固件获取 |
| 逆向工程用户空间 | 用户空间逆向工程 |
| 分析内核/KEXT | 内核分析 |
| 研究权利 | 权利 |
| 转储私有 API 头文件 | 类转储 |
| 分析独立二进制文件 | Mach-O 分析 |
# 下载设备的最新 IPSW
ipsw download ipsw --device iPhone16,1 --latest
# 下载并自动提取内核/DSC
ipsw download ipsw --device iPhone16,1 --latest --kernel --dyld
# 从本地 IPSW 提取组件
ipsw extract --kernel iPhone16,1_18.0_Restore.ipsw
ipsw extract --dyld --dyld-arch arm64e iPhone16,1_18.0_Restore.ipsw
# 远程提取(无需完整下载)
ipsw extract --kernel --remote <IPSW_URL>
广告位招租
在这里展示您的产品或服务
触达数万 AI 开发者,精准高效
有关设备标识符和高级选项,请参阅 references/download.md。
macOS DSC: /System/Volumes/Preboot/Cryptexes/OS/System/Library/dyld/dyld_shared_cache_arm64e
| 命令 | 用途 |
|---|---|
dyld a2s <DSC> <ADDR> | 地址 → 符号(用于分析崩溃 LR/PC) |
dyld symaddr <DSC> <SYM> --image <DYLIB> | 符号 → 地址 |
dyld disass <DSC> --vaddr <ADDR> | 在地址处反汇编 |
dyld disass <DSC> --symbol <SYM> --image <DYLIB> | 按符号反汇编 |
dyld xref <DSC> <ADDR> --all | 查找对地址的所有引用 |
dyld dump <DSC> <ADDR> --size 256 | 转储地址处的原始字节 |
dyld str <DSC> "pattern" --image <DYLIB> | 搜索字符串 |
dyld objc --class <DSC> --image <DYLIB> | 列出 ObjC 类 |
dyld extract <DSC> <DYLIB> -o ./out/ | 提取 dylib 以供外部工具使用 |
# 1. 从崩溃/跟踪中解析地址
ipsw dyld a2s $DSC 0x1bc39e1e0
# → -[SomeClass someMethod:] + 0x40
# 2. 在该地址附近反汇编
ipsw dyld disass $DSC --vaddr 0x1bc39e1e0
# 3. 查找谁调用了此函数
ipsw dyld xref $DSC 0x1bc39e1a0 --all
# 4. 提取反汇编中引用的字符串/数据
ipsw dyld dump $DSC 0x1bc39e200 --size 64
提示: 始终使用 --image <DYLIB> - 速度可提升 10 倍以上。
完整的 DSC 命令请参阅 references/dyld.md。
# 列出所有 KEXT
ipsw kernel kexts kernelcache.release.iPhone16,1
# 提取特定 KEXT
ipsw kernel extract kernelcache sandbox --output ./kexts/
# 转储系统调用
ipsw kernel syscall kernelcache
# 比较不同版本间的 KEXT
ipsw kernel kexts --diff kernelcache_17.0 kernelcache_18.0
KEXT 提取和内核分析请参阅 references/kernel.md。
# 单个二进制文件的权利
ipsw macho info --ent /path/to/binary
# 从 IPSW 构建可搜索数据库
ipsw ent --sqlite ent.db --ipsw iOS18.ipsw
# 查询数据库
ipsw ent --sqlite ent.db --key "com.apple.private.security.no-sandbox"
ipsw ent --sqlite ent.db --key "platform-application"
ipsw ent --sqlite ent.db --key "com.apple.private.tcc.manager"
常见权利和查询模式请参阅 references/entitlements.md。
从二进制文件或 dyld_shared_cache 转储 Objective-C 头文件:
# 从 DSC 中的框架转储所有头文件
ipsw class-dump $DSC SpringBoardServices --headers -o ./headers/
# 转储特定类
ipsw class-dump $DSC Security --class SecKey
# 按模式过滤
ipsw class-dump $DSC UIKit --class 'UIApplication.*' --headers -o ./headers/
# 包含运行时地址(用于挂钩)
ipsw class-dump $DSC Security --re
过滤和输出选项请参阅 references/class-dump.md。
# 完整的二进制文件信息
ipsw macho info /path/to/binary
# 反汇编函数
ipsw macho disass /path/to/binary --symbol _main
# 获取权利和签名
ipsw macho info --ent /path/to/binary
ipsw macho info --sig /path/to/binary
完整的 Mach-O 命令请参阅 references/macho.md。
a2s/symaddr 会创建 .a2s 缓存 - 后续查找是即时的--json 以便脚本处理ipsw device-list 查找设备标识符每周安装数
38
代码仓库
GitHub 星标数
43
首次出现
2026 年 1 月 27 日
安全审计
安装于
opencode35
codex25
gemini-cli23
github-copilot19
amp18
kimi-cli18
Install: brew install blacktop/tap/ipsw
| Goal | Start Here |
|---|---|
| Download/extract firmware | Firmware Acquisition |
| Reverse engineer userspace | Userspace RE |
| Analyze kernel/KEXTs | Kernel Analysis |
| Research entitlements | Entitlements |
| Dump private API headers | Class Dump |
| Analyze standalone binary | Mach-O Analysis |
# Download latest IPSW for device
ipsw download ipsw --device iPhone16,1 --latest
# Download with automatic kernel/DSC extraction
ipsw download ipsw --device iPhone16,1 --latest --kernel --dyld
# Extract components from local IPSW
ipsw extract --kernel iPhone16,1_18.0_Restore.ipsw
ipsw extract --dyld --dyld-arch arm64e iPhone16,1_18.0_Restore.ipsw
# Remote extraction (no full download)
ipsw extract --kernel --remote <IPSW_URL>
See references/download.md for device identifiers and advanced options.
macOS DSC: /System/Volumes/Preboot/Cryptexes/OS/System/Library/dyld/dyld_shared_cache_arm64e
| Command | Purpose |
|---|---|
dyld a2s <DSC> <ADDR> | Address → symbol (triage crash LR/PC) |
dyld symaddr <DSC> <SYM> --image <DYLIB> | Symbol → address |
dyld disass <DSC> --vaddr <ADDR> | Disassemble at address |
dyld disass <DSC> --symbol <SYM> --image <DYLIB> | Disassemble by symbol |
dyld xref <DSC> <ADDR> --all | Find all references to address |
dyld dump <DSC> <ADDR> --size 256 |
# 1. Resolve address from crash/trace
ipsw dyld a2s $DSC 0x1bc39e1e0
# → -[SomeClass someMethod:] + 0x40
# 2. Disassemble around that address
ipsw dyld disass $DSC --vaddr 0x1bc39e1e0
# 3. Find who calls this function
ipsw dyld xref $DSC 0x1bc39e1a0 --all
# 4. Extract string/data referenced in disassembly
ipsw dyld dump $DSC 0x1bc39e200 --size 64
Tip: Always use --image <DYLIB> - it's 10x+ faster.
See references/dyld.md for complete DSC commands.
# List all KEXTs
ipsw kernel kexts kernelcache.release.iPhone16,1
# Extract specific KEXT
ipsw kernel extract kernelcache sandbox --output ./kexts/
# Dump syscalls
ipsw kernel syscall kernelcache
# Diff KEXTs between versions
ipsw kernel kexts --diff kernelcache_17.0 kernelcache_18.0
See references/kernel.md for KEXT extraction and kernel analysis.
# Single binary entitlements
ipsw macho info --ent /path/to/binary
# Build searchable database from IPSW
ipsw ent --sqlite ent.db --ipsw iOS18.ipsw
# Query database
ipsw ent --sqlite ent.db --key "com.apple.private.security.no-sandbox"
ipsw ent --sqlite ent.db --key "platform-application"
ipsw ent --sqlite ent.db --key "com.apple.private.tcc.manager"
See references/entitlements.md for common entitlements and query patterns.
Dump Objective-C headers from binaries or dyld_shared_cache:
# Dump all headers from framework in DSC
ipsw class-dump $DSC SpringBoardServices --headers -o ./headers/
# Dump specific class
ipsw class-dump $DSC Security --class SecKey
# Filter by pattern
ipsw class-dump $DSC UIKit --class 'UIApplication.*' --headers -o ./headers/
# Include runtime addresses (for hooking)
ipsw class-dump $DSC Security --re
See references/class-dump.md for filtering and output options.
# Full binary info
ipsw macho info /path/to/binary
# Disassemble function
ipsw macho disass /path/to/binary --symbol _main
# Get entitlements and signature
ipsw macho info --ent /path/to/binary
ipsw macho info --sig /path/to/binary
See references/macho.md for complete Mach-O commands.
a2s/symaddr creates .a2s cache - subsequent lookups are instant--json for scriptingipsw device-list to find device identifiersWeekly Installs
38
Repository
GitHub Stars
43
First Seen
Jan 27, 2026
Security Audits
Gen Agent Trust HubPassSocketPassSnykWarn
Installed on
opencode35
codex25
gemini-cli23
github-copilot19
amp18
kimi-cli18
| Dump raw bytes at address |
dyld str <DSC> "pattern" --image <DYLIB> | Search strings |
dyld objc --class <DSC> --image <DYLIB> | List ObjC classes |
dyld extract <DSC> <DYLIB> -o ./out/ | Extract dylib for external tools |