Saviez-vous que la prise USB-C des iPhone 15 cache un connecteur de diagnostic ? Plus exactement, comme pour les Mac, le connecteur peut être configuré pour fonctionner comme un port série UART (de façon un peu simplifiée) ou comme un connecteur JTAG qui peut être employé pour certaines opérations de maintenance. Et tout ceci est expliqué dans une vidéo de stacksmashing sur YouTube.
Dans le cas des Mac, la restauration en utilisant Apple Configurator passe par ce connecteur spécifique. Il faut donc utiliser un câble USB-C compatible USB 3.x — les câbles USB 2.0 fournis par Apple ne contiennent pas les broches nécessaires — et bien choisir la prise. Apple indique la position de ce connecteur, mais c'est généralement la prise la plus proche de l'alimentation.
Dans le cas des iPhone, ce n'est pas une nouveauté : le Lightning peut être configuré pour être employé en mode « JTAG » (pour le diagnostic) ou en mode UART (basiquement un port série) et des outils existent pour redémarrer l'iPhone ou effectuer certaines tâches (forcer le mode de restauration DFU par exemple). Entendons-nous bien : ce mode ne permet pas directement le jailbreak ou même le debug : seuls les iPhone proposés par Apple à certains chercheurs et les prototypes donnent accès aux outils. En réalité, il existe une exception : les modèles « compatibles » avec la faille checkm8 peuvent en profiter, mais elle ne touche que les puces A5 à A11 (inclus).
Pour les personnes intéressées, il existe un outil open source qui permet d'activer ce mode sur un iPhone 15, il nécessite un câble USB-C compatible et un petit boîtier à fabriquer, qui se base sur une carte Raspberry Pi Pico. Pour le moment, cette solution est surtout là pour prouver que la possibilité existe, car il y a peu de raisons de tenter d'accéder à la console série ou au mode JTAG d'un iPhone 15. Mais elle montre aussi qu'Apple a pensé à tout avec l'USB-C.