Jailbreak: Difference between revisions

From The French Apple Wiki
Jump to navigationJump to search
m Reverted edit by 195.238.124.47 (talk) to last revision by Mxt
Tag: Rollback
m Protected "Jailbreak" ([Edit=Allow only administrators] (indefinite) [Move=Allow only administrators] (indefinite))
(No difference)

Revision as of 17:34, 16 August 2025

Jailbreak

Le terme jailbreak désigne le processus par lequel une exécution de code arbitraire (généralement en ouvrant un shell SSH) est obtenue en exploitant le noyau (et d'autres protections, telles que AMFI, PAC, PPL, KPP, et KTRR - bien que celles-ci ne s'appliquent pas à toutes les versions logicielles) des systèmes iOS, iPadOS, watchOS, tvOS, audioOS, ou bridgeOS. Auparavant, le jailbreak impliquait de modifier le fichier /private/etc/fstab pour monter la partition système en mode lecture-écriture. Ce processus est entièrement distinct d'un déverrouillage (unlock). Le jailbreak est la première étape nécessaire avant d'appliquer des actions telles que l'activation non officielle (hacktivation) ou le déverrouillage non officiel.

Les anciens jailbreaks incluaient également la modification du service AFC (utilisé par iTunes pour accéder au système de fichiers) afin de permettre un accès complet au système de fichiers depuis la racine. Cela a ensuite été mis à jour pour créer un nouveau service, AFC2, qui offre un accès complet au système de fichiers.

Les jailbreaks modernes modifient la mémoire des variables du noyau au lieu de patcher directement le noyau, en raison des restrictions imposées par KPP et KTRR, à l'exception des jailbreaks basés sur checkm8.

Note : La légalité du jailbreak varie selon les pays/régions. Wikipédia propose un résumé de la légalité dans certains pays.

Types de Jailbreaks

  • Tethered : L'appareil doit être démarré à l'aide d'un ordinateur à chaque fois, sinon il ne démarrera pas du tout. Ce type de jailbreak est rare. Depuis l'iPod touch 2 (nouveau BootROM) et l'iPhone 3GS, Apple a mis en place des vérifications de signature pour sa chaîne de démarrage (bootchain), qui inclut LLB, iBoot, et le noyau, ce qui signifie qu'une chaîne de démarrage personnalisée ne peut pas être chargée sans un exploit pour contourner ces vérifications. Exemples : 4039, blackra1n, orangesn0w.
  • Semi-tethered : L'appareil doit être jailbreaké à l'aide d'un ordinateur à chaque redémarrage, sinon il démarrera dans un état non jailbreaké. Exemples : opensn0w, geeksn0w, checkra1n, palera1n. Ils sont similaires aux jailbreaks tethered dans leur méthode, mais ne modifient pas la chaîne de démarrage par défaut d'iOS, utilisant à la place une chaîne personnalisée.
  • Untethered : Les jailbreaks untethered étaient autrefois la norme : exécutez le jailbreak une fois, et l'appareil reste jailbreaké indéfiniment. Ils pouvaient être installés via Safari avec JailbreakMe, ou avec un ordinateur en utilisant redsn0w, Absinthe, ou Pangu. Cependant, ce type de jailbreak a commencé à disparaître à partir d'iOS 9.
  • Semi-untethered : À partir d'iOS 9, les jailbreaks totalement untethered sont devenus difficiles à réaliser, ce qui a conduit au développement des jailbreaks semi-untethered. Ces jailbreaks sont exécutés via une application qui jailbreake l'appareil, mais après un redémarrage, l'application doit être relancée pour rétablir le jailbreak. Exemples : Home Depot, Meridian, unc0ver, Chimera, Taurine, Dopamine. En raison des restrictions d'Apple, l'application doit être resignée chaque semaine (ou chaque année avec un compte développeur payant). Des outils comme ReProvision Reborn automatisent ce processus. Avec les versions d'iOS compatibles avec TrollStore, il est possible de signer l'application de jailbreak de manière permanente pour qu'elle n'expire jamais.

Outils de Jailbreak

Derniers firmwares et statut du jailbreak

iOS/iPadOS

Appareils Dernier firmware Dernier firmware jailbreakable Outil
iPad Air 11 pouces (M2), iPad Air 13 pouces (M2), iPad Pro 11 pouces (M4), iPad Pro 13 pouces (M4), iPad mini (A17 Pro), iPad (A16), iPad Air 11 pouces (M3), iPad Air 13 pouces (M3), iPhone 15, iPhone 15 Plus, iPhone 15 Pro, iPhone 15 Pro Max, iPhone 16, iPhone 16 Plus, iPhone 16 Pro, iPhone 16 Pro Max, iPhone 16e 18.6.1 Aucun outil de jailbreak
iPad mini (6e génération), iPad Pro (11 pouces) (4e génération), iPad Pro (12.9 pouces) (6e génération), iPhone 13 mini, iPhone 13, iPhone 13 Pro, iPhone 13 Pro Max, iPhone SE (3e génération), iPhone 14, iPhone 14 Plus, iPhone 14 Pro, iPhone 14 Pro Max 16.5 16.5 Dopamine
iPad (8e génération), iPad (9e génération), iPad (10e génération), iPad Air (3e génération), iPad Air (4e génération), iPad Air (5e génération), iPad mini (5e génération), iPad Pro (11 pouces), iPad Pro (12.9 pouces) (3e génération), iPad Pro (11 pouces) (2e génération), iPad Pro (12.9 pouces) (4e génération), iPad Pro (11 pouces) (3e génération), iPad Pro (12.9 pouces) (5e génération), iPhone XR, iPhone XS, iPhone XS Max, iPhone 11, iPhone 11 Pro, iPhone 11 Pro Max, iPhone SE (2e génération), iPhone 12 mini, iPhone 12, iPhone 12 Pro, iPhone 12 Pro Max 16.5.1 16.5.1 Dopamine
iPad (7e génération) 18.3.2 18.3.2 palera1n
iPad (6e génération), iPad Pro (12.9 pouces) (2e génération), iPad Pro (10.5 pouces) 17.7.9 17.7.9 (supporté) palera1n
iPad (5e génération), iPad Pro (12.9 pouces), iPad Pro (9.7 pouces), iPhone 8, iPhone 8 Plus, iPhone X 16.7.11 16.7.11 (probablement obsolète) Dopamine ou palera1n
iPad Air 2, iPad mini 4, iPhone SE (1re génération), iPhone 6s, iPhone 6s Plus, iPhone 7, iPhone 7 Plus, iPod touch (7e génération) 15.8.4 15.8.4 (probablement obsolète) Dopamine ou palera1n
iPad Air, iPad mini 2, iPad mini 3, iPhone 5s, iPhone 6, iPhone 6 Plus, iPod touch (6e génération) 12.5.7 12.5.7 (obsolète) checkra1n ou Chimera
iPad (4e génération), iPhone 5, iPhone 5c 10.3.3 ou 10.3.4 10.3.3 ou 10.3.4 (obsolète) h3lix ou socket
iPad 2, iPad (3e génération), iPad mini, iPhone 4S, iPod touch (5e génération) 9.3.5 ou 9.3.6 9.3.5 ou 9.3.6 (obsolète) Phœnix, p0laris, kok3shi9, openpwnage ou Blizzard
iPhone 4 7.1.2 7.1.2 (obsolète) Lyncis ou Pangu
iPhone 3GS, iPod touch (4e génération) 6.1.6 6.1.6 (obsolète) p0sixspwn
iPad (1re génération), iPod touch (3e génération) 5.1.1 5.1.1 (obsolète) redsn0w ou Absinthe
iPhone 3G, iPod touch (2e génération) 4.2.1 4.2.1 (obsolète) redsn0w
iPhone (1re génération), iPod touch (1re génération) 3.1.3 3.1.3 (obsolète)

tvOS

Appareils Dernier firmware Dernier firmware jailbreakable Outil
Apple TV 4K (2e génération), Apple TV 4K (3e génération) 18.6 Aucun outil de jailbreak
Apple TV HD, Apple TV 4K 18.3 ou 18.3.1 18.3 ou 18.3.1 palera1n
Apple TV (3e génération) 7.9 (iOS 8.4.4) 7.9 (obsolète) Blackb0x
Apple TV (2e génération) 6.2.1 (iOS 7.1.2) 6.2.1 (obsolète) Seas0nPass ou Blackb0x

audioOS

Appareils Dernier firmware Dernier firmware jailbreakable Outil
HomePod mini, HomePod (2e génération) 18.6 Aucun outil de jailbreak
HomePod 18.3 18.3 palera1n

watchOS

Appareils Dernier firmware Dernier firmware jailbreakable Outil
Apple Watch Series 6, Apple Watch Series 7, Apple Watch SE (2e génération), Apple Watch Series 8, Apple Watch Ultra, Apple Watch Series 9, Apple Watch Ultra 2, Apple Watch Series 10 11.6 Aucun outil de jailbreak
Apple Watch Series 4, Apple Watch Series 5, Apple Watch SE 10.6.1 10.6.1 (obsolète)
Apple Watch Series 3 8.8.1 4.1 (obsolète) JelbrekTime
Apple Watch Series 1, Apple Watch Series 2 6.3 3.2.3 (obsolète) Overcl0ck
Apple Watch (1re génération) 4.3.2 4.3.2 (obsolète)

Pour d'autres appareils, versions de firmware et outils de jailbreak, consultez la liste des versions ci-dessous.

Versions

Les jailbreaks untethered ou semi-untethered sont indiqués avec un "oui" en vert. Les jailbreaks tethered ou semi-tethered sont indiqués dans une boîte jaune. Les firmwares bêta ne sont pas répertoriés.

Bootstrap

Ce type d'utilitaire permet d'exécuter des ajustements d'applications de base, avec des fonctionnalités très limitées car le noyau n'est pas en lecture/écriture (non patché). Les seules exigences sont une faille CoreTrust et une méthode pour installer des applications avec cette faille (comme TrollStore).

Limites principales :

  1. Support d'injection de tweaks limité (les tweaks comme AppSync Unified, les tweaks Springboard, et ceux modifiant des démons nécessitent un noyau en lecture/écriture et d'autres contournements, donc des bibliothèques comme ElleKit ne fonctionnent pas).
  2. Terminaux externes limités (la plupart des terminaux utilisent des méthodes de lecture/écriture du noyau, donc seuls certains terminaux fournis par les outils bootstrap sont supportés).
  3. Exécution de LaunchDaemons personnalisés impossible (les exécutions de services/démons sont gérées par le binaire launchd signé par Apple, qui ne permet que l'exécution de binaires de plateforme signés par Apple ; les failles CoreTrust ne peuvent pas contourner cela, et patcher directement launchd sans patcher le noyau provoque une panique du noyau).

Avantages des bootstraps :

  1. L'appareil reste proche d'un environnement stock, avec une compatibilité des applications similaire à celle avec TrollStore.
  2. Les paniques du noyau sont généralement évitées.

Semi-jailbreak

En raison des restrictions imposées par KPP, KTRR, PPL, SPTM, TXM et PAC, avoir un accès lecture/écriture au noyau ne suffit pas pour réaliser un jailbreak sur les appareils arm64e. Cependant, avec un contournement CoreTrust, il est possible d'implémenter la plupart des fonctionnalités de base d'un jailbreak.

Fonctionnalités possibles :

  1. Support d'injection de tweaks amélioré : en utilisant l'accès lecture/écriture pour modifier /sbin/launchd, il est possible de supprimer diverses vérifications dans launchd pour permettre l'exécution de la plupart des binaires personnalisés.
  2. Utilisation de LaunchDaemons (en supprimant les restrictions dans launchd).
  3. Modification des applications sans avoir à les réenregistrer comme applications système (avec un hook xpcproxy pour lancer un exécutable alternatif).

Voir aussi

Pour plus d'informations, consultez les ressources disponibles sur The Apple Wiki.