He rooteado mi dispositivo HTC Evo Design 4G y trato de adb pull /data data
y dice "0 files pull 0 file skipped"
Pude sacar /System/build.prop
. ¿Cómo puedo extraer la carpeta root?
He rooteado mi dispositivo HTC Evo Design 4G y trato de adb pull /data data
y dice "0 files pull 0 file skipped"
Pude sacar /System/build.prop
. ¿Cómo puedo extraer la carpeta root?
Archivos y directorios siguientes /data/data
están protegidos del "usuario medio", por lo que no se puede simplemente "tirar" de ellos a menos que el demonio ADB se esté ejecutando en modo Root. Aparte del archivo al que te referías ( /system/buildprop
es como mínimo legible por todas las aplicaciones), carpetas a continuación /data/data
son "invisibles" (excepto para Root), por lo que ni siquiera pueden leerse.
Para poder utilizar adb pull
en ellos, necesitas hacer que tu demonio ADB se ejecute primero en modo Root. Dependiendo del dispositivo, un simple adb root
comando podría hacer eso - pero la mayoría de los dispositivos se niegan a hacer. En esos casos, puede utilizar el comando adbd inseguro : Instala esta aplicación en tu dispositivo, iníciala allí y cambia manualmente al modo "inseguro". Ahora la pull
debería tener éxito.
Observación: Se llama "inseguro" porque correr adbd
ya que Root permite a cualquiera con un ordenador y un cable USB acceder a todo lo que hay en tu dispositivo. Sólo en caso de que usted se pregunta.
Gracias. Aparte de la chainfire adbd inseguro, ¿Puedo establecer ro.secure bandera en construir la propiedad? ¿Puedo usar adb shell setprop ro.secure 0?
No lo he probado nunca, ni sé exactamente para qué sirve esa bandera, así que no puedo decirlo. (Por cierto: si la respuesta te ha resultado útil, te invito a "upvote" it (la forma SE de decir "gracias") - o "aceptarlo cuando solucionó nuestro problema ;)
Si tu teléfono está rooteado, hay tres formas de evitarlo. La primera es utilizar ADBD inseguro .
La otra es moverlo a otra carpeta con Root y luego tirar de ahí:
$ 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
Creo que se puede construir un script como:
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
y guárdalo en algún sitio.
Por último, la tercera opción es chmod -R 1777 /data/data
pero esto es mucho más inseguro, por lo que se desaconseja.
No se puede tirar de la carpeta de datos directamente ya que adb no tiene acceso al listado de archivos. Si desea tirar de la carpeta /data puede hacerlo a través de la recuperación ([Custom recovery, CWM/TWRP] ejecutar adb mientras el dispositivo está en modo de recuperación, con suerte una recuperación personalizada). O como Root, copia /data a otro directorio (sdcard) y sácalo de ahí.
Gracias, señor. Pero yo era capaz de tirar build.prop archivo en /System carpeta. adb shell su y entonces puedo lista de archivos en la carpeta root. He leído en una búsqueda en Google ajuste ro.secure build propiedad a 0 ayudará a tirar /data. ¿Es esto cierto? Si es así, ¿hay alguna manera de hacerlo?
Puede extraer build.prop porque /system tiene permiso de listado. Puedes cambiar ro.secure=0 en tu boot.img, pero ese es un paso realmente complejo. Sería más fácil de instalar una recuperación personalizada y hacerlo desde allí.
¡Muchas gracias! Mi propósito principal del esfuerzo es la implementación de una aplicación relacionada con la medicina forense como un proyecto de fin de carrera universitaria. Tengo mucho miedo de que al instalar el custom recovery se borren las evidencias del dispositivo. ¿Tienes alguna idea sobre el tema.
Esto es lo que me ha funcionado a mí:
Asegúrate de que estás usando la última versión de ADB.
Inicie la sesión ADB: adb shell
Obtener derechos SU una vez en la sesión ADB todo lo que tienes que hacer es escribir su
así: su
. Entonces se dará cuenta de que el $
se convierte en #
.
Crear una carpeta en el /sdcard
del dispositivo: mkdir /sdcard/data/
Diríjase a root del archivo que desea copiar.
/data/app #
Un ejemplo de lo que obtengo si ls
esa carpeta:
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'
Para copiar recursivamente con el ADB cp
utilice la opción -R
y como quería copiar todo lo que contenía, utilicé el comodín *
así: cp -R */ /sdcard/data/
¡Una vez que presione enter, si el archivo es bastante grande, obviamente tomará un tiempo copiar los archivos, por lo que el cursor parpadeará durante un rato, parecerá que no está haciendo nada, PERO LO ESTÁ HACIENDO! está copiando los archivos, ¡así que no se asuste! y ¡no detenga el proceso!
ls
y deberías ver que la carpeta vacía se está llenando con los archivos. Una vez finalizada la transferencia, recuperarás tu shell.Dirígete al sdcard/data
y asegúrese de que todo fue copiado 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'**
Llegados a este punto, si no has creado una carpeta en el equipo de destino, hazlo. Yo he creado una carpeta llamada apps
Ahora, vamos a hacer el elusivo ADB PULL recursivo de todos los archivos a la vez:
Asegúrate de que has salido de la sesión ADB, ya que hemos estado en modo SU, necesitaremos salir dos veces:
root@m1:/sdcard/data # exit shell@m1:/ $ exit
Desde una sesión shell normal, ejecute el comando adb pull
no tiene por qué utilizar el -a
opción, yo personalmente lo uso para mantener la integridad de la archivos tanto como sea posible. Ejecute el comando: adb pull -a /sdcard/data/ apps/
Deberías ver algo como esto:
[ 69%] /sdcard/data/com.google.android.gms-1/base.apk: 74%
Una vez hecho:
/sdcard/data/: 296 files pulled. 5.1 MB/s (1193942288 bytes in 221.352s)
Y ¡voilá!
Notas al margen:
Funciona en mi dispositivo Android 7.1. Pasos para conseguir que funcione:
adb shell
en su directorio adbsu
así que usted puede conseguir el "#"setenforce 0
Ahora puede adb pull en su PC.
PreguntAndroid es una comunidad de usuarios de Android en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.
2 votos
¿Has corrido
adb root
¿primero?1 votos
Sí, pero adb Root no tuvo éxito. No hay permiso. Pero pude adb shell su. Da #.