J'ai rooté mon Samsung Galaxy Note n7000. J'ai effectué quelques acrobaties et redémarré dans le mode de récupération d'origine de mon téléphone pour installer un fichier zip contenant Philz CWM 6 Touch, une récupération personnalisée. Comment l'installation d'une récupération personnalisée peut-elle rooter mon téléphone alors que je n'ai aucune idée du mot de passe root? Comment cette récupération personnalisée peut-elle même accéder à des éléments protégés au niveau du système sans nécessiter une quelconque authentification, etc., en premier lieu?
Réponses
Trop de publicités?Comme l'explique davidgo, le mode de récupération est comme un système d'exploitation séparé et très simple dans lequel votre appareil démarre. Lorsque vous démarrez en mode de récupération, Android lui-même ne fonctionne pas, donc aucune des protections au niveau du système d'exploitation telles que les utilisateurs et les autorisations de fichiers ne font aucune différence. Cependant, le mode de récupération a accès au système de fichiers principal de votre téléphone. Il est normal qu'un mode de récupération monte ce système de fichiers pour appliquer des mises à jour, mais lorsque vous rooter votre téléphone, la mise à jour que vous fournissez écrit simplement un binaire su
approprié au bon endroit avec les autorisations nécessaires (c'est-à-dire avec le bit suid défini). Ensuite, lorsque vous redémarrez en mode Android, le binaire su
est là et disponible à utiliser.
Si vous voulez le comparer à un PC, c'est comme démarrer à partir d'un CD live, monter le système de fichiers racine du PC, et éditer /etc/sudoers
ou /etc/passwd
pour vous donner un accès root. Bien sûr, vous pouvez le faire à partir d'un CD live, car le système d'exploitation "réel" sur le PC ne fonctionne pas.
La récupération ne consiste pas en fait à démarrer Linux, mais à s'exécuter AVANT que Linux ne démarre et à modifier la manière dont Linux s'exécute.
[Je note que les "chargeurs d'amorçage verrouillés" vous empêchent de changer le noyau, heureusement vous n'en avez pas !]
Je ne suis pas sûr des détails, mais si vous avez accès aux paramètres de démarrage du noyau Linux, il est toujours possible d'obtenir un "accès root" - car c'est le noyau Linux qui définit et contrôle l'accès root !!!
L'authentification sur certains téléphones Android se produit sur un écran où vous saisissez fastboot oem unlock
et déverrouillez le téléphone vous permettant de modifier ce que votre téléphone va démarrer lorsque vous le chargez.
L'authentification à laquelle vous faites référence n'est plus beaucoup utilisée. Un exemple serait au début, j'avais un HTC Legend avec un chargeur de démarrage signé, cela signifiait que je devais faire signer une rom par HTC si je voulais la charger sur mon téléphone. Donc pour contourner cette authentification, nous chargions l'outil de mise à jour HTC sur nos PC, nous arrêtions sur l'écran juste avant que la rom ne soit chargée sur le téléphone, nous allions dans le dossier temporaire de Windows et changions les données en celles que nous voulions charger dans nos téléphones, et laissions le logiciel HTC charger notre contenu plutôt que le leur.
De nos jours, les exploits pour contourner l'authentification ne sont plus souvent nécessaires car la plupart des téléphones ne sont pas verrouillés.
EDIT
Je me suis éloigné du sujet principal dans le titre
Q : Comment Android Custom Recovery root le téléphone ?
R : Il ne le fait pas