adb pull / data başarısız


19

HTC Evo Design 4G cihazımı rootladım ve çekme / veri verilerini adb etmeye çalışıyorum ve "0 dosya 0 dosya atlandı" yazıyor

/System/build.prop dosyasını çekebildim. Kök klasörü nasıl çekebilirim.

Teşekkür ederim iua


1
adb rootÖnce koştun mu?
onik

Evet, ama adb root başarılı olmadı. İzin yok. Ama shell su adb alabilirim. O verir #.
user3734225

Yanıtlar:


20

Aşağıdaki dosyalar ve dizinler /data/data"ortalama kullanıcı" dan korunur, bu nedenle ADB arka plan programı kök modunda çalışmadığı sürece bunları "çekemezsiniz". Bahsettiğiniz dosya dışında ( /system/buildpropen azından tüm uygulamalar tarafından okunabilir ), aşağıdaki klasörler /data/data"görünmez" dir (kök hariç), bu yüzden okunamazlar.

Bunları kullanabilmek adb pulliçin, önce ADB arka plan programının kök modunda çalışmasını sağlamanız gerekir. Cihaza bağlı olarak, basit bir adb rootkomut bunu yapabilir - ancak çoğu cihaz bunu yapmayı reddeder. Bu gibi durumlarda chainfire'ın güvenli olmayan güvenliğini kullanabilirsiniz : Bu uygulamayı cihazınıza yükleyin, oradan başlatın ve manuel olarak "güvensiz" moda geçin. Şimdi pullbaşarılı olmalı.

Not: Buna "güvensiz" denir, çünkü adbdroot olarak çalıştırmak herkese bir bilgisayar ve bir USB kablosuyla cihazınızdaki her şeye erişim sağlar. Merak ediyorsanız.


Teşekkürler! Chainfire adbd güvensizlik dışında, build mülkiyetinde ro.secure bayrağı ayarlayabilir miyim? Adb shell setprop ro.secure 0 kullanabilir miyim?
user3734225

Bunu hiç denemedim, bu bayrağın ne için olduğunu tam olarak bilmiyorum - bu yüzden söyleyemem. (Btw: Cevabı yararlı bulduysanız, "upvote" ("teşekkürler" demenin SE yolu) - veya sorununuzu çözdüğünde "kabul et" e hoş geldiniz ;)
Izzy

1
adbd benim için güvensiz iş :)
user3734225 6:14

6

Telefonunuz köklü ise, bu sorunu çözmenin üç yolu vardır. Birincisi ADBD güvensizliğini kullanmaktır .

Diğeri ise root ile başka bir klasöre taşımak ve daha sonra oradan çekmek:

$ 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

Bence böyle bir senaryo oluşturabilirsiniz:

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

ve bir yere kaydedin.

Son olarak, üçüncü seçenek chmod -R 1777 /data/data, ama bu çok daha güvensiz, bu yüzden cesaret kırıcı.


Ne anlama $1/*geldiğini sorabilir miyim ? Öyle mi /data/datadizin?
Emen

hevesli cevap
Dan Bradbury

5

Adb'nin dosya listeleme erişimi olmadığı için veri klasörünü doğrudan çekemezsiniz. / Data klasörünü çekmek isterseniz, kurtarma yoluyla yapabilirsiniz ([Özel kurtarma, CWM / TWRP] cihaz kurtarma modundayken adb'yi çalıştırın, umarım özel bir kurtarma). Veya root olarak / verileri başka bir dizine (sdcard) kopyalayın ve oradan çekin.


Teşekkür ederim. Ancak / System klasöründe build.prop dosyasını alabildim. adb shell su ve sonra kök klasördeki dosyaları listeleyebilirim. Ben bir Google arama ayarında okudum ro.secure build özelliği 0 çekmek / veri yardımcı olacaktır. Bu doğru mu? Eğer öyleyse bunu yapmanın bir yolu var mı?
user3734225

/ System listeleme iznine sahip olduğundan build.prop dosyasını çekebilirsiniz. Boot.img dosyasında ro.secure = 0 değerini değiştirebilirsiniz, ancak bu gerçekten karmaşık bir adımdır. Sadece özel bir kurtarma yüklemek ve oradan yapmak daha kolay olurdu.
Hiemanshu Sharma

Çok teşekkür ederim! Çabadaki temel amacım üniversite son sınıf projesi olarak adli tıp ile ilgili bir uygulama yapmak. Gerçekten korkuyorum, özel kurtarma yüklemek cihazdaki kanıtları silecek. Konu hakkında bir fikrin var mı?
user3734225

Önceki yorumuma ekleme - adb shell setprop'un kullanımı nedir? Bu durumda kullanamaz mıyım?
user3734225

1
Telefonun rootlanmasına ve hata ayıklamanın açık olmasına dayanan bir adli kurtarma programı çok kullanışlı görünmüyor.
Dan Hulme

1

BÖLÜM I: Tüm dosyaları bir ADB ÇEKME için hazır hale getirme

Bu benim için çalıştı: * En son ADB sürümünü kullandığınızdan emin olun.

  • ADB oturumunu başlatın:

'infocus $ adb shell'

  • ADB oturumunda bir kez SU haklarını alın, tek yapmanız gereken "su" türünde olduğu gibi:

'shell @ m1: / $ su'

Sonra "$" ın "#" olduğunu fark edeceksiniz, şöyle:

'root @ m1: / #'

- Karma, SU modunda olduğunuzu bilmenizi sağlar.

  • Cihazın / sdcard'ında bir klasör oluşturun

'root @ m1: / # mkdir / sdcard / data /'

* kopyalamak istediğiniz dosyanın köküne gidin -Önce örneğin uygulamalarımın bir yedeğini / kopyasını yapmak ve bilgisayarımda saklamak istedim:

'root @ m1: / data / app #'

  • Ben bu klasörü "ls" ne olsun bir örnek:

'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. otomat-2'

  • ADB "cp" komutuyla özyinelemeli olarak kopyalamak için "-R" seçeneğini kullanın ve içindeki her şeyi kopyalamak istediğim için "*" joker karakterini kullandım:

'root @ m1: / veri / uygulama # cp -R * / / sdcard / veri /'

  • Enter tuşuna bastıktan sonra, dosya oldukça büyükse, dosyaları kopyalamak biraz zaman alacaktır, bu nedenle imleç bir süre boşta yanıp sönecek, bir şey yapmıyormuş gibi görünecektir, AMA IS! dosyaları kopyalıyor, bu yüzden panik yapmayın! ve süreci durdurma !!! -Eğer başka bir ADB kabuk oturumu açın ve dosyaları aktardığınız klasöre gidin ve "ls" kontrolü yapın ve boş klasörün artık dosyalar ile doldurulduğunu görmelisiniz. Aktarım tamamlandığında kabuğunuzu geri alırsınız.

  • "Sdcard / data" gidin ve her şeyin "ls" kopyalandığından emin olun:

'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'

BÖLÜM II: ADB ÇEKME

  • Bu noktaya kadar hedef makinede bir klasör oluşturmadıysanız, bunu yapın. "Apps" adında bir klasör oluşturdum

  • Şimdi, tüm dosyaların bir kerede yinelenen ADB PULL'unu bir kerede yapalım: -ADB oturumundan çıkış yaptığınızdan emin olun, SU modunda olduğumuzdan iki kez çıkmamız gerekecek:

'root @ m1: / sdcard / data # exit'
'kabuk @ m1: / $ exit'

  • Normal bir kabuk oturumu "adb pull" çalıştırmak, "-a" seçeneğini kullanmak zorunda değilsiniz, ben kişisel olarak mümkün olduğunca dosyaların bütünlüğünü tutmak için kullanın. - komutu çalıştırın:

'AtomicusZro $ adb pull -a / sdcard / data / apps /'

Bunun gibi bir şey görmelisin:

'[% 69] /sdcard/data/com.google.android.gms-1/base.apk:% 74'

Tamamlandığında:

'/ sdcard / data /: 296 dosya çekildi. 5,1 MB / s (221.352s'de 1193942288 bayt) '

Ve Voila!

Yan Notlar:
.Önemli olup olmadığını bilmiyorum ama Mac kullanıyorum.
. ADB oturumunda "su ayrıcalıkları" da alamıyorsanız:
1: Muhtemelen ADB root erişimi vermeniz gerekir
2: "süper kullanıcı" doğru yüklenmemiş
.

İyi şanslar.-


Bunun için kök salmam gerekmiyor mu?
neverMind9

0

Android 7.1 cihazımda çalışıyor. çalışmasını sağlamak için adımlar:

  1. https://nofile.io/f/86605d8qsJs/adbd-Insecure-v2.00.apk adresinden leroy adbd güvensiz sürümünü indirin
  2. telefonunuza yükleyin.
  3. adb dizininizde adb shell'i çalıştırın
  4. u yazıp "#" alabilirsiniz
  5. "setenforce 0" yazın
  6. güvenli olmayan etkinleştirmek. usb hata ayıklama kapanır
  7. USB hata ayıklamasını geliştirici seçeneklerinden açma ve kapatma
  8. güvensiz ve tekrar açın.

şimdi pc içine çekin adb yapabilirsiniz.

Bu yardımcı olur umarım


Haris

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.