12 votes

Comment ajouter la permission Root à une application par moi-même ?

Y a-t-il un moyen d'accorder intentionnellement la permission Root à une application ? Pas automatiquement via SuperSU quand une application spécifique demande le droit Root, mais en choisissant une application via un outil et en lui accordant le droit Root.

Par exemple, j'ajoute mon application de texte préférée à la liste des applications approuvées et je peux alors ouvrir les fichiers Root via cette application.

14voto

R R Points 6242

Non. Vous devez demander au développeur de l'application de le faire.

Sur les systèmes de type UNIX, les permissions sont gérées à l'aide de quelque chose appelé UID.

Chaque processus en a un et il dicte ce à quoi il peut accéder. En outre, il existe également des groupes qui ont des autorisations que leurs membres peuvent utiliser. Lorsqu'une application a des permissions comme Write to SD card ils sont mis dans un groupe qui a cette permission.

Les autorisations Root constituent une exception puisqu'elles ne sont pas déclarées dans le manifeste de l'application, mais plutôt dans son code. Root n'est pas non plus un groupe mais un UID distinct (comme c'est un utilisateur distinct), il n'est donc pas si facile pour une application de l'utiliser. Les applications qui ont des droits Root doivent être explicitement écrites pour le faire.

Le principe est le suivant : chaque fois qu'une application veut faire quelque chose en tant que Root, elle doit demander l'accès à l'interface de l'application. su binaire pour le faire à la place. su demandera ensuite à l'application qui gère ces autorisations (par exemple, SuperSU) si l'application est autorisée à obtenir l'accès Root. Si ce n'est pas le cas, il vous demandera de l'autoriser ou de le refuser. Ensuite, l'action est exécutée comme root et non en tant qu'utilisateur de l'application. Ces actions ne font pas partie intégrante de l'application mais constituent plutôt un exécutable externe.

Bien qu'il soit théoriquement possible de l'ajouter à une application, il s'agirait d'un processus non trivial nécessitant des connaissances en matière d'écriture de code smali, qui est le format interne de la machine virtuelle Dalvik (la partie du système qui exécute le fichier apk) appelé smali. Et même dans ce cas, il y aurait un énorme risque de sécurité si l'application permettait à d'autres applications d'y accéder : elle ne saurait pas comment séparer l'accès privilégié Root de son accès normal. Donc, en réalité, ce n'est pas vraiment faisable.

2voto

Graeme Evans Points 27

J'ai trouvé un moyen qui pourrait vous aider. Je l'ai utilisé pour accorder l'accès Root à Tasker .

Si vous utilisez l'émulateur de terminal pour accorder l'accès en lecture mais pas en écriture à un dossier à l'aide de la fonction

  • su
  • chmod 775 /location/of/folder/

alors votre éditeur de texte sera en mesure de lire ce répertoire et si vous essayez d'enregistrer un fichier dans le dossier, il demandera l'autorisation Root.

Il se peut aussi qu'une erreur d'écriture se produise.

androidalle.com

AndroidAlle est une communauté de androiders où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X