vphone-cli:在你的 Mac 上启动一台虚拟 iPhone

# vphone-cli:在你的 Mac 上启动一台虚拟 iPhone ## 场景开篇 苹果 2024 年发布...

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@),可以 VNC 连接看屏幕(vnc://:5901),可以 APFS 克隆做出十台配置不同的虚拟 iPhone(vphone-cli vm clone myphone myphone-2)。

整个流程是自动化的:下载 IPSW → 补丁固件 → DFU 恢复 → 安装自定义固件 → 首次启动。一条命令,端到端。

五个固件变体:从”几乎没动”到”完全越狱”

vphone-cli 最有意思的设计是五个固件变体(firmware variant),安全绕过程度递增:

变体补丁数CFW 阶段做了什么
less42几乎不动,保留 iOS 所有安全机制
regular4210绕过 AMFI/SSV/Img4/TXM
dev5312+ TXM 调试权限绕过
jb11314+ 完整越狱(Sileo、TrollStore 首次启动自动安装)
exp14118JB 超集 + 反虚拟机检测研究补丁

这五个变体不是简单的”开关”,而是一套精心设计的补丁链。从 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 实验室。

发表回复

人生梦想 - 关注前沿的计算机技术 acejoy.com 🐾 步子哥の博客 🐾 背多分论坛 🐾 借一步网 🐾 智柴网 沪ICP备2024052574号-1