Contrairement à Magisk, KernelSU intègre la possibilité d'accéder à la racine dans le noyau lui-même. Cela incite le shell à penser que /system/bin/su existe sur l'appareil.
Root est très spécial pour nous chez XDA. Il permet aux utilisateurs de prendre le contrôle de leurs appareils et d’ajouter des fonctionnalités qui ne sont pas toujours disponibles, telles que l’enregistrement des appels, des thèmes et une surveillance avancée de la batterie. Il y a eu quelques implémentations racine au fil des ans, la plus populaire étant probablement SuperSU. Cependant, récemment, avec l'introduction de SafetyNet et les restrictions croissantes sur les appareils rootés, Magisk est devenu l'implémentation racine. de choix, car sa fonctionnalité Magisk Hide permet aux utilisateurs de masquer efficacement le fait qu'ils sont rootés dans des applications telles que Netflix et Google. Payer. Cependant, la mise en œuvre et les fonctionnalités de Magisk Hide sont en grande partie un jeu du chat et de la souris: Google le corrige et Magisk travaille autour de ce correctif.
Magisk s'exécute dans ce qu'on appelle l'espace utilisateur. C'est également là que s'exécutent la plupart des programmes de votre téléphone, qu'il s'agisse de jeux, de lecteurs de musique ou de trackers de fitness. Il s’agit de « l’espace » du système d’exploitation de l’appareil orienté vers l’utilisateur. L’espace utilisateur est également l’endroit où se déroule la majeure partie de la bataille pour Magisk Hide. Malheureusement, à mesure que le temps passe et que Google corrige de plus en plus de méthodes de Magisk Hide, il reste de moins en moins d'espace pour se cacher. À l’avenir, Magisk pourrait perdre la capacité de masquer complètement la racine.
Planifier cette éventualité, développeur reconnu XDA zx2c4 (Jason Donenfeld), connu ici sur XDA pour son travail sur WireGuard et la découverte d'un Vulnérabilité du chargeur de démarrage OnePlus, a créé Superutilisateur assisté par le noyau (KernelSU).
Contrairement à Magisk, KernelSU intègre la possibilité d'accéder à la racine dans le noyau lui-même. Ici, il détourne les appels système pour inciter le shell à réfléchir /system/bin/su
existe sur l'appareil, alors qu'en réalité ce n'est pas le cas. Il exécute ensuite les commandes exécutées avec su
comme s'il s'agissait de commandes normales, mais avec les privilèges root. Ce processus ne peut pas être empêché par SELinux (le noyau peut même désactiver SELinux s'il le souhaite) et la possibilité de masquer l'état root de l'espace utilisateur, et donc de SafetyNet, est presque illimitée.
KernelSU est cependant loin d’être terminé. Pour le moment, aucun mécanisme de contrôle d’accès n’est en place (pensez à Magisk Manager). Pour cette raison, KernelSU est actuellement plus utile aux développeurs du noyau qu'aux utilisateurs. Le processus de création d'un noyau nécessite que les développeurs reconstruisent et chargent constamment les images de démarrage pour tester et corriger les bogues et les fonctionnalités, et avoir root rend cela beaucoup plus facile. Cependant, avec les options root telles que Magisk ou SuperSU, l'image de démarrage doit être corrigée après chaque build pour que root fonctionne, ce qui peut avoir un impact significatif sur le processus de développement. KernelSU, en revanche, est destiné à être intégré au moment de la construction, sans qu'aucun correctif post-construction ne soit nécessaire. Afin de faciliter l'intégration de KernelSU pour les développeurs, une simple commande sur une seule ligne est disponible :
curl -LsS "https://git.zx2c4.com/kernel-assisted-superuser/plain/fetch-and-patch.sh" | bash -
Une fois cette opération exécutée, KernelSU peut être intégré au noyau dans le cadre du processus de construction normal. Cela signifie que les développeurs peuvent facilement créer et tester leurs noyaux, sans avoir à se soucier de l'ajout de root.
Bien que KernelSU en soit à ses débuts et que davantage de travail soit nécessaire pour le rendre pleinement fonctionnel, c'est un projet intéressant. Nous avons parlé à Magisk-créateur, développeur reconnu par XDA topjohnwu, à propos de KernelSU, et il l'a également trouvé intéressant, affirmant que, puisque KernelSU fonctionne au niveau du noyau, La fonctionnalité de Magisk Hide serait beaucoup plus fiable si elle était ajoutée, et ce serait une « chose amusante à utiliser ». mettre en œuvre."
Si vous êtes un développeur de noyau ou de ROM intéressé par KernelSU, consultez le Fil de discussion XDA et le page d'accueil du projet pour apprendre plus.