1 votes

Une application qui survit à une réinitialisation d'usine

Pour l'instant, mon problème est théorique. Je cherche à savoir si c'est possible ou non, avant d'y consacrer des heures.

  • J'ai un téléphone enraciné.
  • Je veux ajouter une entrée dans les IPTABLES au démarrage.
  • Si le téléphone est réinitialisé, je veux quand même que l'entrée soit ajoutée à IPTABLES.

Mes pensées jusqu'à présent sont :

  1. Modifier l'image de démarrage et rendre le init.rc permanent, mais je pense que c'est trop effrayant et risqué.
  2. Créez une application (apk) qui sera installée dans l'ordinateur de l'utilisateur. /system/app qui exécute la commande ITPABLES.

Quelles sont mes chances de réussir avec le numéro 2 ?

Pour exécuter IPTABLES l'apk a besoin de Root, le téléphone est rooté, mais est-ce que l'application a un accès Root juste parce qu'elle est dans le téléphone ? /system/app ? Les applications normales déclenchent SuperSU pour accorder le Root à l'application, mais je veux qu'il fasse la chose IPTABLES sans aucune popup. Le tout sans surveillance.

3voto

Milner Points 533

Vos chances d'obtenir le numéro 2 sont plutôt bonnes, mais il y a peut-être quelques réserves à faire. Pour les déterminer, regardons ce qu'est une Réinitialisation en usine fait. Il...

  • lingettes /data
  • lingettes /cache
  • essuie le dalvik (généralement de manière implicite, car dans la plupart des cas, elle réside dans le /data Je suppose qu'avec Lollipop, il en sera de même pour ART).

Donc vous voyez, /system reste intacte. Avec votre application installée dans /system/app il survivra à une réinitialisation en usine. Mais son données pourrait ne pas l'être, comme /data s'efface. Cela signifie que tous les paramètres requis doivent faire partie de l'application elle-même, ou de ses "paramètres par défaut" qui sont déployés lors de la première activation.

Pour la deuxième partie : Il vaut mieux poser cette question sur un site de développement (ce que nous ne sommes pas). Fondamentalement, aucune application n'obtient l'accès Root par défaut AFAIK. Elles ont accès à tout ce que leurs permissions autorisent (et oui, il y a des permissions qui peuvent être accordées aux applications système qui ne sont pas disponibles pour les "applications de l'espace utilisateur") - mais pour l'accès Root, vous devez demander su ce qui devrait déclencher l'application superutilisateur correspondante.

PS : Pour ce qui est de la popup SuperSU, vous devrez vous en accommoder. pour le premier appel J'ai peur.

1voto

user1261104 Points 299

Il existe des applications qui survivent à une réinitialisation d'usine, la plus connue étant Cerberus. Vous l'installez en tant qu'application système via la récupération et après cela, elle survit à presque tout. Après une réinitialisation d'usine, elle est toujours capable de faire des choses comme prendre des photos, suivre la localisation, etc. Donc je dirais que ce que vous essayez d'accomplir doit certainement être possible. Je ne suis pas un développeur, donc je ne peux pas vous montrer exactement comment faire.

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