iOS/macOS 研究瑞士军刀
ipsw 是什么 🤔ipsw 是一个面向 iOS 和 macOS 的全面命令行研究框架。它为安全研究人员、逆向工程师、越狱开发者以及 iOS 爱好者提供了丰富的工具集,用于下载、解析和分析 Apple 固件,并与 iOS 设备进行交互。
使用 blacktop tap(包含额外功能)
brew install blacktop/tap/ipsw
使用官方 Homebrew formula
brew install ipsw
sudo snap install ipsw
scoop bucket add blacktop https://github.com/blacktop/scoop-bucket.git
scoop install blacktop/ipsw
# Download latest iOS IPSW
ipsw download ipsw --device iPhone16,1 --latest
# Extract kernelcache
ipsw extract --kernel iPhone16,1_18.2_22C150_Restore.ipsw
# Analyze dyld_shared_cache
ipsw dyld info /path/to/dyld_shared_cache_arm64
# Get device information
ipsw idev list
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
ipsw macho info /path/to/binary
ipsw macho disass /path/to/binary --symbol _main
ipsw macho search /path/to/binary --string "password"
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
idev)ipsw idev list
ipsw idev afc ls /
ipsw idev apps ls
ipsw idev backup create
ipsw idev syslog
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
ipsw appstore cert ls
ipsw appstore device reg --name "My Device" --udid 1234567890
ipsw appstore profile create --name "Development Profile"
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 配置文件和环境变量:
# Create config directory
mkdir -p ~/.config/ipsw
# Copy example config
cp config.example.yml ~/.config/ipsw/config.yaml
❱ ipsw macho disass /System/Library/PrivateFrameworks/ApplePushService.framework/apsd --entry \
--dec --dec-model "Claude 3.7 Sonnet"
• Loading symbol cache file...
• Decompiling... 🕒
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];
}
}
}
ipswd 时,可通过 /docs 获取 REST API 文档让您的 AI 代理拥有 ipsw 的超级能力
npx skills add https://github.com/blacktop/ipsw-skill --skill ipsw
使用 AI 询问有关该仓库的问题:
[!WARNING] AI 回复可能包含幻觉 - 请核实重要信息。
预先计算的固件差异:ipsw-diffs
我们欢迎贡献!请参阅 CONTRIBUTING.md 了解指南。
git clone https://github.com/blacktop/ipsw.git
cd ipsw
make build
如果遇到问题,请创建 issue - 修复会被优先处理!计划在未来的版本中提供全面的测试套件。
衷心感谢:
MIT 许可证 - 详见 LICENSE。