kéo / dữ liệu adb không thành công


19

Tôi đã root thiết bị HTC Evo Design 4G của mình và tôi cố gắng adb pull / data data và nó báo "0 file pull 0 file bị bỏ qua"

Tôi đã có thể kéo / System / build.prop. Làm thế nào tôi có thể kéo thư mục gốc.

Cảm ơn bạn


1
Bạn đã chạy adb roottrước?
onik

Có, nhưng adb root không thành công. Không cho phép. Nhưng tôi có thể adb shell su. Nó cho #.
dùng3734225

Câu trả lời:


20

Các tệp và thư mục bên dưới /data/datađược bảo vệ khỏi "người dùng trung bình", do đó bạn không thể "kéo" chúng trừ khi trình nền ADB đang chạy ở chế độ gốc. Khác với tệp bạn đang đề cập ( /system/buildpropít nhất là có thể đọc được bởi tất cả các ứng dụng), các thư mục bên dưới /data/datalà "vô hình" (ngoại trừ root), do đó chúng thậm chí không thể đọc được.

Để có thể sử dụng adb pullchúng, trước tiên bạn cần làm cho daemon ADB của bạn chạy ở chế độ root. Tùy thuộc vào thiết bị, một adb rootlệnh đơn giản có thể làm điều đó - nhưng hầu hết các thiết bị sẽ từ chối thực hiện. Trong những trường hợp đó, bạn có thể sử dụng adbd không an toàn của chainfire : Cài đặt ứng dụng này trên thiết bị của bạn, khởi động nó ở đó và tự chuyển sang chế độ "không an toàn". Bây giờ pullnên thành công.

Lưu ý: Nó được gọi là "không an toàn" vì việc chạy adbdbằng root giúp mọi người có máy tính và cáp USB truy cập mọi thứ trên thiết bị của bạn. Chỉ trong trường hợp bạn tự hỏi.


Thamk bạn! Ngoài chuỗi bảo mật adbd không an toàn, tôi có thể đặt cờ ro.secure trong thuộc tính xây dựng không? Tôi có thể sử dụng adb shell setprop ro.secure 0 không?
dùng3734225

Tôi chưa bao giờ thử điều đó, tôi cũng không biết chính xác lá cờ đó dùng để làm gì - vì vậy tôi không thể nói. (Btw: nếu bạn tìm thấy câu trả lời hữu ích, bạn được hoan nghênh "upvote" nó (cách SE để nói "cảm ơn") - hoặc "chấp nhận" nó khi nó giải quyết vấn đề của chúng tôi;)
Izzy

1
adbd không an toàn làm việc cho tôi :)
user3734225

6

Nếu điện thoại của bạn bắt nguồn, có ba cách để giải quyết vấn đề này. Đầu tiên là sử dụng ADBD không an toàn .

Một cái khác là di chuyển nó đến một thư mục khác bằng root và sau đó kéo nó từ đó:

$ 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

Tôi nghĩ bạn có thể xây dựng một kịch bản như:

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

và lưu nó ở đâu đó.

Cuối cùng, tùy chọn thứ ba là chmod -R 1777 /data/data, nhưng điều này không an toàn hơn nhiều, vì vậy nó rất nản lòng.


Tôi có thể hỏi những gì $1/*đề cập đến? Có phải là /data/datathư mục?
Emen

câu trả lời đầy suy nghĩ
Dan Bradbury

5

Bạn không thể kéo thư mục dữ liệu trực tiếp vì adb không có quyền truy cập danh sách tệp vào nó. Nếu bạn muốn kéo thư mục / data, bạn có thể thực hiện thông qua recovery ([Phục hồi tùy chỉnh, CWM / TWRP] chạy adb trong khi thiết bị ở chế độ phục hồi, hy vọng phục hồi tùy chỉnh). Hoặc là root, sao chép / dữ liệu sang thư mục khác (sdcard) và kéo nó từ đó.


Cảm ơn bạn. Nhưng tôi đã có thể kéo tập tin build.prop trong thư mục / System. adb shell su và sau đó tôi có thể liệt kê các tập tin trong thư mục gốc. Tôi đọc trong một cài đặt tìm kiếm Google thuộc tính xây dựng ro.secure thành 0 sẽ giúp kéo / dữ liệu. Điều này có đúng không? Nếu vậy có cách nào để làm điều đó?
dùng3734225

Bạn có thể kéo build.prop vì / system có quyền liệt kê. Bạn có thể thay đổi ro.secure = 0 trong boot.img của mình, nhưng đó là một bước thực sự phức tạp. Sẽ dễ dàng hơn nếu chỉ cài đặt một phục hồi tùy chỉnh và thực hiện nó từ đó.
Hiemanshu Sharma

Cảm ơn nhiều! Mục đích chính của tôi là nỗ lực thực hiện một ứng dụng pháp y liên quan như một dự án năm cuối đại học. Tôi thực sự sợ, cài đặt phục hồi tùy chỉnh sẽ xóa sạch bằng chứng từ thiết bị. Bạn có bất cứ ý tưởng về chủ đề này.
dùng3734225

Thêm vào nhận xét trước đây của tôi - Việc sử dụng setprop shell adb là gì? Tôi không thể sử dụng nó trong trường hợp này?
dùng3734225

1
Một chương trình phục hồi pháp y dựa trên điện thoại đã được root và bật gỡ lỗi không nghe có vẻ rất hữu ích.
Dan Hulme

1

PHẦN I: Chuẩn bị tất cả các tệp cho ADB PULL

Đây là những gì làm việc cho tôi: * Hãy chắc chắn rằng bạn đang sử dụng phiên bản ADB mới nhất.

  • Bắt đầu phiên ADB:

'vỏ tập trung $ adb'

  • Nhận quyền SU một lần trong phiên ADB, tất cả những gì bạn phải làm là gõ "su" như vậy:

'shell @ m1: / $ su'

Sau đó, bạn sẽ nhận thấy rằng "$" trở thành "#", như vậy:

'root @ m1: / #'

-Bạn băm cho bạn biết bạn đang ở chế độ SU.

  • Tạo một thư mục trên / sdcard của thiết bị

'root @ m1: / # mkdir / sdcard / dữ liệu /'

* đi đến thư mục gốc của tệp bạn muốn sao chép - Ví dụ như tôi muốn tạo bản sao lưu / sao chép ứng dụng của mình và lưu trữ trên máy tính của mình để:

'root @ m1: / data / app #'

  • Một ví dụ về những gì tôi nhận được nếu tôi "ls" thư mục đó:

'root @ m1: / data / app # ls
com.abtnprojects.ambatana-1
com.acr.rootfilemanager-1
com.amazon.kulum-1
com.android.chrome-1
com.android.mms-1
com.android. bán hàng tự động-2 '

  • Để sao chép đệ quy bằng lệnh "cp" của ADB, hãy sử dụng tùy chọn "-R" và vì tôi muốn sao chép mọi thứ trong đó, tôi đã sử dụng ký tự đại diện "*" như vậy:

'root @ m1: / data / ứng dụng # cp -R * / / sdcard / data /'

  • Khi bạn nhấn enter, nếu tệp khá lớn, rõ ràng sẽ mất một lúc để sao chép các tệp, vì vậy con trỏ sẽ nhàn rỗi nhấp nháy một chút, nó sẽ trông giống như nếu không làm gì cả, NHƯNG NÓ! nó đang sao chép các tập tin, vì vậy đừng hoảng sợ! và đừng dừng quá trình !!! -Nếu bạn chỉ muốn mở một phiên shell ADB khác và đi đến thư mục nơi bạn đang chuyển các tệp và thực hiện kiểm tra "ls" và bạn sẽ thấy rằng thư mục trống hiện đang được điền vào các tệp. Sau khi chuyển xong, bạn sẽ lấy lại vỏ của mình.

  • Đi tới "sdcard / dữ liệu" và đảm bảo mọi thứ đã được sao chép "ls":

'root @ m1: / sdcard / data # ls
com.abtnprojects.ambatana-1
com.acr.rootfilemanager-1
com.amazon.kulum-1
com.android.chrome-1
com.android.mms-1'

PHẦN II: PULL ADB

  • Đến lúc này nếu bạn chưa tạo thư mục trên máy đích, hãy làm như vậy. Tôi thuận tiện tạo một thư mục gọi là "ứng dụng"

  • Bây giờ, chúng ta hãy thực hiện ADB PULL đệ quy khó nắm bắt của tất cả các tệp cùng một lúc: -Hãy chắc chắn rằng bạn đã đăng xuất khỏi phiên ADB, vì chúng tôi đang ở chế độ SU, chúng tôi sẽ cần phải thoát hai lần:

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

  • Từ phiên shell thông thường chạy "adb pull", bạn không phải sử dụng tùy chọn "-a", cá nhân tôi sử dụng nó để giữ tính toàn vẹn của các tệp càng nhiều càng tốt. - chạy lệnh:

'AtomicusZro $ adb kéo -a / sdcard / dữ liệu / ứng dụng /'

Bạn sẽ thấy một cái gì đó như thế này:

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

Khi đã xong:

'/ sdcard / data /: 296 tập tin được kéo. 5,1 MB / s (1193942288 byte trong 221.352 giây) '

Và Voila!

Ghi chú bên:
Không biết có vấn đề gì không nhưng tôi sử dụng máy Mac.
.Nếu trong khi trên phiên ADB bạn không thể có được "đặc quyền su" hoặc là:
1: Bạn có thể cần phải cung cấp cho ADB truy cập root
2: "siêu người dùng" nó không được cài đặt một cách chính xác
.Double kiểm tra lệnh của bạn

Chúc may mắn.-


Tôi không cần phải được bắt nguồn từ đó?
neverMind9

0

làm việc trên thiết bị Android 7.1 của tôi. các bước để làm cho nó hoạt động:

  1. tải xuống phiên bản không an toàn của adbd bởi leroy tại https://nofile.io/f/86605d8qsJs/adbd-Insecure-v2.00.apk
  2. cài đặt trong điện thoại của bạn.
  3. chạy shell adb trong thư mục adb của bạn
  4. gõ "su" để bạn có thể nhận được "#"
  5. gõ "setenforce 0"
  6. cho phép adbd không an toàn. gỡ lỗi usb tắt
  7. bật và tắt usb từ tùy chọn nhà phát triển
  8. tắt adbd không an toàn và bật lại.

bây giờ bạn có thể adb kéo vào máy tính của bạn.

Hi vọng điêu nay co ich


Haris

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.