通过 vphone-cli 在 Mac 上运行 iOS 26 虚拟机并实现越狱
注意:本教程仅供研究学习使用,请遵守相关法律法规。
- 前置要求
- 环境配置
- 构建 vphone-cli 工具
- 创建虚拟机环境
- 下载与合并固件
- 修补启动链
- 进入 DFU 模式
- 获取 SHSH Blob
- 刷入固件
- 构建 SSH Ramdisk
- 加载 Ramdisk 并安装 CFW
- 启动虚拟机
- 常见问题 FAQ
| 项目 | 最低要求 | 推荐配置 |
|---|---|---|
| Mac 机型 | Apple Silicon (M系列) | M3 Pro 或更高 |
| 内存 | 8GB | 16GB+ |
| 磁盘空间 | 64GB | 128GB+ |
| macOS 版本 | 26.0+ | 26.3+ |
⚠️ 目前仅支持 Apple Silicon Mac,Intel Mac 暂不支持。
- Xcode Command Line Tools
- Homebrew
- Python 3.10+
这是最关键的步骤,需要修改 Mac 的安全设置。
步骤:
-
关机 Mac
-
进入 Recovery 模式
- 按住电源按钮不放,直到出现"正在加载启动选项"
- 选择"选项"→"继续"
-
打开终端
- 点击"实用工具"→"终端"
-
执行以下命令:
# 禁用 SIP
csrutil disable
# 启用研究虚拟机支持
csrutil allow-research-guests enable- 重启 Mac
重启后,在终端中执行:
sudo nvram boot-args="amfi_get_out_of_my_way=1 -v"然后再次重启 Mac。
# 安装 Xcode Command Line Tools
xcode-select --install
# 安装 Homebrew(如果未安装)
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
# 安装必要工具
brew install zsh python3 wgetgit clone https://github.com/Lakr233/vphone-cli.git
cd vphone-climake setup_venvmake setup_libimobiledevice这个过程可能需要 10-15 分钟,请耐心等待。
make build编译完成后,工具位于 .build/release/vphone-cli。
# 创建 VM 目录和磁盘
make vm_new
# 或者指定参数
make vm_new VM_DIR=my_vphone DISK_SIZE=128这会在当前目录创建 vm/ 文件夹,包含:
AVPBooter.vresearch1.bin- 启动ROMAVPSEPBooter.vresearch1.bin- SEP ROMDisk.img- 虚拟磁盘nvram.bin- NVRAMSEPStorage- SEP 存储
cd vm
make fw_prepare这会自动:
- 下载 iOS 26.1 IPSW(iPhone17,3)
- 下载 CloudOS 26.1 IPSW
- 提取固件组件
- 合并生成自定义固件
首次运行会下载约 10GB 的文件,请确保网络稳定。
# 指定特定版本
export IPHONE_SOURCE=/path/to/iPhone17,3_26.3_23D127_Restore.ipsw
export CLOUDOS_SOURCE=/path/to/CloudOS_26.3_23D128.ipsw
make fw_preparecd vm
make fw_patch这个步骤会:
- 修补 6 个启动组件
- 进行 41+ 处修改
- 绕过安全检查
打开两个终端窗口:
终端 1:
cd vm
make boot_dfu等待虚拟机启动并进入 DFU 模式。
在终端 2(另一个终端窗口)中:
cd vm
make restore_get_shsh这会从设备获取 SHSH blob 并保存到 vm/ 目录。
确认 SHSH blob 获取成功后,执行:
cd vm
make restore这会将自定义固件刷入虚拟磁盘。
刷入过程可能需要 10-30 分钟。
刷入完成后,需要构建一个包含 SSH 的 Ramdisk 以便进一步操作。
终端 1(保持 DFU 模式运行):
cd vm
make boot_dfu终端 2:
cd vm
make ramdisk_build # 构建 SSH ramdisk
make ramdisk_send # 发送到设备# 安装 CFW 组件
make cfw_install这会安装:
- SSH 服务
- 越狱工具
- 自定义二进制文件
- LaunchDaemons
一切完成后,启动虚拟机:
make boot首次启动后,需要初始化 shell 环境:
# 设置 PATH
export PATH='/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/bin/X11:/usr/games:/iosbinpack64/usr/local/sbin:/iosbinpack64/usr/local/bin:/iosbinpack64/usr/sbin:/iosbinpack64/usr/bin:/iosbinpack64/sbin:/iosbinpack64/bin'
# 初始化目录
/iosbinpack64/bin/mkdir -p /var/dropbear
/iosbinpack64/bin/cp /iosbinpack64/etc/profile /var/profile
/iosbinpack64/bin/cp /iosbinpack64/etc/motd /var/motd
# 关机
shutdown -h now以后可以通过以下方式连接:
# SSH 连接(端口 22222)
iproxy 22222 22222
ssh root@localhost -p 22222
# VNC 连接(端口 5901)
iproxy 5901 5901
# 使用 VNC 客户端连接 localhost:5901默认密码:alpine
这是 AMFI 未禁用的症状。请确认:
# 检查启动参数
sudo nvram boot-args
# 如果没有,设置它
sudo nvram boot-args="amfi_get_out_of_my_way=1 -v"
# 重启
sudo reboot确保:
- 虚拟机已正确启动
- 使用
--dfu参数 - 查看 serial.log 获取详细错误信息
- 确认已获取 SHSH blob
- 检查磁盘空间是否充足
- 尝试重新运行
make fw_patch
export IPHONE_SOURCE=/path/to/new_version.ipsw
export CLOUDOS_SOURCE=/path/to/new_cloudos.ipsw
make fw_prepare
make fw_patch
# 然后重新刷入根据项目测试:
- iOS 26.1 (23B85)
- iOS 26.3 (23D127)
- CloudOS 26.1-26.3
不支持。目前仅支持 Apple Silicon (M1/M2/M3) 芯片。
- 研究 iOS 内核
- 开发 iOS 应用
- 安全研究
- 逆向工程学习
这是研究用虚拟机,不是传统越狱:
- 无需真机
- 可以运行完整 iOS
- 适合安全研究
- 不支持 App Store 应用(需要签名)
本项目基于以下开源项目:
- vphone-cli - 主要工具
- super-tart-vphone-writeup - 技术原理
- apple/security-pcc - PCC 固件
- Inferno - QEMU iOS 模拟器
本教程仅供学习研究使用。请遵守:
- 相关法律法规
- Apple 服务条款
- 仅在您拥有的设备上操作
作者不对任何滥用行为负责。