루팅되지 않은 장치에서 ADB를 통한 SMS / MMS 백업 / 복원?


10

장치가 루팅되지 않은 경우 ADB를 사용하여 SMS 및 MMS 메시지를 백업 / 복원 할 수있는 방법이 있습니까?

  • adb pull/data/data/com.android.providers.telephony/databases/mmssms.db안전하지 않은 (루트) 모드에서 실행되지 않으면 ADB 가 해당 데이터베이스 ( )를 읽을 수 없으므로 여기에서 작동 하지 않습니다.
  • adb shell "cat /data/data/com.android.providers.telephony/databases/mmssms.db > /sdcard/mmssms.db 루트 액세스 권한이 없으면 작동하지 않습니다
  • adb backup 어떤 이유로 든 내가 확인 한 장치 에서이 데이터베이스를 다루지 않습니다 (빈 백업 – 결과 파일에 41 바이트의 백업 헤더 만)

특히 왜 adb backup이것을 다루지 않는지 궁금 합니다. "개인 정보 보호 사유"인 경우 연락처 데이터베이스에도 동일하게 적용됩니다.이 데이터베이스는 명확하게 백업됩니다.

참고 문헌 :

루트가 아닌 장치에 대한 해결책은 무엇입니까? 내가있어 유의 하지 응용 프로그램 기반 솔루션을 요구. 이에 사용할 수 있는 여러 앱 이 있다는 것을 잘 알고 있습니다 . 특히 "쉘 기반 솔루션"을 ADB를 통해 사용하고 싶습니다.


" 앱 기반 솔루션을 요청하지 않습니다 "-법의학 다시?
Firelord

1
바람직하게는 그렇습니다 (다른 독자의 경우 : 선호하는 솔루션은 장치에서 수정 된 것을 요구하지 않습니다). 장치가 이미 "메모리 부족"을보고하므로 설치할 수 없습니다. 다른 상황에서도 장치가 이상하게 작동하므로 공장 초기화를 수행해야합니다. 따라서 가능한 많은 데이터를 "저장"하는 것이 좋습니다. 나는 adb backup거의 예외 를 통해 대부분의 것을 백업 할 수있었습니다 . 몇 가지 예외는 무시할 수 있었지만 사용자는 SMS를 유지하는 것을 좋아했습니다.
Izzy

이봐! 근본이없는 해결책을 귀찮게해서 죄송합니다. BTW 우수 앱 목록, 해당 링크에 감사드립니다!
Gruber

1
@Gruber 아니요, 아직 아무것도 찾지 못했습니다. // 내 앱 목록을 좋아하게되어 기쁘다!
Izzy

답변:


6

특히 adb 백업이 이것을 다루지 않는 이유가 궁금합니다.

그것은이 아닌 adb backup응용 프로그램을 포함하지 않습니다 com.android.providers.telephony. 이 앱은에 기반한 다른 시스템 앱과 크게 다르지 않습니다 AndroidManifest.xml. 문제는 개발자가 매니페스트에서 선언 한 플래그로 어떤 이유로 기본 메커니즘 adb backup으로 존중해야합니다.

이 플래그는 이외 android:allowBackup="false"입니다. ADB 백업 및 복원에서 앱을 선택 해제합니다. 구글은 여기에서 말해야하는 :

android:allowBackup

애플리케이션이 백업 및 복원 인프라에 참여할 수 있는지 여부 이 속성을 false로 설정하면 전체 시스템 백업으로도 응용 프로그램의 백업 또는 복원이 수행되지 않으며, 그렇지 않으면 모든 응용 프로그램 데이터가 adb를 통해 저장됩니다. 이 속성의 기본값은 true입니다.

(엠파 시스 마인)

체크 아웃 AndroidManifest.xml롤리팝 버전이 응용 프로그램을 여기에 , 또는 내 안드로이드 4.2.1이 증거를 참조하십시오

IMG : 백업 플래그 없음

이 앱에는 더 많은 것이 있습니다. 당신은 심지어 수 데이터 지우기 에서 설정 → 애플리케이션 → 모든 → 애플 리케이션<THIS_APP> 때문에 android:allowClearUserData="false", 너무 우리가 지금하고있는 모든가 발생하지 뭔가를 선언된다.

"개인 정보 보호 사유"인 경우 연락처 데이터베이스에도 동일하게 적용됩니다.이 데이터베이스는 명확하게 백업됩니다.

당신이 그것을 할 수 있다는 것이 기괴한 일이 아니라 시스템이 어떻게 당신도 그렇게 할 수있게 해줍니다 adb backup!

연락처 저장소는 pkg_name =으로 이동하는 "ContactsProvider"앱으로 처리됩니다 com.android.providers.contacts. Jelly Bean에 대한 플래그 android:allowBackup="false"가 명확하게 언급되어 있습니다 AndroidManifest.xml( 다른 버전을 보려면 여기 를 클릭 하십시오 ).

ICS 또는 JB의 선행 작업을 사용하고 있습니까?

나는이 응용 프로그램은 ICS에 대한 그 플래그의 선언이없는 것을 발견 여기에 . 플래그 정의에 따라 JB 4.2.1 에서이 앱의 백업을 수행 할 수 없으며 항상 41 바이트 백업 파일을 가져 오기 때문에 실제로이 미스터리를 지울 수 있습니다.


루트 액세스없이 ADB를 사용하여 SMS / MMS 백업 / 복원을 수행하는 다른 방법은 모두 여기에 있습니다.


나는 그것이 그 깃발이라는 것을 알고 있습니다. 그러나이 앱과 ADB는 모두 시스템의 일부입니다. 여기서는 타사 공급 업체에 대해 이야기하지 않습니다. 명확히하기 위해 : 여기에서 언급 한 장치는 JellyBean (4.1.2)을 실행합니다. 힌트 덕분에 다른 장치 (4.2 및 4.3)로 다시 시도 할 것입니다. 개인 정보 보호 관련 : 사용자가 비밀번호를 제공하도록하는 힌트도있을 수 있습니다. 또한 SharedStorage에는 "비공개 데이터"가 포함될 수 있습니다. 또한 Google은 Google 계정을 활성화 할 때 기본적으로 내 연락처 / 캘린더를 동기화하지 않고 동기화하려고한다고 가정합니다. ).
Izzy

백업이 불가능한 개인 정보 인 경우 왜 "명백한 데이터"로부터 보호 되는가? "순수한 어리 석음으로 설명 할 수있는 것을 악의적 인 것으로 보지 마십시오."… 장치에 다시 설치해야하는 것은 피하고 싶었습니다… 데이터베이스를 루트로 가져 오는 것만으로는 해결 방법이 될 수 있습니다. 그러나 장치 간 복원은 허용되지 않습니다 (한 번 시도했지만 SMS를 사용할 수 없게해서 재설정해야했기 때문에 좋은 아이디어입니다)
Izzy

1
나는 당신이 그런 간단한 깃발을 알고 있다는 것을 알고 있습니다. 이 정보 중 코멘트가 적합하지 않았습니다. 실제로이 의견을 쓰는 것을 염두에 두었지만이 답변을 쓸 때 결국 그것을 잊어 버렸습니다. 미안합니다!
Firelord

1
// 비밀번호는 ADB가 패스 보호 백업을 제공하지만 Google (IMO)은 민감한 콘텐츠에 대한 액세스를 차단하는 것이 액세스를 허용하는 것보다 액세스를 허용하는 것보다 낫다고 생각할 수 있습니다. 우연히 USB 디버깅이 활성화 된 경우 무차별 대입 공격이 발생합니다.
Firelord

1
-오, 그들은 사업체의 이름으로 자유를 제한하는 방법을 시작한 이래로 다른 것을 생각해 보았습니다. 어떻게 든 발생하면 좋은 점을 알려 드리겠습니다.
Firelord
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.