vphone-cli:在你的 Mac 上启动一台虚拟 iPhone
场景开篇
苹果 2024 年发布 Private Cloud Compute(PCC)时,做了一个前所未有的承诺:你的 AI 数据在云端被处理时,连苹果自己都看不到。为了兑现这个承诺,他们构建了一套极其精密的虚拟化基础设施——iOS 在隔离的虚拟机里运行,硬件级加密,请求不可追溯。
然后有人把这套基础设施拆出来,让你在 Mac 上开一台虚拟 iPhone。
不是模拟器。不是越狱工具。是一台真正运行 iOS 的虚拟机,用苹果自己为 PCC 设计的 Virtualization.framework 搭的。
这就是 Lakr233/vphone-cli。
它做了什么
一行命令:
vphone-cli vm create myphone -V jb
vphone-cli vm launch myphone
你的 Mac 上就启动了一台虚拟 iPhone。可以 SSH 进去(ssh -p 22222 mobile@<vm-ip>),可以 VNC 连接看屏幕(vnc://<vm-ip>:5901),可以 APFS 克隆做出十台配置不同的虚拟 iPhone(vphone-cli vm clone myphone myphone-2)。
整个流程是自动化的:下载 IPSW → 补丁固件 → DFU 恢复 → 安装自定义固件 → 首次启动。一条命令,端到端。
五个固件变体:从"几乎没动"到"完全越狱"
vphone-cli 最有意思的设计是五个固件变体(firmware variant),安全绕过程度递增:
| 变体 | 补丁数 | CFW 阶段 | 做了什么 |
|---|---|---|---|
less |
4 | 2 | 几乎不动,保留 iOS 所有安全机制 |
regular |
42 | 10 | 绕过 AMFI/SSV/Img4/TXM |
dev |
53 | 12 | + TXM 调试权限绕过 |
jb |
113 | 14 | + 完整越狱(Sileo、TrollStore 首次启动自动安装) |
exp |
141 | 18 | JB 超集 + 反虚拟机检测研究补丁 |
这五个变体不是简单的"开关",而是一套精心设计的补丁链。从 4 个补丁到 141 个补丁,每一步都在拆解 iOS 的安全防线。
less 变体只打 4 个补丁——这是最小改动,iOS 的所有安全机制(AMFI、SSV、Img4、TXM)都还在工作。你得到的是一台"几乎原装"的虚拟 iPhone。
jb 变体打 113 个补丁——这是完整越狱,Sileo(越狱版的 Cydia)和 TrollStore(永久签名工具)在首次启动时自动安装。
exp 变体打 141 个补丁——这是 JB 的超集,加上了反虚拟机检测的研究补丁。为什么需要反虚拟机检测?因为很多 App 会检测自己是否运行在虚拟机里,如果你想做 App 测试或安全研究,就得让虚拟机"看起来像真机"。
类比:苹果建了一座金库,vphone-cli 是开锁匠
苹果为 PCC 构建虚拟化基础设施时,本质上是在建一座金库。这座金库的目标是:即使苹果自己被传唤要求交出数据,他们也交不出来——因为密钥在用户设备端,金库里的数据在处理完就销毁。
但金库的建造技术本身是中性的。苹果用 Virtualization.framework 建了一座安全的金库来保护用户隐私,Lakr233 用同一套技术建了一座可以随意把玩的虚拟 iPhone 实验室。
这就像有人用银行金库的建造技术搭了一个家庭保险箱——技术相同,用途完全不同。
技术细节:为什么这能工作
vphone-cli 的核心是苹果的 Virtualization.framework,这是 macOS 15+ 提供的虚拟化 API。苹果设计这个框架的初衷是为 PCC 提供隔离环境——每个 AI 请求在独立的虚拟机里处理,处理完虚拟机销毁。
但 Virtualization.framework 的能力远不止此。它可以:
- 启动 iOS 虚拟机:不是模拟器,是真正的 iOS 在虚拟化环境中运行
- APFS 克隆:
vphone-cli vm clone利用 APFS 的写时复制特性,几秒钟就能克隆出一台配置不同的虚拟 iPhone - 固件补丁:通过补丁 iOS 固件的启动链,实现不同级别的安全绕过
- DFU 恢复:模拟设备的 DFU 模式,通过 SHSH blob 实现固件恢复
整个工具链是 Swift 写的,需要 Apple Silicon + macOS 15+ + Xcode + iOS SDK。这不是一个跨平台工具——它深度依赖苹果生态。
为什么这很重要
1. iOS 安全研究的民主化
以前研究 iOS 安全需要:买 iPhone → 越狱 → 在真机上调试 → 搞坏了恢复。成本高、风险大。
现在:在 Mac 上开一台虚拟 iPhone → 搞坏了删掉重来 → 需要十台不同配置的?APFS 克隆几秒钟一台。
2. App 测试的范式转变
iOS 开发者测试 App 一直依赖 Xcode 的 Simulator,但 Simulator 运行的是 macOS 上的 iOS 二进制,不是真正的 iOS。很多行为(特别是涉及硬件、网络、安全框架的)在 Simulator 上无法复现。
vphone-cli 提供的是真正的 iOS 环境,运行真正的 iOS 二进制。对于 App 开发者来说,这意味着可以在 CI/CD 流水线里跑真正的 iOS 测试,不需要真机农场。
3. PCC 基础设施的意外开源
苹果为 PCC 构建了一套精密的虚拟化基础设施,但这套基础设施是闭源的。vphone-cli 逆向了 PCC 的 VM 启动流程,让开发者可以研究苹果是怎么做 iOS 虚拟化的。
这对安全社区有双重价值:一方面可以帮助审计 PCC 的安全性(如果 vphone-cli 能启动虚拟 iOS,说明 PCC 的隔离边界需要足够强),另一方面也暴露了 iOS 启动链的细节(141 个补丁的 exp 变体几乎是一份 iOS 安全机制地图)。
技术亮点
APFS 克隆:虚拟 iPhone 的"快照"
vphone-cli vm clone myphone myphone-2
这条命令利用 APFS 的写时复制特性,几乎瞬间就能克隆出一台新的虚拟 iPhone。两台 VM 共享底层数据,只在修改时才复制。这意味着你可以:
- 克隆一台"干净状态"的 VM 做实验,搞坏了删掉,从原始克隆重新开始
- 同时跑十台不同配置的 VM 做并行测试
- 导出 VM 做备份(
vphone-cli vm export myphone --out myphone.tzst)
固件补丁链
vphone-cli 的固件补丁不是简单的二进制修改,而是一套分阶段的补丁链。从 less 的 4 个补丁到 exp 的 141 个补丁,每个变体都是一套精心设计的补丁序列。
这些补丁的目标是 iOS 启动链的不同环节:AMFI(Apple Mobile File Integrity)、SSV(Signed System Volume)、Img4(固件镜像格式)、TXM(Trust Execution Module)。每个环节都是 iOS 安全体系的一层,补丁链就是逐层拆解。
research/0_binary_patch_comparison.md 文件里有每个组件的补丁细节,这几乎是一份 iOS 安全机制的反工程文档。
限制和门槛
这不是一个"下载就能用"的工具:
- 需要 Apple Silicon Mac:Intel Mac 不行,必须 M1+
- 需要 macOS 15+:Sequoia 及以上
- 需要 Xcode + iOS SDK:用于交叉编译 guest daemon
- 需要 SIP/AMFI 放宽:要加载私有 PV=3 entitlements,需要放宽系统完整性保护
- 需要一堆依赖:
brew install python@3.13 aria2 wget gnu-tar openssl@3 ldid-procursus sshpass keystone cmake libusb ipsw zstd
门槛不低,但对于目标用户(iOS 安全研究者、App 开发者、越狱社区)来说,这些都是标配。
谁会用到
- iOS 安全研究者:在虚拟机上复现漏洞、测试 exploit,不需要真机
- App 开发者:CI/CD 流水线里跑真正的 iOS 测试
- 越狱社区:
jb变体提供完整的越狱环境,可以研究越狱工具的副作用 - 逆向工程师:
exp变体的反虚拟机检测补丁,可以研究 App 的反调试机制 - 教育用途:学生可以在虚拟 iPhone 上学习 iOS 内部机制,不需要买真机
数据
- 语言:Swift
- Stars:341 today(2026-08-30 首次上榜)
- 安装:
brew install zqxwce/tap/vphone-cli - 仓库:https://github.com/Lakr233/vphone-cli
结语
vphone-cli 做了一件很"黑客"的事:把苹果为保护隐私构建的基础设施,变成了研究和实验的工具。这不是破坏——这是对技术的深度理解和重新组合。
苹果建金库的初衷是保护用户隐私,但金库的建造技术本身可以被用来做很多事。vphone-cli 的存在提醒我们:强大的安全基础设施,一旦被理解,就可以被重新用于完全不同的目的。
从 4 个补丁到 141 个补丁,这五个变体几乎是一份 iOS 安全机制的地图。每一层补丁都在告诉我们:iOS 的安全体系是怎么设计的,哪里是软肋,哪里是硬骨头。
这不是一个工具,这是一份宣言:虚拟化技术不应该只属于大公司。苹果能用它建 PCC,我们就能用它建自己的 iOS 实验室。
讨论回复
加载中...正在加载回复...
推荐
智谱 GLM-5 已上线
我正在智谱大模型开放平台 BigModel.cn 上打造 AI 应用,智谱新一代旗舰模型 GLM-5 已上线,在推理、代码、智能体综合能力达到开源模型 SOTA 水平。