Skip to content

yishisanren/vphone-tutorial

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 

Repository files navigation

macOS iOS 虚拟机搭建指南

通过 vphone-cli 在 Mac 上运行 iOS 26 虚拟机并实现越狱

注意:本教程仅供研究学习使用,请遵守相关法律法规。

目录

  1. 前置要求
  2. 环境配置
  3. 构建 vphone-cli 工具
  4. 创建虚拟机环境
  5. 下载与合并固件
  6. 修补启动链
  7. 进入 DFU 模式
  8. 获取 SHSH Blob
  9. 刷入固件
  10. 构建 SSH Ramdisk
  11. 加载 Ramdisk 并安装 CFW
  12. 启动虚拟机
  13. 常见问题 FAQ

1. 前置要求

硬件要求

项目 最低要求 推荐配置
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+

2. 环境配置

2.1 禁用 SIP 和 AMFI

这是最关键的步骤,需要修改 Mac 的安全设置。

步骤:

  1. 关机 Mac

  2. 进入 Recovery 模式

    • 按住电源按钮不放,直到出现"正在加载启动选项"
    • 选择"选项"→"继续"
  3. 打开终端

    • 点击"实用工具"→"终端"
  4. 执行以下命令:

# 禁用 SIP
csrutil disable

# 启用研究虚拟机支持
csrutil allow-research-guests enable
  1. 重启 Mac

2.2 配置启动参数

重启后,在终端中执行:

sudo nvram boot-args="amfi_get_out_of_my_way=1 -v"

然后再次重启 Mac

2.3 安装依赖

# 安装 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 wget

3. 构建 vphone-cli 工具

3.1 克隆项目

git clone https://github.com/Lakr233/vphone-cli.git
cd vphone-cli

3.2 设置 Python 虚拟环境

make setup_venv

3.3 构建 libimobiledevice 工具链

make setup_libimobiledevice

这个过程可能需要 10-15 分钟,请耐心等待。

3.4 编译 vphone-cli

make build

编译完成后,工具位于 .build/release/vphone-cli


4. 创建虚拟机环境

# 创建 VM 目录和磁盘
make vm_new

# 或者指定参数
make vm_new VM_DIR=my_vphone DISK_SIZE=128

这会在当前目录创建 vm/ 文件夹,包含:

  • AVPBooter.vresearch1.bin - 启动ROM
  • AVPSEPBooter.vresearch1.bin - SEP ROM
  • Disk.img - 虚拟磁盘
  • nvram.bin - NVRAM
  • SEPStorage - SEP 存储

5. 下载与合并固件

cd vm
make fw_prepare

这会自动:

  1. 下载 iOS 26.1 IPSW(iPhone17,3)
  2. 下载 CloudOS 26.1 IPSW
  3. 提取固件组件
  4. 合并生成自定义固件

首次运行会下载约 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_prepare

6. 修补启动链

cd vm
make fw_patch

这个步骤会:

  • 修补 6 个启动组件
  • 进行 41+ 处修改
  • 绕过安全检查

7. 进入 DFU 模式

打开两个终端窗口:

终端 1:

cd vm
make boot_dfu

等待虚拟机启动并进入 DFU 模式。


8. 获取 SHSH Blob

终端 2(另一个终端窗口)中:

cd vm
make restore_get_shsh

这会从设备获取 SHSH blob 并保存到 vm/ 目录。


9. 刷入固件

确认 SHSH blob 获取成功后,执行:

cd vm
make restore

这会将自定义固件刷入虚拟磁盘。

刷入过程可能需要 10-30 分钟。


10. 构建 SSH Ramdisk

刷入完成后,需要构建一个包含 SSH 的 Ramdisk 以便进一步操作。

终端 1(保持 DFU 模式运行):

cd vm
make boot_dfu

终端 2:

cd vm
make ramdisk_build    # 构建 SSH ramdisk
make ramdisk_send     # 发送到设备

11. 加载 Ramdisk 并安装 CFW

# 安装 CFW 组件
make cfw_install

这会安装:

  • SSH 服务
  • 越狱工具
  • 自定义二进制文件
  • LaunchDaemons

12. 启动虚拟机

一切完成后,启动虚拟机:

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


13. 常见问题 FAQ

Q1: 运行 vphone-cli 时提示 "zsh: killed"

这是 AMFI 未禁用的症状。请确认:

# 检查启动参数
sudo nvram boot-args

# 如果没有,设置它
sudo nvram boot-args="amfi_get_out_of_my_way=1 -v"

# 重启
sudo reboot

Q2: 无法进入 DFU 模式

确保:

  1. 虚拟机已正确启动
  2. 使用 --dfu 参数
  3. 查看 serial.log 获取详细错误信息

Q3: 刷入失败

  1. 确认已获取 SHSH blob
  2. 检查磁盘空间是否充足
  3. 尝试重新运行 make fw_patch

Q4: 如何升级到更新版本?

export IPHONE_SOURCE=/path/to/new_version.ipsw
export CLOUDOS_SOURCE=/path/to/new_cloudos.ipsw
make fw_prepare
make fw_patch
# 然后重新刷入

Q5: 支持哪些 iOS 版本?

根据项目测试:

  • iOS 26.1 (23B85)
  • iOS 26.3 (23D127)
  • CloudOS 26.1-26.3

Q6: 可以在 Intel Mac 上运行吗?

不支持。目前仅支持 Apple Silicon (M1/M2/M3) 芯片。

Q7: 虚拟机可以做什么?

  • 研究 iOS 内核
  • 开发 iOS 应用
  • 安全研究
  • 逆向工程学习

Q8: 这与 Checkra1n/Chimera 越狱有何区别?

这是研究用虚拟机,不是传统越狱:

  • 无需真机
  • 可以运行完整 iOS
  • 适合安全研究
  • 不支持 App Store 应用(需要签名)

致谢

本项目基于以下开源项目:


免责声明

本教程仅供学习研究使用。请遵守:

  • 相关法律法规
  • Apple 服务条款
  • 仅在您拥有的设备上操作

作者不对任何滥用行为负责。

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors