vphone-cli应用安装全流程解析:IPA提取、ldid签名与vsock通道,3步把应用装进虚拟iPhone
2026/9/15 16:18:57 网站建设 项目流程

vphone-cli应用安装全流程解析:IPA提取、ldid签名与vsock通道,3步把应用装进虚拟iPhone

【免费下载链接】vphone-cli项目地址: https://gitcode.com/GitHub_Trending/vp/vphone-cli

vphone-cli是基于 Apple Virtualization.framework 启动虚拟 iPhone 的开源命令行工具,内置完整的IPA/TIPA 应用安装流水线:自动完成IPA 解压提取 → ldid 重签名 → vsock 通道传输 → LaunchServices 注册,让你无需 Xcode 即可把应用装进虚拟设备。

📦 一条命令完成安装

最简用法:在启动虚拟机时通过--install-ipa参数挂起你的 IPA 包,控制通道建立后自动完成安装:

vphone-cli vm launch myphone --install-ipa ./myapp.ipa

已连接状态下,也可以打开 GUI 的Apps → Install IPA/TIPA...菜单选择安装包。两种方式最终都汇入同一套协议流程(见 VPhoneMenuApps.swift)。

🔄 宿主端:IPA 提取与上传

安装入口在 VPhoneControl.swift,核心流程为:

  1. 读取 IPA 包——支持.ipa.tipa两种格式(见 VPhoneInstallPackage.swift)
  2. 创建临时目录——在 guest 的/var/mobile/Documents/vphone-installs建好落盘位置
  3. vsock 上传——通过 vsock 端口1337,以长度前缀 JSON 协议把整个包推送到 guest
  4. 附带签名证书——如果本地资源中存在signcert.p12(signcert.p12),会一并上传供 guest 重签名使用

🔏 Guest 端:ldid 重签名

guest 内的vphoned守护进程收到ipa_install请求后开始工作,核心实现位于 vphoned_install.m:

  • 定位 ldid:依次查找/var/jb/usr/bin/ldid/iosbinpack64/usr/bin/ldid等路径
  • 注入 entitlements:自动读取原包二进制中的 entitlements,补齐container-required等字段,并写入jb.pmap_cs_custom_trust = PMAP_CS_APP_STORE,让越狱内核信任该应用的代码签名
  • 递归签名:先签 Bundle 主可执行文件,再对整个.app递归签名
  • 注册应用:调用LSApplicationWorkspace完成 LaunchServices 注册,并配置应用沙盒容器(含 App Groups / System Groups)

完成后宿主端会弹出结果提示,临时文件(IPA 与证书)自动清理。

🌐 vsock 控制通道详解

整套交互依赖一条vsock 通道(虚拟机与宿主机间无需网卡的专用链路):

项目说明
端口1337
协议长度前缀 JSON 请求/响应
Guest 端vphoned守护进程(vphoned.m)
宿主端VPhoneControl.swift

vphoned 由 CFW 安装阶段随 cfw_install.sh 交叉编译并写入 guest 的/usr/bin/vphoned,通过 vphoned.plist 以 LaunchDaemon 常驻。这也是它能注入 HID、读取 Keychain、安装应用等全部高级能力的底层通道。

✅ 常见问题速查

  • 提示 "Guest vphoned does not support ipa_install yet":说明 guest 内还是旧版守护进程,重启虚拟机让新 daemon 接管即可
  • --install-ipa--dfu冲突:DFU 模式不建立控制通道,请改用vm launch
  • 支持格式:仅.ipa/.tipa,其余扩展名会被校验拒绝

📚 更多协议细节可参考 vphoned_protocol.h 与 VPhoneControl.swift 中的注释说明。

【免费下载链接】vphone-cli项目地址: https://gitcode.com/GitHub_Trending/vp/vphone-cli

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询