Vue normale

vphone - Un iPhone virtuel sur Mac (merci Apple)

Par : Korben
5 mars 2026 à 07:36

Virtualiser macOS sur un Mac, tout le monde ou presque sait le faire. Même chose avec Linux... Mais iOS c'est un peu le Graal... Le truc interdit !

Sauf que des chercheurs en sécu viennent de tomber sur VPHONE600AP, un composant planqué dans le firmware Private Cloud Compute d'Apple qui permet de faire tourner iOS 26 en VM sur un simple Mac tout simplement via le Virtualization.framework. En gros, Apple a laissé traîner la clé sous le paillasson...

Pour ceux qui débarquent, Private Cloud Compute (PCC) c'est l'infrastructure serveur qu'Apple utilise pour faire tourner Apple Intelligence et bizarrement, le firmware de ces serveurs, qu'Apple appelle cloudOS, contient un composant qui n'a rien à faire là : un iPhone virtuel. VPHONE600AP, de son petit nom.

iOS 26 dans une VM sur Mac, avec le wallpaper clownfish en guise de bienvenue

C'est vrai que jusqu'ici, on pouvait faire tourner des VM sur iOS via UTM, mais dans l'autre sens c'était niet. Mais le chercheur du nom de wh1te4ever (bien connu dans le milieu du jailbreak iOS) a documenté comment exploiter ce composant dans un writeup hyper détaillé que je vous invite à lire.

La recette, c'est pas sorcier sur le papier : on prend le firmware d'un iPhone 16 sous iOS 26.1 (~8 Go à télécharger), on y greffe les éléments vphone récupérés dans cloudOS, et on patche le résultat jusqu'à ce que le tout accepte de démarrer dans une VM. En pratique, on se doute que c'est évidemment un poil plus corsé que ça mais c'est le résultat qui compte !

Côté patches, 3 niveaux de casse-tête s'offrent à vous. Le mode Regular, le plus pépère, qui se contente de 38 modifications. Le mode Development qui en empile 47. Et le mode Jailbreak avec ses 84 patches !

Le device tree du firmware vphone, aka "iPhone Research Environment Virtual Machine"

Ces patches touchent à tout ce qui empêche normalement iOS de tourner en dehors d'un vrai iPhone : le bootloader (iBSS, iBEC, LLB), la vérification du volume système (SSV bypass), le système de fichiers APFS (seal verification), et le trustcache TXM.

Et pour simplifier tout ça, un autre dev nommé Lakr233 a créé vphone-cli , un outil en ligne de commande qui automatise tout le processus. Téléchargement des firmwares, application des patches, boot de la VM... quelques commandes dans le Terminal et c'est parti. Sans cet outil, il faudrait se taper chaque patch à la main, parce que le processus complet prend une bonne vingtaine d'étapes.

Ensuite, une fois la bête lancée, trois façons d'y accéder : SSH sur le port 22222 pour bidouiller, VNC sur le 5901 si vous voulez voir l'écran, ou RPC sur le 5910. Le tout en 1179x2556, la résolution d'un iPhone 16. Pas mal pour du virtuel !

Bon, quelques conditions quand même.... il faut macOS 15 (Sequoia) minimum, désactiver SIP et AMFI via csrutil disable en mode Recovery, et surtout un Mac Apple Silicon...

Sur Mac Intel, ça ne marchera pas. Maintenant, si vous avez déjà bidouillé de la virtualisation sur Mac , ça ne devrait pas trop vous dépayser, mais comprenez bien que c'est un outil de recherche en sécurité avant tout... même si perso, tester des apps iOS sans vrai iPhone, c'est pas du luxe quand on fait mon job.

Merci à Lorenper pour le lien de vphone-cli !

❌