comment marche le root ?

N

nzoway

Membre
Inscrit
23 Juillet 2016
Messages
9
Points
1
Bonjour à toutes et à tous,
Comme le titre l'indique, je cherche à avoir quelques informations sur les techniques de root. Je souhaiterais rooter mon téléphone mais sans passer par des kernels trouvé sur le net. En gros je souhaiterais faire mon propre kernel rooté.

Pour cela j'ai commencé à utiliser modestement adb et fastboot en suivant quelques tutos mais sans succès. J'ai pu voir quelques tutos expliquant qu'il fallait via "adb shell" copier le su et busybox, mais j'ai l'impression que cette méthode est devenue obsolète et que je fais fausse piste.
Egalement, j'ai pu constater que les méthodes les plus courantes est de modifier la partition Recovery, ce qui permettait ensuite d'installer un custom kernel. Mais toutes ces infos sont encore floues pour moi.

Mes questions sont les suivantes:
- je n'ai pas trouvé de documentation sur le fonctionnement des tablettes et mobiles sur android, du genre un documentation expliquant la partition /Boot, /Recovery /System est chargé dans la ram et que le système est chargé par tel processus... Existe -t il une telle documentation?
- que faut il que je vérifie avant de télécharger superSu ou Busybox (pour être sur que ça soit compatible) ?

merci d'avance.
 
Skelett

Skelett

Moderateur Global
Inscrit
12 Mai 2013
Messages
14 873
Points
113
Salut,

Tu n'es pas forcément obligé de passer par le changement de kernel pour rooter ton appareil. En fait, tout dépend de l'appareil en question.

Aussi, SuperSU est totalement obsolète aujourd'hui. Il a été détroné par Magisk, un peu plus complexe.

Pour ce qui est des documentations... Jette un oeil à ça :
S'il vous plaît, Connexion ou S'inscrire pour voir le contenu ou les urls !
pour commencer. Pour quelque chose de plus approfondi, il faut rechercher d'avantage.
 
L

Lampang

Membre
Inscrit
14 Décembre 2017
Messages
93
Points
8
Bonjour,

Depuis Android 6, la méthode recommandée pour le root est "systemless" c'est à dire qu'on ne va plus injecter des nouveaux binaires (su etc.) dans la partition /system mais qu'on modifie l'image de boot pour les inclure.
Ceci parce qu'à partir de cette version, la partition /system est parfois montée avec l'option dm-verity qui provoque la vérification de son intégrité par une signature numérique (hash). On ne peut donc plus la modifier. Ca plus d'autres raisons.

Les installeurs UPDATE-SuperSU-vxxx.zip font le nécessaire en fonction de la version d'Android détectée. Magisk aussi.

L'application Magisk Manager est même capable de modifier une image de la partition de boot (un "dump") qu'on lui déponse sur un stockage accessible, par exemple la carte SD, afin d'y inclure le root. Cette image peut ensuite être reflashée dans sa partition par un moyen ou un autre (fastboot, outil de flashage sur PC etc.)
Il existe des outils pour faire la même chose sur un PC Linux, comme ceux développés par Pierre-Hugues Husson d'Archos.

A propos des partitions :
Les partitions boot et recovery ont la même structure : une image de kernel Linux jointe avec une image de ramdisk. Les deux compressés. Le kernel charge la 2eme image dans un ramdisk et la monte en tant que filesystem racine (/) puis exécute sa séquence de scripts de boot.

La partition system, elle, est un filesystem Linux classique (souvent au format ext4) qui est monté en read-only dans /system dans les premières étapes du boot. Les partitions /data et /cache sont, elles, montées en read-write.

Effectivement. on ne modifie pas un kernel pour rooter. Soit on modifie directement par un moyen ou un autre la partition de boot en :
- décompactant l'image pour séparer le kernel et le ramdisk puis en les décompressant
- extrayant le contenu du ramdisk (souvent une archive au format cpio)
- faisant les modifications
- reconstruisant l'archive cpio
- reconstruisant l'image de boot avec le kernel et l'archive cpio modifiée

Soit on flashe un recovery amélioré (TWRP) qui permettra de lancer un installeur SuperSU ou Magisk qui fera le boulot.

Contrairement à une croyance tenace, disposer d'un TWRP n'est pas indispensable pour rooter un Android.
Bien entendu, je ne parle pas des obscurs programmes chinois (KingRoot et compagnie) dont je déconseille fermement l'utilisation et qui sont de toutes façons de moins en moins efficaces et de plus en plus dommageables dans ce qu'ils se permettent de faire.
 
  • Like
Les réactions: Skelett
L

laupuy

Moderateur Global
Inscrit
8 Octobre 2014
Messages
9 831
Points
113
Contrairement à une croyance tenace, disposer d'un TWRP n'est pas indispensable pour rooter un Android.
Salut Alain, bien sûr mais c'est quand même pratique ! :D

Magisk Manager et fastboot font le job:
S'il vous plaît, Connexion ou S'inscrire pour voir le contenu ou les urls !

However, you MUST have a stock boot image dump beforehand, and you also have to be able to flash the patched boot image,

Actuellement, le OnePlus 6T (modèle double slot a/b) ne dispose pas d'un twrp.zip fonctionnel (twrp.img oui) et la méthode du patched boot img fonctionne bien ;)

édit,
au temps pour moi, en relisant ton message, j'ai vu que tu en avais parlé.
:oops:
 
Dernière édition:
  • Like
Les réactions: Skelett
Skelett

Skelett

Moderateur Global
Inscrit
12 Mai 2013
Messages
14 873
Points
113
Franchement, que dire de plus que Lampang ?
Il a tout dit, le plus simplement possible et je ne sais pas les autres mais moi, je n'aurais pas fait mieux

Chapeau l'artiste, comme qui dirait
 
N

nzoway

Membre
Inscrit
23 Juillet 2016
Messages
9
Points
1
merci pour toutes vos réponses et votre réactivité. Cela m'aide énormément car le monde merveilleux d'android m’intéresse de plus en plus, malheureusement je n'arrivais pas à trouver une méthodologie générique pour modifier des fichiers afin d'avoir l'accès root. Dès que je tapais le mot "root" dans google, cela me proposait des fichiers boot et recovery modifiés (sans parler de ces vilaines choses tels que kingroot ...), et les trois quart du temps pas du tout adapté avec le modèle qui m’intéresse (j'ai une très vieille tablette avec un android 4.4.4 et que je j'aimerais redonner une jeunesse avec un custom firmware pour booster un peu les performances).

C'est frustrant de ce dire que si personne ne s’intéresse à un modèle en particulier pour le root, il est impossible d'avoir des fichiers modifiés sur le net.
J'aimerais faire parti de ces devs qui partagent leur fichiers modifiées, mais pour cela il faut absolument que j'apprenne comment fonctionne la structure android.

Et après ce que j'ai pu lire, j'ai déjà pas mal à creuser ;)

Edit : une petite question, est il possible d'extraire l'image boot.img avec adb sans etre root?
 
Dernière édition par un modérateur:

Haut Bas