ルート権限を取得されていないデバイスで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 rootアクセスがないと機能しません
  • adb backup 何らかの理由で、私が確認したデバイス上のこのデータベースをカバーしていません(空のバックアップ-結果のファイルのバックアップヘッダーの41バイトのみ)

特になぜadb backupこれをカバーしないのかと思います。「プライバシー上の理由」によるものである場合、同じことが連絡先データベースにも当てはまるはずです。これは明らかにバックアップされています。

参照:

だから:非根ざしたデバイス上の解決策はありますか?アプリベースのソリューションを求めているわけではないことに注意してください。私はこれのために利用可能ないくつかのアプリがあることを完全に知っています。私は特に「シェルベースのソリューション」をADB経由で使用したいと考えています。


私はアプリベースのソリューションを求めているのではありません」-再びフォレンジック?
ファイアロード

1
できればはい(他の読者の場合:望ましい解決策では、デバイス上で変更を加える必要はありません)。問題のデバイスがすでに「メモリ不足」を報告しているため、何かをインストールすることはできないと考えてください。他の状況でもデバイスの動作がおかしいので、出荷時設定にリセットする必要があります。できるだけ多くのデータを「保存」するとよいでしょう。私はほとんどのことをバックアップすることができましたadb backup:いくつかの例外、それらのほとんどは無視できますが、ユーザーはSMSを保持することを非常に好みますが、これもカバーされていません。
イジー

ちょっと、そこ!これまでにrootなしで解決策を持ったことはありませんか?ところで、優れたアプリのリスト、そのリンクをありがとう!
グルーバー

1
@グルーバーいいえ、まだ何も見つかりませんでした。//私のアプリ一覧が気に入って嬉しいです!
イジー

回答:


6

特に、adb backupがこれをカバーしていないのはなぜだろう。

adb backupアプリをカバーしたくないということではありませんcom.android.providers.telephony。このアプリは、そのアプリに基づく他のシステムアプリと大差ありませんAndroidManifest.xml。問題は、開発者がマニフェストで宣言したフラグにあります。これは、何らかの理由でデフォルトのメカニズムとしてadb backup尊重されます。

このフラグはにほかなりませんandroid:allowBackup="false"。ADBのバックアップと復元の両方からアプリをオプトアウトします。ここでグーグルは言っている:

android:allowBackup

アプリケーションがバックアップおよび復元インフラストラクチャに参加できるようにするかどうか。この属性がfalseに設定されている場合、アプリケーションのバックアップまたは復元は、すべてのアプリケーションデータがadbを介して保存されるシステム全体のバックアップによっても実行されません。この属性のデフォルト値はtrueです。

(エンファシス鉱山)

こちらのAndroidManifest.xml Lollipopバージョンのこのアプリをチェックアウトするか、私のAndroid 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アカウントを有効にするときにデフォルトで連絡先/カレンダーを同期することを求めるので、確認を求めません(すでにそこに追加している場合はオプトアウトできません)。 )。
イジー

それが不平を言う危険にさらされています:バックアップするのにあまりにもプライベートである場合、なぜ「クリアなデータ」からも保護されるのですか?「純粋な愚かさで説明できるものを悪意の属性にしない」…//したがって、rootなしでは不可能です。適切なXposedモジュール(「すべてのアプリのバックアップ」)だけが残ります。これもデバイスにインストールする必要があります–回避したいのですが…(ルートを使用して)データベースをプルするだけで回避策になります–しかし、デバイスをまたがる復元はできません(一度試しただけではありませんでした) SMSが使用できなくなったため、リセットする必要があったので、良い考えです)
Izzy

1
私はあなたがそのような単純な旗を知っていることを知っています(あなたは薄い空気からプロになったのではなく、研究と経験によって:)が、そのような単純な質問に対する答えを探している他の人はおそらくそれについて知らないでしょう、そしてすべてこの情報のうち、コメントには適していませんでした。私は実際にこのコメントを書くつもりでしたが、この回答を書いているときに結局そのことを忘れていました。
ファイアロード

1
//パスワードについては、ADBはパス保護されたバックアップを提供しますが、機密コンテンツへのアクセスを防止することは、デバイスを紛失した場合に不正なデータダンプが発生する可能性があるアクセスを許可するよりも優れているとGoogle(IMO)が考えている可能性があります万が一USBデバッグが有効になっていた場合は、その後にブルートフォース攻撃が行われます。
ファイアロード

1
-ああ、まあ、彼らはビジネスの名のもとで自由を制限する方法を始めてからそれを理解していたのですが、別の何かかもしれません。どういうわけか私が遭遇した場合、私は何か良いことを報告します(もちろん非暴言)。
ファイアロード
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.