Sao lưu / Khôi phục SMS / MMS qua ADB trên thiết bị chưa root?


10

Có cách nào để sao lưu / khôi phục tin nhắn SMS và MMS bằng ADB, khi thiết bị chưa được root?

  • adb pullSẽ không hoạt động ở đây, vì /data/data/com.android.providers.telephony/databases/mmssms.dbADB không thể đọc được cơ sở dữ liệu tương ứng ( ) nếu nó không chạy ở chế độ không an toàn (root)
  • adb shell "cat /data/data/com.android.providers.telephony/databases/mmssms.db > /sdcard/mmssms.db không hoạt động hoặc không có quyền truy cập root
  • adb backup vì một số lý do không bao gồm cơ sở dữ liệu này trên thiết bị mà tôi đã kiểm tra (sao lưu trống - chỉ 41 byte của tiêu đề sao lưu trong tệp kết quả)

Tôi đặc biệt tự hỏi tại sao adb backupkhông bao gồm điều này. Nếu đó là vì "lý do riêng tư", thì điều tương tự sẽ được áp dụng cho cơ sở dữ liệu danh bạ - rõ ràng đã được sao lưu.

Người giới thiệu:

Vì vậy, bất kỳ giải pháp trên một thiết bị không root? Lưu ý rằng tôi KHÔNG yêu cầu một giải pháp dựa trên ứng dụng. Tôi hoàn toàn biết rằng có một số ứng dụng có sẵn cho việc này . Tôi đặc biệt muốn có một "giải pháp dựa trên vỏ", được sử dụng thông qua ADB.


" Tôi KHÔNG yêu cầu giải pháp dựa trên ứng dụng " - Pháp y lại?
Firelord

1
Tốt nhất là có (đối với những người đọc khác: các giải pháp ưa thích không yêu cầu bất kỳ điều gì được sửa đổi trên thiết bị). Xem xét câu hỏi thiết bị đã báo cáo "không đủ bộ nhớ", do đó không thể cài đặt một cái gì đó. Vì thiết bị cũng hoạt động kỳ lạ trong bối cảnh khác, phải thực hiện khôi phục cài đặt gốc - vì vậy sẽ rất tốt nếu "lưu" càng nhiều dữ liệu càng tốt. Tôi đã có thể sao lưu hầu hết mọi thứ thông qua adb backup: một vài ngoại lệ, hầu hết trong số chúng không thể biết được, nhưng người dùng rất thích giữ SMS mà không được bảo hiểm.
Izzy

Này đó! Xin lỗi để làm phiền bạn đã bao giờ một giải pháp cho điều này mà không cần root? Danh sách ứng dụng xuất sắc của BTW, cảm ơn bạn vì liên kết đó!
Gruber

1
@Gruber Không, vẫn không tìm thấy gì. // Vui mừng bạn thích danh sách ứng dụng của tôi!
Izzy

Câu trả lời:


6

Tôi đặc biệt tự hỏi tại sao sao lưu adb không bao gồm điều này.

Nó không phải là adb backupkhông muốn bao gồm các ứng dụng com.android.providers.telephony. Ứng dụng này không khác nhiều so với bất kỳ ứng dụng hệ thống nào khác dựa trên nó AndroidManifest.xml. Vấn đề là với cờ mà nhà phát triển của nó đã tuyên bố trong tệp kê khai mà như một cơ chế mặc định vì một số lý do nhất adb backupđịnh phải tôn trọng.

Lá cờ này không ai khác android:allowBackup="false". Nó loại bỏ ứng dụng từ cả sao lưu và khôi phục ADB. Google ở đây phải nói:

android:allowBackup

Có cho phép ứng dụng tham gia vào cơ sở hạ tầng sao lưu và khôi phục hay không. Nếu thuộc tính này được đặt thành false, sẽ không có bản sao lưu hoặc khôi phục ứng dụng nào được thực hiện, ngay cả khi sao lưu toàn hệ thống sẽ khiến tất cả dữ liệu ứng dụng được lưu thông qua adb. Giá trị mặc định của thuộc tính này là đúng.

(Nhấn mạnh của tôi)

Kiểm tra AndroidManifest.xmlứng dụng này cho phiên bản Lollipop tại đây hoặc xem bằng chứng này cho Android 4.2.1 của tôi:

IMG: không có cờ dự phòng

Có nhiều hơn cho ứng dụng này. Bạn thậm chí không thể xóa dữ liệu khỏi cài đặt → Ứng dụng → Tất cả các ứng dụng →<THIS_APP> kể từ khi android:allowClearUserData="false"được khai báo, không phải là thứ chúng ta gặp phải mọi lúc.

Nếu đó là vì "lý do riêng tư", thì điều tương tự sẽ được áp dụng cho cơ sở dữ liệu danh bạ - rõ ràng đã được sao lưu.

Thật kỳ lạ, không phải là bạn có thể làm điều đó mà là hệ thống của bạn thậm chí còn cho phép bạn làm điều đó như thế nào chỉ với adb backup!

Bộ nhớ danh bạ được xử lý bởi ứng dụng "Danh bạ trình duyệt" đi kèm với pkg_name = com.android.providers.contacts. Cờ android:allowBackup="false"được đề cập rõ ràng trong AndroidManifest.xmlJelly Bean (bấm vào đây để xem các phiên bản khác).

Bạn có đang sử dụng ICS hoặc bất kỳ tiền thân nào của JB không?

Tôi thấy rằng ứng dụng này không có bất kỳ tuyên bố nào về cờ đó cho ICS ở đây . Bạn thực sự có thể xóa bí ẩn này, vì tôi không thể sao lưu ứng dụng này trong JB 4.2.1 theo định nghĩa của cờ và luôn nhận được tệp sao lưu 41 byte đó.


Đối với bất kỳ phương pháp nào khác để thực hiện sao lưu / khôi phục SMS / MMS bằng ADB mà không cần truy cập root - tất cả đều có ở đây.


Tôi biết rằng đó là lá cờ. Nhưng cả hai, ứng dụng đó và ADB là một phần của hệ thống - chúng tôi không nói về nhà cung cấp bên thứ 3 ở đây. Để làm rõ: thiết bị tôi đề cập ở đây chạy JellyBean (4.1.2). Nhờ gợi ý của bạn, tôi sẽ thử lại với các thiết bị khác của mình (4.2 và 4.3). Liên quan đến quyền riêng tư: cũng có thể có một gợi ý để người dùng cung cấp mật khẩu. Ngoài ra, SharedStorage cũng có thể chứa "dữ liệu riêng tư" - cộng với Google giả định tôi muốn đồng bộ hóa danh bạ / lịch của mình theo mặc định khi bật tài khoản Google, thay vì hỏi tôi (vì vậy không có cách nào để từ chối nếu bạn đã thêm nó vào đó ).
Izzy

Có nguy cơ trở thành một cơn thịnh nộ: nếu nó quá riêng tư để được sao lưu - tại sao sau đó nó cũng được bảo vệ chống lại "dữ liệu rõ ràng"? "Không bao giờ gán cho ác ý những gì có thể được giải thích bằng sự ngu ngốc thuần túy", // Vì vậy, không thể không có root: chỉ để lại mô-đun Xposed thích hợp ("Sao lưu tất cả ứng dụng"). Mà một lần nữa cần phải được cài đặt trên thiết bị - điều mà tôi muốn tránh khỏi Chỉ cần kéo cơ sở dữ liệu (bằng root) sẽ là một công việc - nhưng điều đó không cho phép khôi phục thiết bị chéo (đã thử một lần, không phải là một ý tưởng tốt vì nó khiến SMS không sử dụng được nên tôi phải đặt lại)
Izzy

1
Tôi biết @Izzy rằng bạn biết về cờ đơn giản như vậy, (bạn đã không trở thành Pro ngoài luồng, nhưng bằng nghiên cứu và kinh nghiệm :) nhưng những người khác đang tìm câu trả lời cho câu hỏi đơn giản như vậy có thể không biết về nó, và tất cả thông tin này không phù hợp cho bình luận. Tôi thực sự đã có ý định viết bình luận này, nhưng quên rằng cuối cùng khi viết câu trả lời này, xin lỗi!
Firelord

1
// Về mật khẩu, trong khi ADB cung cấp bản sao lưu được bảo vệ bằng mật khẩu, có thể Google (IMO) cho rằng việc ngăn truy cập vào nội dung nhạy cảm là điều tốt hơn so với việc cho phép truy cập trong trường hợp thiết bị bị mất có thể dẫn đến kết xuất dữ liệu do trái phép người nếu gỡ lỗi USB được kích hoạt bởi bất kỳ cơ hội, tiếp theo là tấn công vũ phu.
Firelord

1
- oh, tốt, họ đã tìm ra nó từ khi bắt đầu làm thế nào để hạn chế tự do trong tên của doanh nghiệp, có thể là một cái gì đó khác. Tôi sẽ báo cáo một cái gì đó tốt (tất nhiên không phải là giận dữ) nếu tôi gặp phải bằng cách nào đó.
Firelord
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.