夜雨聆风学习资料网

ARTICLE · 1161368

有人把越狱版 iOS 装进了虚拟机:一个脚本,白得一台「虚拟 iPhone」

有人把越狱版 iOS 装进了虚拟机:一个脚本,白得一台「虚拟 iPhone」

在一台 Apple Silicon Mac 上,跑起一台完整的、开箱即越狱的 iOS 虚拟机——真 iOS 内核,不装模拟器,一个脚本搞定。它的底层,用的是苹果自己藏在云服务器固件里的那套东西。

这个项目的开头,其实有点荒诞。

它不是从零造出来的,而是"捡"出来的——捡的,是苹果自己的零件。

先说它到底是什么:不是模拟器,是"真 iOS 虚拟机"

很多人第一反应是 Xcode 那个 iPhone 模拟器。但这两个东西完全不是一回事。

Xcode 模拟器,本质是在 macOS 上"假装"跑 iOS 的界面和用户态组件。它跑不了 App Store、跑不了 iCloud、Metal 图形受限,很多系统级的东西碰不到。

而这个 vphone,走的是虚拟化(Virtualization)路线:

它是在 Apple 的 Virtualization.framework 上,真正启动了一套 iOS 内核。

说人话就是:这不是"装样子",是一台货真价实的虚拟 iPhone。

那这套固件是哪来的?答案在苹果的云上。

苹果搞 AI 要跑「私密云计算」(Private Cloud Compute, PCC)。为了在服务器上跑 iOS 逻辑,苹果的 cloudOS 固件里,藏了一个组件,代号 VPHONE600AP——说明书写得明明白白:"iPhone 研究环境虚拟机"。

安全研究员 wh1te4ever 发现,把这块组件"移植"到 iPhone 16 的固件上、再修一修,就能让 iOS 在虚拟机里跑起来。

后来 Lakr233 把它做成了工具,而 34306 又做成了今天这个"一键版"。

vphone-aio:一个脚本,全给你打包好

仓库地址:github.com/34306/vphone-aio

一句话概括作者的自述:"1 script run the vphone(iOS 26.1),已经越狱,bootstrap 也装好了。"

最省事的地方在于——它把整个虚拟机镜像(约 12GB)拆成 7 份,直接放在仓库里,你跑个脚本自动合并、解压、启动。

流程拆开看是这样:

步骤做什么
1. 装依赖brew install git-lfs wget zstd libimobiledevice
2. 调安全设置关掉 SIP,并设置 amfi_get_out_of_my_way=1
3. 拿镜像克隆仓库(约 12GB,作者说他用了 20 分钟)
4. 跑脚本执行 vphone-aio.sh,缺的分片会自动补下载
5. 等它合并合并完自动解压,约 15 分钟
6. 连上去VNC 打开 vnc://127.0.0.1:5901
7. 开玩——

它还给了 SHA-256 校验码,用来核对镜像有没有下坏。

注意第 2 步——这恰恰是它最大的代价,我们放到后面"硬门槛"那一段细说。

「开箱即越狱」到底意味着什么

普通 iPhone 想越狱,难。版本得对得上,漏洞得能利用,越晚了苹果就把口子补了。

而这个镜像,你什么都不用做——它本来就是越狱状态,bootstrap 环境已经装好了。

意味着你一开机,就能直接装系统级插件、访问文件系统、跑那些 App Store 上根本不给上架的东西。 对做安全和逆向的人来说,这等于跳过了最折腾的一步。

这也正是它能火起来的原因:越狱版 iOS,白给。

但作者自己说了句实在话:去用 vphone-cli

这一点必须单独拎出来讲——因为它最能说明一个项目的成熟度。

vphone-aio 的作者在 README 第一行就写了:

"它好像又被人在 X 上随机发了一遍、又火了一次。建议大家改用 vphone-cli,更新和支持都更好。顺便,vphone-cli 现在支持到 iOS 27 了。"

翻译一下:这个"一键版",作者自己都在劝你换到更正式的那个。

那就得说说 vphone-cli 了。

github.com/Lakr233/vphone-cli——已经有将近 15,000 Star,MIT 许可证,今天还在更新。

它比 aio 强在哪?

方面vphone-aiovphone-cli
iOS 版本停在 26.1支持到 iOS 27
维护状态8 月后再没动过几乎每天更新
许可证没有 LICENSE 文件MIT
安全设置关掉 SIPSIP 保持开启,只放开调试限制
上手方式一个脚本图形界面 Launchpad + 命令行
访问方式VNCSSH(root, 22222)/ VNC(5901)/ RPC(5910)

vphone-cli 还能创建不同"补丁级别"的固件——从完全不打补丁的 less,一路到直接越狱、自动装 Sileo/TrollStore 的 jb。你要多干净有多干净,要多能折腾有多能折腾。

它甚至支持备份、导出、克隆虚拟机。 一台调好,克隆十台。

更值得玩味的一点:它专门为 AI / 自动化留了口子

这可能是它和"玩具"的分界线。

vphone-cli 提供了三种"脱离人手"的驱动方式:

•

本地 HTTP + WebSocket 接口——脚本直接控制;

•

配套的 MCP 服务器——接给 AI Agent,让它自己截图、点按、滑动、按硬件键、读写剪贴板;

•

SSH root 登录——想怎么脚本化就怎么脚本化。

它甚至内置了一段"让 Agent 帮你装"的提示词:你把那段话丢给 Claude Code,它会自己读文档、检查环境、装好、然后在需要你输密码或进恢复模式的时候停下来问你。

换句话说:一台可以完全被程序驱动的 iOS 真机环境,跑在你自己的 Mac 上。

做自动化测试、批量验证、App 行为研究的人,应该能立刻明白这意味着什么。

硬门槛和风险,必须说在前面

这段是全文最重要的部分,真想上手,请逐条看清。

第一,只有 Apple Silicon Mac 能跑,Intel 彻底无缘。

而且——不能在 macOS 虚拟机里跑(不支持嵌套虚拟化)。这不是"下载个软件"的轻量工具,是一整套内核级环境。 磁盘上,每个虚拟机默认 64GB 虚拟盘,作者建议留 128GB 以上空闲空间。

第二,代价是系统安全被调松。

vphone-aio 要求关闭 SIP(系统完整性保护),并设置 amfi_get_out_of_my_way=1——这会显著降低整台 Mac 的安全级别。

强烈建议只在专门的、不存放重要数据的机器上做这件事。 相比之下,vphone-cli 的做法更克制:SIP 保持开启,只放开调试相关的限制(csrutil enable --without debug + csrutil allow-research-guests enable)。如果只是想试试,优先走 vphone-cli 这条路。

第三,aio 那个下载方式本身就不太靠得住。

镜像走 Git LFS,而 GitHub 免费额度是 1GB 存储 / 1GB 流量——镜像却有 12GB,所以 git clone 经常直接挂掉。 加上它没有 LICENSE 文件、校验自动化被作者移除过,真要用,建议转向 vphone-cli 的官方发布页。

第四,它处在法律和合规的灰区。

这套东西的本质,是把苹果为自家云服务准备的固件"挪作他用",并绕过固件签名校验。 苹果至今没公开表态。更现实的风险是:哪天 PCC 固件不再带 VPHONE600AP 这个组件,这条路可能一夜之间就断了。 它被明确地定位为安全研究工具,而不是日常生产力工具。

第五,关于"撸毛"这件事,我得说句实话。

虚拟化出来的 iOS,和真机在硬件指纹、传感器、网络特征上是有差异的。 拿它去批量注册、跑营销活动、多开账号薅羊毛——轻则被平台风控识别、封号清退,重则可能触碰平台条款甚至法律。

这类操作的后果,全在你身上。 工具本身不替你负责。把它用在正当的研究、开发和自动化测试上,才是它真正值钱的地方。

写在最后

这个项目最让人感慨的,其实不是"技术上多牛",而是它的来路。

苹果为了做私密云计算,在自己服务器固件里留了一道门;研究人员发现这道门能通向一台"虚拟 iPhone";于是今天,任何人都能在自己的 Mac 上,跑起一台开箱越狱的 iOS。

一个闭源公司精心修筑的基础设施,最后被开源社区用出了它从没想过的玩法。 这种事,过去十几年一次次上演。

它不会替代你的真机——门槛摆在那里,风险也摆在那里。但对搞安全、做逆向、玩自动化的人来说,这是过去很难拿到手的一件工具。

想试的话,从更成熟的 vphone-cli 入手:

•

vphone-cli(推荐):github.com/Lakr233/vphone-cli

•

vphone-aio(本文主角,一键版):github.com/34306/vphone-aio

•

原始研究记录(想看原理):github.com/wh1te4ever/super-tart-vphone-writeup

觉得有意思的话,点个赞 or 分享给身边搞 iOS 安全、做 App 测试的朋友。(另外,动手前请一定先把"硬门槛"那段读完。)

相关学习资料