Magisk prend désormais en charge les Google Pixel 3 et Pixel 3a sur Android Q

Le développeur Magisk a réalisé deux grandes avancées: la prise en charge du système en tant que racine et des partitions logiques pour les Google Pixel 3 et Pixel 3a sur Android Q.

Google a publié la première version bêta d'Android Q en mars et un accès root via Magisk rapidement est devenu disponible pour le Google Pixel et le Google Pixel 2. Le Google Pixel 3, cependant, n'a pas pu être rooté sur Android Q car le développeur de Magisk, XDA Recognized Developer topjohnwu, devait comprendre comment utiliser la nouvelle disposition des partitions logiques. Avec son nouveau stage chez Apple, topjohnwu a eu moins de temps pour travailler sur Magisk, mais cela ne l'a pas empêché de réaliser deux grandes avancées en matière de développement. Dans la dernière version de Canary, Magisk prend désormais en charge le système en tant que racine, ce qui rend plus difficile la détection de la racine par les applications. accès, et prend également en charge les appareils dotés de partitions logiques tels que les séries Pixel 3 et Pixel 3a XL sur Android Q.

Forums Google Pixel 3Forums Google Pixel 3 XL

Forums Google Pixel 3aForums Google Pixel 3a XL

Prise en charge des partitions logiques Google Pixel 3 et Pixel 3a sur Android Q

Pour aider les développeurs à tester les versions AOSP d'Android sur les appareils existants, Google publie des images système génériques (GSI) qui peuvent être démarrées sur des appareils compatibles Project Treble (tout appareil qui lancé avec Android 9 Pie ou version ultérieure.) L'installation d'un GSI nécessite le déverrouillage du chargeur de démarrage, ce qui peut ne pas être possible sur tous les appareils, et le flashage d'une image système via fastboot après avoir effacé l'utilisateur. données. Dans Android Q, Google introduit une nouvelle fonctionnalité appelée Mises à jour dynamiques du système qui permet aux développeurs de démarrer un GSI sans déverrouiller le chargeur de démarrage ni effacer les données. Afin de prendre en charge les mises à jour dynamiques du système, un périphérique doit disposer de partitions logiques qui peuvent être redimensionnées dynamiquement pour libérer de l'espace pour l'installation de GSI. Les Google Pixel 3, Google Pixel 3 XL, Google Pixel 3a et Google Pixel 3a XL ont des partitions logiques sur les versions bêta d'Android Q, bien que seuls les Pixel 3 et Pixel 3 XL prennent en charge le DSU. Néanmoins, c'est à cause de ce changement radical dans la structure des partitions que Magisk ne fonctionnait pas.

Lorsque topjohnwu est déterminé, rien ne l'empêche d'accéder au root. L'autre jour, il a annoncé qu'il avait réussi à rooter son Pixel 3 XL sur Android Q bêta 4. Sa description de commit ici explique les détails techniques de la façon dont il a obtenu la prise en charge des partitions logiques, mais ce qui est important est que Magisk peut désormais être installé sur des appareils avec ou sans partitions logiques.

Prise en charge du système en tant que racine

Pour les appareils avec Doubles partitions A/B, la partition système est montée en tant que répertoire racine (/), mais les périphériques sans double partition A/B ont la partition système montée sur /system. Cela rend impossible les OTA système uniquement sur les périphériques non-A/B car les fichiers du disque virtuel, qui nécessitent une mise à jour, se trouvent dans la partition de démarrage. C'est pourquoi, afin de rendre possibles les OTA système uniquement dans Android Pie et versions ultérieures, Google exige que tous les appareils lancés avec Android Pie prennent en charge la disposition de partition système en tant que racine. Dans la configuration système en tant que racine, l'image du disque virtuel est fusionnée dans l'image système, qui est montée en tant que rootfs.

Depuis que Google a introduit le système en tant que root, le solution aux périphériques root consistait à rétablir le système en tant que root à l'ancienne disposition de partition "initramfs rootfs". Que travaux très bien pour Android 7.1 à Android 9 Pie car Android prend en charge cette ancienne mise en page, mais Android Q complètement supprime la prise en charge en tant que système en tant que root est désormais obligatoire pour tous les appareils, même pour les appareils qui effectuent une mise à jour vers Android Q. Les versions précédentes de Magisk fonctionnaient toujours grâce à quelques "piratages vraiment méchants", mais topjohnwu n'était pas satisfait de cette solution, donc pour prendre en charge correctement le système en tant que root, il a introduit "MagiskInit."

Un effet secondaire intéressant de la prise en charge correcte de la disposition des partitions système en tant que racine est que une piste potentielle de détection des racines a été écrasé. Comme topjohnwu me l'a gracieusement expliqué, l'ancienne méthode "revenir à initramfs rootfs" était facile à détecter pour les applications car Magisk monterait system à '/system_root' et liez le montage '/system_root/system' à '/system.' Tout ce qu’une application devrait faire pour détecter la présence de root est vérifiez si « /system_root » existe ou si « / » est « rootfs ». Cependant, il n'est pas clair si des applications en ont réellement profité pour détecter racine. Pourtant, il vaut mieux prévenir que guérir.

Modifications diverses

Android Q introduit la prise en charge de quelque chose appelé "piscine blastula" au cycle de vie des applications Android. MagiskHide était incapable pour détecter les applications pour lesquelles masquer l'accès root si la nouvelle fonctionnalité "pool de processus" était activée. La dernière version de Canary prend désormais en charge cette fonctionnalité. Selon topjohnwu: « Pour prendre en charge correctement la nouvelle optimisation du pool blastula introduite dans Q, j'ai réécrit une bonne partie de la logique de traçage pour la surveillance des processus. »


Si vous possédez un Pixel 3, Pixel 3 XL, Pixel 3a ou Pixel 3a XL sur la version bêta d'Android Q, essayez la dernière version de Magisk Canary et faites-nous savoir si vous parvenez à rooter votre appareil.

Canal Magisk des Canaries