墨穗app.notebase.cn
控制台
内容库
动态
管理
账户
U
用户
--
在线
v1.0.165 · 墨穗笔记
笔记

Notebase墨穗
静水流深,落墨成穗。

0笔记
0工具
30推荐

分类导航

按主题直达

编辑精选

站内用户贡献 · 真实笔记

最新收录

每日更新
继续浏览全部内容 →

笔记

0
加载中...

工具

0

此页用于记录用户反馈问题后的每一次改进

关于

笔记用法

“写笔记”支持四种格式——Word 文档、Excel 表格、Markdown、纯文本,起稿或二次编辑时都能随时切换,同一篇笔记想用哪种形态来记,都由你说了算。

md、txt、csv、json 这类纯文本则原样载入,不做多余加工。拿一张现成的表倒进来、改几笔、再导出去,等于白用一台免费的格式转换器。

要带走就在右上角点“下载”,可导出 PDF、Word、Markdown、Excel、TXT 等格式;列表卡片“⋯”菜单里,也有同样的下载入口。

工具用法

在“工具”页点“+ 上传工具”即可发布:填好名称与链接,再用 Markdown 把使用方法写清楚——能解决什么问题、怎么装、怎么用,比堆介绍实在。

要分发安装包就一并上传压缩包(ZIP、RAR、7Z、TAR.GZ,最大 35MB),别人在详情页一键下载;只放链接不带附件也可以。

工具按大家的收藏热度排序,好用的自然会被顶上来。发布后可在详情页或卡片菜单里编辑、下架。

隐藏笔记

写笔记时勾上“隐藏”,这篇就只存在于你自己的账号里:不进列表、不进搜索、不上首页精选,也不会出现在任何公开的页面,链接发给别人同样打不开。

适合放密码、草稿、日记这类只给自己看的内容;想公开,去“发布”打开它,把“隐藏”的勾去掉再保存,之后编辑会默认保持原状态,不会悄悄变回公开。

不想公开、只想临时给人看:点“分享”生成一条带密码和有效期的链接,到期自动失效,你也能随时撤销。

数据安全

你的内容会同时保存在多个副本上,系统定期做备份与完整性校验,再配合异地容灾机制:就算某台机器出问题,数据也不会丢,可以长期放心存放;特别重要的资料,仍建议你另外再留一份备份。

技术

全站跑在容器化、模块化的现代架构上,更新、部署、回滚都很快,扩展性和稳定性都按长期运营的标准来设计(Built for reliability, designed to scale)。

理念

这个网站最早只是一个人的笔记仓库,后来慢慢长成现在的知识中枢。设计上很克制——没有广告、没有追踪、没有推荐算法,只是干干净净地存放一些东西;既然做好了,就公开出来,万一有人用得上呢。

原则

不做大而全,不做平台梦,保持简单、保持克制、保持好奇。所有内容都由用户贡献、由用户维护:不会突然冒出付费墙,不会在角落塞广告位,也不会把你的数据卖给第三方。

更多

产品会持续迭代,站内日志页记录着每一次改动,改了什么都有迹可循;想了解这个站是怎么一步步走到今天的,翻翻日志就能看到来龙去脉。

举报

如果在这里看到涉嫌违规的内容,点对应卡片右侧的“举报”按钮就能提交,我们会尽快核实处理;也谢谢你花一点时间,一起把这里维护干净。

趋势

// 点击导航加载发现
归档
// 归档为空
最近浏览
// 暂无浏览记录
发布
// 加载中...
用户发布
// 加载中...
用户管理
// 加载中...
访问统计
// 加载中...
内容审核
// 加载中...
个人信息
// 加载中...
返回首页

vphone-cli:在 macOS 上通过 Virtualization.framework 启动虚拟 iPhone 的完整指南

2026-08-29编程开发

利用 Apple 的 Virtualization.framework 和 PCC 研究虚拟机基础设施,在 Apple Silicon Mac 上启动虚拟 iPhone,支持多种固件变体与越狱选项。

引言

vphone-cli 是一个开源命令行工具,它利用 Apple 的 Virtualization.framework 在 Apple Silicon Mac 上创建并运行虚拟 iPhone。该项目基于 PCC(Private Cloud Compute)研究虚拟机基础设施,实现了从 IPSW 下载、固件修补、DFU 恢复、自定义固件安装到首次启动的完整流程。目前该项目在 GitHub 上已获得 8.9k Star 和 1.3k Fork,展示了社区对 iOS 虚拟化的浓厚兴趣。

核心原理

Apple 的 Virtualization.framework 允许在 macOS 上创建虚拟机,但通常只支持 macOS 和 Linux 客户机。vphone-cli 通过使用 PCC 研究虚拟机基础设施,突破了这一限制,使得 iOS 能够作为客户机运行。它利用了 Apple 在 iOS 18 中引入的 Private Cloud Compute(PCC)虚拟机研究环境,该环境原本用于安全研究,现在被重新用于虚拟 iPhone。

系统要求

  • 主机:Apple Silicon Mac,macOS 15+(Sequoia)
  • 开发环境:Xcode + iOS SDK(用于交叉编译客户机守护进程)
  • 安全设置:需要放宽 SIP/AMFI 以允许私有 PV=3 权限和未签名二进制文件
  • 依赖工具:python@3.13, aria2, wget, gnu-tar, openssl@3, ldid-procursus, sshpass, keystone, cmake, libusb, ipsw, zstd

安装与构建

通过 Homebrew 安装

bash
brew install zqxwce/tap/vphone-cli

从源码构建

bash
git clone --recurse-submodules https://github.com/Lakr233/vphone-cli.git
./scripts/setup_tools.sh # 安装依赖、构建工具链子模块、创建 Python 虚拟环境
./scripts/build.sh # 构建并签名 vphone-cli,打包 .app,交叉编译 vphoned

构建完成后,可执行文件位于 cd .build/vphone-cli.app/Contents/MacOS/,运行 vphone-cli --help 查看帮助。

快速开始

一条命令即可完成从下载到首次启动的完整流程:

bash
vphone-cli vm create myphone -V jb # -V / --variant 指定变体
vphone-cli vm launch myphone

详细使用指南

虚拟机管理

bash
vphone-cli vm list # 列出所有虚拟机(--json 可脚本化)
vphone-cli vm info myphone # 显示单个虚拟机信息
vphone-cli vm new myphone # 创建空配置包(可指定 CPU/内存/磁盘)
vphone-cli vm config myphone --cpu 8 --memory 8192 # 修改配置
vphone-cli vm clone myphone myphone-2 # 快速 APFS 克隆,生成新设备标识
vphone-cli vm export myphone --out myphone.tzst # 导出(默认 zstd,--max 使用 xz -9)
vphone-cli vm import myphone.tzst --name restored # 导入
vphone-cli vm rename myphone iphone16 # 重命名
vphone-cli vm delete iphone16 # 删除

手动构建虚拟机流程

vm create 自动执行以下步骤,也可以手动分步执行:

bash

1. 创建空配置包

vphone-cli vm new myphone

2. 下载并合并 IPSW

vphone-cli fw prepare myphone --iphone-version 26.1

3. 修补引导链

vphone-cli fw patch myphone --variant jb

4. 进入 DFU 模式(后台运行)

vphone-cli vm launch myphone --dfu &

5. 获取 SHSH 并执行 DFU 恢复

vphone-cli restore myphone --get-shsh
vphone-cli restore myphone

6. 停止 DFU 启动

vphone-cli vm stop myphone

7. 安装自定义固件(需要 sudo)

vphone-cli cfw install myphone --variant jb

8. 首次启动

vphone-cli vm launch myphone

更新 iOS 版本

通过 fw prepare 指定 IPSW 文件路径即可更新:

bash
vphone-cli fw prepare myphone --iphone-source /path/to.ipsw --cloudos-source /path/to.ipsw

固件变体

vphone-cli 提供五种修补变体,安全绕过程度递增,通过 --variant 参数指定:

变体 引导链补丁数 CFW 阶段数 说明
less 4 2 无补丁,保留 iOS 缓解措施
regular 42 10 绕过 AMFI/SSV/Img4/TXM
dev 53 12 增加 TXM 权限/调试绕过
jb 113 14 完整越狱,首次启动自动安装 Sileo 和 TrollStore
exp 141 18 jb 的超集,增加反虚拟机检测研究补丁

每种变体的详细组件差异见 research/0_binary_patch_comparison.md。

连接虚拟机

  • SSH(越狱变体):ssh -p 22222 mobile@<vm-ip>,密码 alpine
  • SSH(regular/dev 变体):ssh -p 22222 root@<vm-ip>
  • VNC:vnc://<vm-ip>:5901

文件布局

所有文件默认位于 ~/.vphone/,可通过环境变量重定向:

路径 内容
~/.vphone/VMs/ 虚拟机配置包(可用 $VPHONE_LIBRARY_ROOT 覆盖)
~/.vphone/ipsws/ 下载的 iPhone 和 cloudOS IPSW 缓存
~/.vphone/tools/ APFS seal-volume 工具缓存
~/.vphone/debs/ .deb 包缓存(用于 jb/exp 变体安装 Sileo、apt 等)
~/.vphone/venv/ Python 虚拟环境(可用 $VPHONE_VENV_DIR 覆盖)

优先级:单项覆盖 > $VPHONE_ROOT > 默认路径。

SIP/AMFI 放宽

方案 A:完全禁用 SIP 和 AMFI(最宽松)

在 Recovery 模式(长按电源键 → 终端)执行:

bash
csrutil disable
csrutil allow-research-guests enable

重启进入 macOS 后设置 AMFI 启动参数(需要 SIP 完全关闭):

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

重启生效

方案 B:保持 SIP 开启,仅对特定二进制放行

在 Recovery 模式执行:

bash
csrutil enable --without debug
csrutil allow-research-guests enable

重启后运行:

bash
vphone-amfidont # 本地构建时路径为 .build/vphone-cli.app/Contents/Resources/vphone-amfidont

此方案保持 AMFI 系统级启用,仅对 vphone-cli 二进制放行。

测试环境

项目已在多种主机和固件组合上验证,例如:

  • Mac16,11 + iOS 27.0b2 + cloudOS 26.1-23B85
  • Mac16,8 + iOS 26.5.1 + cloudOS 26.1-23B85
  • Mac16,12 + iOS 26.3 + cloudOS 26.3-23D128
  • Mac16,6 + iOS 26.4.1 + cloudOS 26.4-23E5207q

完整列表见 README。

常见问题

zsh: killed ./vphone-cli

AMFI/调试限制未绕过,请参考前置条件设置 amfi_get_out_of_my_way=1 或使用 amfidont。

Virtualization is not available on this hardware

你的 Mac 本身是虚拟机,PV=3 客户机无法嵌套。请使用非嵌套的 macOS 15+ 主机。

卡在 "Press home to continue"

通过 VNC 连接,右键(双指点击)模拟 Home 键。

系统应用无法安装

在 iOS 设置过程中,不要选择日本或欧盟地区(额外的监管检查无法满足),建议选择美国等地区。

应用启动崩溃 EXC_GUARD / GUARD_TYPE_MACH_PORT

重新修补固件并强制处理:

bash
vphone-cli fw patch --variant --force-exc-guard

然后重新恢复/安装。iOS 18 基础版本始终需要此操作。

安装 .ipa / .tipa

使用运行中虚拟机的 Install 菜单(拖拽或文件选择)。

cfw install 挂起在重新签名系统二进制时

这是 ldid-procursus 2.1.5 及更早版本的已知 bug:bytes(uint64_t) 调用 __builtin_clzll(0) 时没有零值保护,导致无符号循环计数器下溢,ldid 陷入无限循环。触发条件为包含特定 entitlements 的 plist。

总结

vphone-cli 将 iOS 虚拟化带入了普通开发者的视野,通过利用 PCC 研究基础设施,实现了在 Mac 上运行完整 iOS 系统的可能性。尽管需要放宽安全设置,但它在越狱研究、应用测试和安全分析方面具有巨大潜力。该项目展示了 Apple 自家虚拟化框架的灵活性,也为未来 iOS 开发工具链开辟了新方向。

原文链接:https://github.com/Lakr233/vphone-cli

相似推荐
uBlock Origin 开发版被 Chrome 商店拒绝:一场关于扩展单一用途政策的争议逆向工程实战:我如何绕过亚马逊Kindle网页端的DRM加密Heroku的丑陋秘密:云之王如何背离Rails并欺骗客户Firefox 成为最后一个支持 uBlock Origin 的主流浏览器:广告拦截的终局之战GitHub Codespaces 深度解读:云端开发环境如何重塑编码工作流认知负荷才是关键:软件设计的根本度量
编写使用方法
Markdown 格式 · Ctrl+Enter 确定
0 字新建笔记
欢迎回来
登录你的墨穗笔记账户
忘记密码?
还没有账户?立即注册
创建账户
注册你的专属墨穗笔记
已有账户?去登录
找回密码
输入注册邮箱获取验证码
返回登录
请输入图片中的验证码以继续注册
加载中...
取消
新建收藏
手动添加你喜欢的内容
取消
编辑头像与昵称
上传新头像或修改你的显示昵称
支持 JPG/PNG,最大 2MB
取消

问题反馈

隐私提醒

取消
编辑工具
受控分享
为这篇笔记生成限时 / 带密码的临时链接
关闭