侧边栏壁纸
博主头像
HHShare 博主等级

行动起来,活在当下

  • 累计撰写 166 篇文章
  • 累计创建 36 个标签
  • 累计收到 1 条评论

目 录CONTENT

文章目录

在 Mac 上跑一台完整 iPhone:苹果当年追着告,如今自己把钥匙递了过来

晖晖分享
2026-08-30 / 0 评论 / 0 点赞 / 1 阅读 / 0 字 / 正在检测是否收录...
温馨提示:
部分素材来自网络,若不小心影响到您的利益,请联系我删除。

一台完整的 iPhone,在自家 Mac 里跑了起来。不是模拟器那种仿真,是一整个 iOS 镜像被 Apple 的 Virtualization.framework 抬起来,内核、守护进程、硬件行为都是真的。

POC 演示

一条命令:从下载到第一次开机

项目叫 vphone-cli,Lakr233 做的,刚在 GitHub 挂了 9000 多颗星,HN 上 379 分、102 条评论吵成一团。Swift 写的,MIT 协议,免费。

GitHub 仓库,9000+ 星

安装只要半分钟:brew install zqxwce/tap/vphone-cli

真正吓人的,是它把整条流水线压成了一句话:

vphone-cli vm create myphone -V jb
vphone-cli vm launch myphone

create 这一条命令,背后是下载、打补丁、DFU 恢复、装 CFW、首次启动。

一步扛完。跑起来之后能 SSH 登进去(jb 变体是 ssh -p 22222 mobile@,密码 alpine),也能用 VNC 接 vnc://:5901 看屏幕。

最让研究者兴奋的,是五种固件补丁变体,从「完全不动」的 less,到「完整越狱」的 jb。jb 变体首次启动就自动装好 Sileo 和 TrollStore,想塞任意 IPA 都行。

五种固件补丁变体,安全绕过程度递增

它还有一个容易忽略的细节,但对做测试的人很值钱:暴露了宿主控制套接字,能程序化截图、触控、滑动、按硬件键,每个动作回一张截图。已经有人把它包成了 MCP 服务器。

这意味着什么?一个 AI agent,现在能像真用手一样,去操作一台完整的 iPhone。

跟模拟器差在哪:它根本不是缩水版

到这里,很多人的第一反应是:这跟 Xcode 里那个 iOS 模拟器有啥区别?

这问得对,区别恰恰是这篇文章存在的理由。

iOS 模拟器,说白了是把 iOS 的一部分用户态组件,重新编译成能在 macOS 上跑的玩意儿,共享宿主机内核,很多系统路径是垫片不是真身。它快,是因为根本没在跑一个完整的系统。

vphone 不一样。把一整份 iPhone 镜像原样交给 Virtualization.framework,跑的是完整客户机系统,内核、守护进程、启动链都是真的。

模拟器 vs 虚拟化,差在哪

那为什么这会有用?因为模拟器在仿真,一旦 bug 不在仿真层,它就抓瞎。正是这个点,让 HN 评论区吵得最凶。

一边是被模拟器坑过的开发者,拿着真实 bug 站队。有人做 VPN 网络扩展,在模拟器里根本起不来。

有人做通知扩展,遇到 HEIF 图片,模拟器好好的、真机就崩。还有人栽在语言环境,模拟器里选 es_US 没事,真机一验就翻车。

而看到这东西的价值,也有人在评论区第一时间就想到另一头——能原样跑 iOS 的虚拟机,除了拿来测试,还能当点击农场、群发 iCloud 垃圾短信的马甲。有多方便,就有多招人惦记。

玻璃门:苹果当年追着告,如今自己开了门

最讽刺的在这。

2019 年,苹果起诉了 Corellium,一家专门做「在浏览器里跑 iOS 固件」虚拟化的公司,告的是版权侵权。那会儿苹果对「虚拟化 iPhone」的态度,是把它当成要堵的洞。

而现在,让 vphone 跑起来的底层环节,全是苹果自己出、自己维护、还给第三方开发者用的。

Virtualization.framework、PCC(Private Cloud Compute)研究虚拟机基础设施,一个都不例外。

PCC 本来是苹果给自己做隐私计算准备的,把敏感的 AI 请求放进封闭硬件里处理,连苹果自己都声称看不到。

谁能想到,这套研究基础设施,顺手就把虚拟 iPhone 的路铺平了。

HN 上有人一句点破:苹果当年费劲封杀 Corellium,现在自己把能实现同样东西的零件发给了所有人。

另一派当场反对:这话说得太天真。封杀是商业保护,开放是技术平台,两件事不冲突。

但不管哪一派,都绕不开同一扇玻璃门。能推开,先得付代价:

  • 必须放宽 SIP/AMFI。要么关 SIP 加 boot-arg,要么用 amfidont 给二进制白名单。这是实打实的安全降级。
  • 跑不了在「本身就是虚拟机的 Mac」上,PV=3 客户机不支持嵌套。
  • iOS 设置时,别选日本或欧盟当地区。那两地有额外监管检查,虚拟机满足不了,得选美国之类。
  • Apple 服务暂不支持。App Store、iCloud 登录这类,当前版本接不上;能跑任意 IPA,靠的是 jb 变体里的 Sileo/TrollStore,不是官方渠道。

所以评论区当场分成两派。一派嫌它不实用,有人说可惜了,公司机挂 MDM,这种机器这辈子跑不了这个。

另一派回得干脆:那就让公司给买台不挂 MDM 的研究用 Mac,再不行,你是在给错的公司打工。最后这句是原话,火药味一点没添。

那场争论里,被顶得最高的是一条英文评论。

The difference doesn't matter until it does, and then it's infuriating to work out what's going on.

意思就一句,平时无所谓,真的踩到那一刻,才明白它在说什么。

想试?先把门槛看清

最后,要是动了心,这是今天的地址和步骤。

brew install zqxwce/tap/vphone-cli

前提是得有 Apple Silicon 的 Mac,macOS 15 或更高,装好 Xcode 和 iOS SDK,并且愿意为它放宽一次 SIP/AMFI。

项目文档把每一步、每一种变体都写得很细。连卡在 Press home to continue 怎么办、EXC_GUARD 崩溃怎么重打补丁,都有对应方案。

但说句实在的,这不是普通 Mac 用户的日常工具。它是给 iOS 测试、逆向、自动化,以及想让 AI agent 远程操一台真 iPhone 的玩家准备的。

想白嫖一台免费 iPhone 上 App Store 的,现在可以划走了,当前版本连不上 Apple 服务。

对我们这种天天跟 App、跟 AI 打交道的人来说,它真正的价值,是补上了模拟器那块痒不到的角落:当 bug 只在真机上冒出来,当想让 AI 替我们做一遍端到端的真机操作,这台虚拟 iPhone 就派上用场了。

地址在这,剩下的自己玩:

  • vphone-cli:https://github.com/Lakr233/vphone-cli
  • 中文文档在项目里的 docs/README_zh.md
  • 想让 AI 上手操作的,可以看看 vphone-mcp
0

评论区