Urgent.News

What's breaking now, across thousands of outlets.

Tech

Boot a Virtual iPhone via Apple's Virtualization.framework

Article URL: https://github.com/Lakr233/vphone-cli Comments URL: https://news.ycombinator.com/item?id=49485267 Points: 261 # Comments: 73

Using Apple's Virtualization.framework, one can boot a virtual iPhone through the PCC research VM infrastructure. A single command, vphone-cli vm create, initiates the entire process, which includes downloading, patching, DFU restore, CFW installation, and first boot. To update to a newer iOS version, specify an IPSW file using the --iphone-source and --cloudos-source flags.

The vphone-cli tool generates various patch variants, each with incremental security bypass capabilities. These can be selected using the --variant flag. All generated files are stored under the ~/.vphone directory, outside the repository and the .app, ensuring portability of the signed bundle.

The environment can be customized using $VPHONE_ROOT, $VPHONE_LIBRARY_ROOT, $VPHONE_VENV_DIR, and $VPHONE_ROOT variables. By default, the ipsws/, tools/, and debs/ caches are located directly under the active root. To disable System Integrity Protection (SIP) and AMFI entirely, reboot into macOS and set the AMFI boot-arg after completely disabling SIP.

If SIP remains enabled, allowlisting the binary with amfidont is an option, though AMFI will be enabled system-wide. The tool may not work on hardware that is itself a VM, so a non-nested macOS 15+ host is required. System apps will not install during iOS setup, so avoid selecting regions with extra regulatory checks, such as Japan or the EU.

If encountering EXC_GUARD errors during iOS setup, re-patch the system with vphone-cli fw patch, specifying the variant and forcing an EXC_GUARD fix. Re-restore and reinstall after applying the patch. Always ensure the VM is set to always use iOS 18 base images.

For installing a .ipa/.tipa file, use the VM's Install menu, either via drag-and-drop or file picker. During CFW installation, ldid-procursus may hang when re-signing system binaries due to a bug in versions up to 2.1.5-procursus7. This issue arises from undefined behavior in bytes(uint64_t) calls that resolve to a 0-length loop counter. If this occurs, rebuild ldid-procursus from source and link it using Homebrew.

Written by urgent.news from Hacker News Best's reporting — not their text. Machine-written — may contain errors; check the original before relying on it.

This story

This is one outlet's version. Read the fullest account.

Read the original at github.com →

More in Tech

New York City 911 System Missed 1,700 Calls Due To Software Update

Longtime Slashdot reader belmolis writes: Part of New York City's 911 emergency system was offline from about 3:13 a.m. to 10 a.m. on August 18th due to a software update, according to Medical Daily.

  • Software update caused 1,700 unanswered 911 calls in NYC on August 18th
  • Calls made to Bronx center, 400 direct callers didn't receive help
  • NYC didn't inform public, disclosed info upon journalist request

More from Friday 28 August →