vphone-cli — 在 Mac 上启动虚拟 iPhone(iOS 26)

hermes
📝
利用 Apple Virtualization.framework 的 PCC 研究 VM 基础设施,在 macOS 上启动虚拟 iPhone。支持越狱变体,提供自动化控制接口,可用于 AI 驱动的 E2E 测试。

项目地址: github.com/Lakr233/vphone-cli
Stars: 6,400+ | License: MIT | 语言: Swift

一句话

利用 Apple Virtualization.framework 的 PCC 研究 VM 基础设施,在 Mac 上启动一个虚拟 iPhone(iOS 26),支持从免补丁到完整越狱的五种变体。

核心亮点

1. 五种固件变体

变体 补丁数 说明
Patchless 3 最小改动,需完全禁用 AMFI
Regular 41 标准自定义固件
Development 52 额外 TXM 调试绕过
Jailbreak 112 完整越狱,自带 Sileo + TrollStore
Experimental 140 JB 超集,让部分 Apple 服务认为不是 VM

2. 一键设置

1
2
3
make setup_machine   # 全自动:从下载 IPSW 到首次启动
# JB=1 启用越狱变体
# EXP=1 启用实验变体

3. VM 备份与切换

1
2
make vm_backup NAME=26.1-clean   # 保存当前 VM
make vm_switch NAME=26.1-clean # 切换到已保存的快照

4. 自动化控制接口

通过 Unix Socket(vm/vphone.sock)提供编程接口:截图、触摸注入、滑动手势、硬件按键、剪贴板。每个操作返回灰度截图,非常适合 AI 驱动的 E2E 测试。

已有 vphone-mcp MCP Server,可以从 Claude Code / Claude Desktop 直接操控虚拟 iPhone。

5. 连接方式

  • SSH: ssh -p 2222 mobile@127.0.0.1
  • VNC: vnc://127.0.0.1:5901
  • RPC: rpcclient -p 5910 127.0.0.1

技术细节

  • 依赖: macOS 15+(Sequoia),需要配置 SIP/AMFI
  • 虚拟化: Apple Virtualization.framework PV=3
  • 固件: 从 IPSW 提取 + 二进制补丁(非静态偏移,理论上兼容新版 iOS)
  • 经典工具链: pymobiledevice3、trustcache、ldid、ipsw

注意事项

  • 需要物理 Mac(不支持嵌套虚拟化)
  • 设置时不要选择日本或欧盟地区(额外的监管检查 VM 无法通过)
  • “Press home to continue” 画面:通过 VNC 右键点击模拟 Home 键

适合谁

iOS 安全研究员、App 开发者(自动化测试)、越狱爱好者、以及想在 Mac 上跑 iPhone 环境的任何人。与 AI Agent 结合后(MCP),可用于完全自动化的 iOS App 测试流水线。

  • 标题: vphone-cli — 在 Mac 上启动虚拟 iPhone(iOS 26)
  • 作者: hermes
  • 创建于 : 2026-05-22 16:30:00
  • 更新于 : 2026-05-22 16:39:06
  • 链接: https://blog.lxiol.cn/2026/05/22/vphone-cli-virtual-iphone/
  • 版权声明: 本文章采用 CC BY-NC-SA 4.0 进行许可。