J'ai enraciné mon appareil HTC Evo Design 4G et j'essaie de tirer adb pull /data data et il dit "0 files pull 0 file skipped".
J'ai pu extraire /System/build.prop. Comment puis-je extraire le dossier racine ?
Merci à vous iua
J'ai enraciné mon appareil HTC Evo Design 4G et j'essaie de tirer adb pull /data data et il dit "0 files pull 0 file skipped".
J'ai pu extraire /System/build.prop. Comment puis-je extraire le dossier racine ?
Merci à vous iua
Fichiers et répertoires ci-dessous /data/data
sont protégés de l'"utilisateur moyen", vous ne pouvez donc pas simplement les "tirer" à moins que le démon ADB ne fonctionne en mode racine. À part le fichier auquel vous faites référence ( /system/buildprop
est au moins lisible par toutes les applications), les dossiers ci-dessous /data/data
sont "invisibles" (sauf pour Root), de sorte qu'ils ne peuvent même pas être lus.
Pour être en mesure d'utiliser adb pull
sur eux, vous devez d'abord faire fonctionner votre démon ADB en mode racine. Selon l'appareil, un simple adb root
La commande pourrait le faire - mais la plupart des appareils refuseront de le faire. Dans ce cas, vous pouvez utiliser la commande de chainfire adbd non sécurisé : Installez cette application sur votre appareil, lancez-la à cet endroit, et passez manuellement en mode "non sécurisé". Maintenant, le pull
devrait réussir.
Remarque : C'est appelé "non sécurisé" parce que courir adbd
car Root permet à toute personne disposant d'un ordinateur et d'un câble USB d'accéder à tout ce qui se trouve sur votre appareil. Juste au cas où vous vous poseriez la question.
Si votre téléphone est enraciné, il y a trois façons de contourner ce problème. La première consiste à utiliser Insécurité de l'ADBD .
L'autre possibilité est de le déplacer dans un autre dossier avec Root et de le tirer de là :
$ adb shell
shell@android:/ $ su
root@android:/ # mkdir /sdcard/data
root@android:/ # cp /data/data/* /sdcard/data
root@android:/ # exit
shell@android:/ $ exit
$ adb pull /sdcard/data .
$ adb shell
shell@android:/ $ rm -r /sdcard/data/
shell@android:/ $ exit
Je pense que vous pouvez construire un script tel que :
echo 'echo "mkdir /sdcard/data; cp $1/* /sdcard/data; exit" | su; exit' | adb shell
adb pull /sdcard/data .
echo 'rm -r /sdcard/data; exit' | adb shell
et le sauvegarder quelque part.
Enfin, la troisième option est chmod -R 1777 /data/data
mais c'est beaucoup moins sûr et c'est donc fortement déconseillé.
Vous ne pouvez pas tirer le dossier de données directement puisque adb n'a pas accès à la liste des fichiers. Si vous voulez extraire le dossier /data, vous pouvez le faire via la récupération ([Récupération personnalisée, CWM/TWRP] exécutez adb lorsque l'appareil est en mode récupération, en espérant qu'il s'agisse d'une récupération personnalisée). Ou en tant que Root, copiez /data dans un autre répertoire (sdcard) et extrayez-le de là.
Voici ce qui a fonctionné pour moi : * Assurez-vous que vous utilisez la dernière version d'ADB.
'infocus$ adb shell'
shell@m1:/ $ su'
Vous remarquerez alors que le "$" devient "#", comme ceci :
'Root@m1:/ #'
-Le dièse vous indique que vous êtes en mode SU.
"Root@m1:/ # mkdir /sdcard/data/
*Allez à la racine du fichier que vous voulez copier. -Par exemple, je voulais faire une sauvegarde/copie de mes applications et la stocker sur mon ordinateur :
Root@m1:/data/app #'
Root@m1:/data/app # ls
com.abtnprojects.ambatana-1
com.acr.rootfilemanager-1
com.amazon.kindle-1
com.Android.chrome-1
com.Android.mms-1
com.Android.vending-2'
'Root@m1:/data/app # cp -R */ /sdcard/data/ '
Une fois que vous avez appuyé sur entrée, si le fichier est assez grand, il faudra évidemment un certain temps pour copier les fichiers, donc le curseur va clignoter pendant un moment, il aura l'air de ne rien faire, MAIS IL LE FAIT ! il copie les fichiers, donc ne paniquez pas ! et n'arrêtez pas le processus !!! -Si vous voulez, ouvrez une autre session shell ADB et allez dans le dossier où vous transférez les fichiers. où vous transférez les fichiers et faites une vérification "ls" et vous devriez voir que le dossier vide est maintenant rempli avec les fichiers. Une fois le transfert terminé, vous retrouverez votre shell.
Allez dans "sdcard/data" et vérifiez que tout a été copié "ls" :
Root@m1:/sdcard/data # ls
com.abtnprojects.ambatana-1
com.acr.rootfilemanager-1
com.amazon.kindle-1
com.Android.chrome-1
com.Android.mms-1
À ce stade, si vous n'avez pas créé de dossier sur la machine cible, faites-le. J'ai créé un dossier appelé "apps".
Maintenant, faisons l'insaisissable récursif ADB PULL de tous les fichiers à la fois : Assurez-vous d'être déconnecté de la session ADB, puisque nous sommes en mode SU. mode SU, nous devrons sortir deux fois :
Root@m1:/sdcard/data # exit'
shell@m1:/ $ exit
'AtomicusZro$ adb pull -a /sdcard/data/ apps/'
Vous devriez voir quelque chose comme ceci :
' [69%] /sdcard/data/com.google.Android.gms-1/base.apk : 74%'
Une fois que c'est fait :
'/sdcard/data/ : 296 fichiers extraits. 5,1 Mo/s (1193942288 octets en 221,352 s)'.
Et voilà !
Notes secondaires :
Je ne sais pas si ça compte, mais j'utilise un Mac.
Si pendant la session ADB vous ne pouvez pas obtenir les privilèges "su" non plus :
1er : Vous devez probablement donner à ADB un accès Root.
2ème : "super user" il n'est pas installé correctement
Vérifiez vos commandes.
Bonne chance.
Fonctionne sur mon appareil Android 7.1. Les étapes à suivre pour le faire fonctionner :
vous pouvez maintenant accéder à votre PC par adb pull.
J'espère que cela vous aidera
Haris
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.