vphone-cli
vphone-cli命令行工具
Boot a virtual iPhone via Apple’s Virtualization.framework using PCC research VM infrastructure. 通过PCC研究虚拟机基础设施,利用苹果Virtualization.framework启动虚拟iPhone

Prerequisites
系统要求
Host: 宿主机:
- Apple Silicon
- Apple Silicon芯片
- macOS 15+ (Sequoia)
- macOS 15及以上版本(Sequoia)
- Xcode + iOS SDK (cross-compiles the guest daemon)
- Xcode + iOS SDK(用于交叉编译客户机守护进程)
- SIP/AMFI relaxation to allow private PV=3 entitlements with unsigned-binary
- 需放宽SIP/AMFI限制以允许未签名二进制文件使用私有PV=3权限
Dependencies: 依赖项:
brew install python@3.13 aria2 wget gnu-tar openssl@3 ldid-procursus sshpass keystone cmake libusb ipsw zstdInstall
安装
brew install zqxwce/tap/vphone-cliBuild
编译
git clone --recurse-submodules https://github.com/Lakr233/vphone-cli.git
./scripts/setup_tools.sh # install deps, build toolchain submodules, create the Python venv
./scripts/setup_tools.sh # 安装依赖、构建工具链子模块、创建Python虚拟环境
./scripts/build.sh # build + sign vphone-cli, bundle the .app, cross-compile vphoned
./scripts/build.sh # 构建并签名vphone-cli、打包.app、交叉编译vphoned
cd .build/vphone-cli.app/Contents/MacOS/
vphone-cli --helpQuick Start
快速开始
One command creates a VM end-to-end (download → patch → DFU restore → CFW install → first boot): 单条命令完成虚拟机全流程创建(下载→打补丁→DFU恢复→安装CFW→首次启动):
vphone-cli vm create myphone -V jb # -V / --variant
vphone-cli vm create myphone -V jb # -V / --variant参数指定变体
vphone-cli vm launch myphoneCommands
命令说明
vphone-cli vm create runs the whole pipeline; the individual steps below let you drive it manually or re-run one stage.
vphone-cli vm create执行完整流程;以下分步命令支持手动操作或重新执行特定阶段
Manage
管理命令
vphone-cli vm list # list VMs (--json for scripting)
vphone-cli vm list # 列出虚拟机(--json参数支持脚本处理)
vphone-cli vm info myphone # show one VM
vphone-cli vm info myphone # 显示单个虚拟机信息
vphone-cli vm new myphone # create an empty bundle (cpu/mem/disk options)
vphone-cli vm new myphone # 创建空虚拟机包(可指定CPU/内存/磁盘参数)
vphone-cli vm config myphone --cpu 8 --memory 8192
vphone-cli vm config myphone --cpu 8 --memory 8192 # 配置虚拟机参数
vphone-cli vm clone myphone myphone-2 # fast APFS clone, fresh device identity
vphone-cli vm clone myphone myphone-2 # 快速APFS克隆(生成新设备标识)
vphone-cli vm export myphone --out myphone.tzst # zstd fast by default (--max = xz -9); --out may be a dir (auto-names <vm>.tzst/.txz); skips restore dir + staging files
vphone-cli vm export myphone --out myphone.tzst # 导出虚拟机(默认zstd快速压缩,--max参数等效xz -9级;--out可指定目录自动命名;跳过恢复目录和临时文件)
vphone-cli vm import myphone.tzst --name restored
vphone-cli vm import myphone.tzst --name restored # 导入虚拟机
vphone-cli vm rename myphone iphone16
vphone-cli vm rename myphone iphone16 # 重命名虚拟机
vphone-cli vm delete iphone16
vphone-cli vm delete iphone16 # 删除虚拟机Build a VM manually (what vm create automates)
手动构建虚拟机(即vm create的自动化流程)
vphone-cli vm new myphone # 1. empty bundle
vphone-cli vm new myphone # 1. 创建空虚拟机包
vphone-cli fw prepare myphone --iphone-version 26.1 # 2. download + merge IPSWs
vphone-cli fw prepare myphone --iphone-version 26.1 # 2. 下载并合并IPSW固件
vphone-cli fw patch myphone --variant jb # 3. patch the boot chain
vphone-cli fw patch myphone --variant jb # 3. 修补启动链
vphone-cli vm launch myphone --dfu & # 4. boot into DFU (background)
vphone-cli vm launch myphone --dfu & # 4. 进入DFU模式(后台运行)
vphone-cli restore myphone --get-shsh # fetch SHSH
vphone-cli restore myphone --get-shsh # 获取SHSH签名
vphone-cli restore myphone # DFU restore
vphone-cli restore myphone # DFU模式恢复
vphone-cli vm stop myphone # stop the DFU boot
vphone-cli vm stop myphone # 停止DFU启动
vphone-cli cfw install myphone --variant jb # 5. install CFW (host-mount; asks for sudo)
vphone-cli cfw install myphone --variant jb # 5. 安装定制固件(需挂载主机目录,要求sudo权限)
vphone-cli vm launch myphone # 6. first boot
vphone-cli vm launch myphone # 6. 首次启动Update to a newer iOS by pointing fw prepare at an IPSW: --iphone-source /path/to.ipsw --cloudos-source /path/to.ipsw.
通过指定IPSW路径升级到新版iOS:--iphone-source /路径/to.ipsw --cloudos-source /路径/to.ipsw
Firmware Variants
固件变体说明
Five patch variants with increasing security bypass — pass one to --variant:
五种安全绕过等级递增的补丁变体(通过--variant参数指定):
| Variant | Boot Chain | CFW | Notes |
| 变体类型 | 启动链补丁数 | 定制固件阶段 | 说明 |
|---|---|---|---|
less | 4 patches | 2 phases | Patchless — keeps iOS mitigations enabled |
less | 4处补丁 | 2阶段 | 无补丁模式——保持iOS安全缓解措施启用 |
regular | 42 patches | 10 phases | AMFI/SSV/Img4/TXM bypass |
regular | 42处补丁 | 10阶段 | 绕过AMFI/SSV/Img4/TXM验证 |
dev | 53 patches | 12 phases | + TXM entitlement/debug bypass |
dev | 53处补丁 | 12阶段 | 增加TXM权限/调试绕过 |
jb | 113 patches | 14 phases | + full jailbreak (Sileo, TrollStore auto-install on first boot) |
jb | 113处补丁 | 14阶段 | 增加完整越狱功能(首次启动自动安装Sileo和TrollStore) |
exp | 141 patches | 18 phases | JB superset + anti-VM-detection research patches |
exp | 141处补丁 | 18阶段 | 越狱超集+反虚拟机检测研究补丁 |
See [research/0_binary_patch_co... 详见[research/0_binary_patch_co…