Existe-t-il un moyen pour moi d’exécuter le shell Adb en tant que root sans taper su
? Je veux pouvoir avoir un accès root sans entrer dans le shell.
la source
Existe-t-il un moyen pour moi d’exécuter le shell Adb en tant que root sans taper su
? Je veux pouvoir avoir un accès root sans entrer dans le shell.
Si je comprends bien votre question, vous demandez comment obtenir automatiquement un accès root lorsque vous l'exécutez adb shell
, de sorte que vous n'ayez pas à entrer dans le shell et à taper su
pour exécuter une commande en tant qu'utilisateur root sur votre téléphone.
Ceci est contrôlé par un indicateur dans votre partition de démarrage, que la plupart des ROM personnalisées ont modifié pour autoriser les droits root par défaut. Si vous tombez sur a $
lorsque vous utilisez, adb shell
vous avez deux options permanentes et une temporaire (temporaire signifiant que cela ne colle pas si vous redémarrez):
adbd
sur votre appareil avec les autorisations rootLe numéro 2 n'est en fait pas si difficile, mais il peut être dangereux si vous êtes négligent. Il y a un article wiki ici qui explique le processus et inclut quelques scripts Perl pour vous aider. Ces instructions supposent un environnement Linux / Unix. J'ai personnellement utilisé ces instructions sur Fedora Linux et je peux vous dire qu'elles fonctionnent, mais je ne connais pas les autres environnements * nix tels que les Mac. Je ne connais pas non plus d’instructions Windows similaires, mais je pourrais essayer d’en retracer certaines si vous utilisez Windows. Les commandes exactes varieront d’un téléphone à l’autre, car différents appareils utilisent différentes tables de partition.
En règle générale, cependant, vous devez extraire votre fichier boot.img actuel de votre téléphone, le décompresser, extraire le disque mémoire, puis rechercher le fichier default.prop . Il s'agit d'un fichier texte que vous devez ouvrir dans un éditeur de texte, puis rechercher la ligne contenant la valeur ro.secure
. Si la ligne indique ro.secure=1
alors vous devez le changer en ro.secure=0
. Après cela, vous pouvez remballer le disque mémoire et le fichier boot.img, puis les envoyer à votre téléphone. Une fois que vous redémarrez, une #
invite vous est adressée chaque fois que vous effectuez adb shell
sans avoir à exécuter su
.
Si vous utilisez une ROM personnalisée sans cette modification, vous pouvez également décompresser la ROM et modifier le fichier boot.img inclus à l'aide des étapes ci-dessus. Ensuite, vous pouvez compresser la ROM avec le fichier boot.img récemment modifié et flasher le fichier zip comme vous le feriez normalement.
Cela va probablement de soi, mais soyez prudent lorsque vous le faites. Jouer avec votre partition de démarrage peut très facilement détruire votre téléphone et vous forcer à récupérer via HBoot. Je recommande fortement de tester Fastboot pour vous assurer que vous pouvez utiliser des commandes Fastboot étendues et effectuer une récupération. Cela varie un peu en fonction de votre modèle, mais la plupart des téléphones disposent d’une sorte de logiciel de bureau qui peut également être utilisé pour afficher le flash.
La troisième option est que dans de nombreux cas, il peut être possible de redémarrer adbd
sur votre appareil avec les privilèges root. Une possibilité consiste à exécuter à adb root
partir d'un terminal PC, bien que cela ne fonctionne pas sur toutes les configurations de ROM (la ROM doit être construite sous la forme d'une "userdebug"). Vous pouvez également essayer l’application non sécurisée adbd de Chainfire . Cela ne persistera pas lors d'un redémarrage, vous devrez donc utiliser l'application ou à adb root
nouveau à chaque fois que vous redémarrez votre téléphone.
adbd
d'avoir l'autorisation root sur le téléphone par défaut. Il y a un message d'un membre de l'équipe Android qui implique cela, mais ne le dit pas explicitement. Cet engagement dans l'AOSP implique également qu'il s'agit simplement d'un indicateur quiadbd
vérifie au démarrage (je ne le vois pas ailleurs dans la source). Comme je l'ai mentionné, la majorité des ROM personnalisées que j'ai vues (y compris les CM) l'ont définie sur 0.adb root
commande permettant de redémarrer adbd en mode auto-su, apparemment, elle repose sur cela. Je pense cependant que vous aviez raison de dire que ce n’est qu’un drapeau.// ... except we allow running as root in userdebug builds if the service.adb.root property has been set by the "adb root" command"
. C'est d'ailleurs ainsi que fonctionnait la première version de BurritoRoot pour le Kindle Fire, IIRC.Eh bien, si votre téléphone est enraciné, vous pouvez exécuter des commandes avec la commande "su -c".
Voici un exemple de commande cat sur le fichier build.prop pour obtenir des informations sur un produit de téléphonie.
Ceci appelle la permission root et exécute la commande dans le ''
Remarquez les 5 guillemets, il est nécessaire de fermer TOUS vos guillemets ou vous obtiendrez une erreur.
Pour clarifier, le format est comme ça.
Assurez-vous que vous entrez EXACTEMENT la commande comme vous le feriez normalement lors de son exécution dans un shell.
Essayez, espérons que cela aide.
la source
Installez simplement adbd Insecure .
la source
Qu'est-ce que vous essayez de lancer en tant que root? Vous dites que vous voulez exécuter le shell ADB avec root mais vous ne voulez pas utiliser le shell ADB? Pouvez-vous clarifier?
Si l'application demande un accès root, l'application SuperUser de votre téléphone doit également lui donner l'autorisation. Le processus dans lequel vous avez enraciné votre téléphone aurait dû inclure une application SuperUser.
la source
adb shell ps
ouadb shell
et ensuiteps
pour obtenir la liste de processus en cours. Donc, certaines choses nécessitent un accès root, je veux pouvoir faire le premier.Alternativement, vous pouvez écrire votre script sur le téléphone et simplement le faire exécuter par adb, par exemple:
Le script peut s’élever lui-même sans votre intervention (en supposant que SuperUser soit configuré pour mémoriser l’approbation), par exemple:
Je viens de le faire avec succès sur mon téléphone, le seul problème étant que je n’ai pas tout à fait compris comment mettre fin proprement à la session du shell publicitaire. Je dois Ctrl-C dans mon shell Windows pour revenir à l'invite de commande Windows - sinon, adb reste assis à l'
#
invite et n'accepte pas les entrées.la source
J'utilise pour échec de problème de bouton home de réparation
périphériques adb
adb shell su -c
commands
ou
shell racine adb sqlite3 /data/data/com.android.providers.settings/databases/settings.db "INSERT INTO secure (nom, valeur) VALUES ('device_provisioned', '1');"
adb kill-server
la source
Vous pouvez également définir le bit suid sur votre "sh". J'utilise BusyBox pour que les instructions ne correspondent pas à votre configuration:
-rwsr-xr-x shell racine 157520 2012-11-10 09:54 mksh (notez que le bit suid est défini)
et vous devriez avoir l'invite de la racine
la source
mksh
responsable.)