Boot a Virtual iPhone via Apple's Virtualization.framework
This project introduces vphone-cli, a command-line tool allowing users to boot virtual iPhones on Apple Silicon Macs using Apple's Virtualization.framework. It provides extensive control, including firmware variants for varying levels of security bypass and full jailbreaking capabilities. This technical marvel attracts attention for its innovative approach to iOS virtualization and its implications for development and security research.
The Lowdown
The vphone-cli project presents a groundbreaking command-line interface for booting virtual iPhones directly on Apple Silicon Macs, leveraging Apple's native Virtualization.framework. This tool simplifies the complex process of creating, configuring, and managing iOS virtual machines, offering unprecedented control for developers, security researchers, and enthusiasts.
- System Requirements: Requires an Apple Silicon Mac running macOS 15+ (Sequoia) with Xcode and iOS SDK installed, alongside a crucial SIP/AMFI relaxation for private entitlements.
- Setup: Installation is streamlined via Homebrew, with a comprehensive build script for setting up dependencies, toolchains, and signing the application.
- VM Creation & Management: A 'quick start' command allows for end-to-end VM creation, including downloading, patching, DFU restore, and custom firmware installation. Users can also manually control each step and manage VMs through commands for listing, configuring, cloning, exporting, importing, renaming, and deleting.
- Firmware Variants: A key feature is the provision of five firmware variants (less, regular, dev, jb, exp), each offering increasing levels of security bypass, from minimal patches to a full jailbreak (Sileo, TrollStore auto-install) and experimental anti-VM-detection patches.
- Connectivity: Virtual iPhones can be accessed via SSH (with different credentials for jailbroken vs. regular/dev variants) and VNC for graphical interaction.
- Data Structure: All
vphone-clidata, including VM bundles, IPSW caches, and tools, is organized under~/.vphone/, with environment variables for custom root directories. - Security Configuration: Detailed instructions are provided for relaxing macOS's System Integrity Protection (SIP) and Apple Mobile File Integrity (AMFI), either by fully disabling SIP or by using a debug-only relaxed SIP combined with
amfidont. - Automation: The tool exposes a host control socket for programmatic interaction, enabling advanced automation for tasks like screenshots, touch input, and E2E testing, and integrates with
vphone-mcpfor server-side control. - Troubleshooting: An extensive FAQ addresses common issues like AMFI/debug restrictions, nested virtualization, home button interaction, app installation failures,
EXC_GUARDcrashes, and specificldid-procursusbugs.
vphone-cli represents a significant leap in iOS virtualization, providing a powerful, flexible, and deeply configurable platform for advanced iOS development, security analysis, and jailbreak experimentation, all within the Apple ecosystem.