Резервне копіювання / відновлення SMS / MMS через ADB на не вкоріненому пристрої?


10

Чи є резервне копіювання / відновлення SMS та MMS-повідомлень за допомогою ADB, коли пристрій не вкорінюється?

  • adb pullне працюватиме тут, оскільки /data/data/com.android.providers.telephony/databases/mmssms.dbADB не може прочитати відповідну базу даних ( ), якщо вона не працює в незахищеному (кореневому) режимі
  • adb shell "cat /data/data/com.android.providers.telephony/databases/mmssms.db > /sdcard/mmssms.db не працює без кореневого доступу
  • adb backup чомусь не охоплює цю базу даних на пристрої, на який я перевірив (порожня резервна копія - лише 41 байт заголовка резервної копії в отриманому файлі)

Мені особливо цікаво, чому adb backupце не висвітлює. Якщо це стосується "конфіденційності", те саме слід застосувати до бази даних контактів - що явно є резервною копією.

Список літератури:

Отже: Будь-яке рішення на не вкоріненому пристрої? Зауважте, що я НЕ прошу рішення на основі додатків. Я повністю усвідомлюю, що для цього доступно кілька додатків . Я спеціально хочу, щоб "розчин на основі оболонки" використовувався через АБР.


" Я НЕ прошу рішення на основі додатків " - Знову криміналісти?
Firelord

1
Переважно так (для інших читачів: бажані рішення не вимагають нічого модифікованого на пристрої). Розглянемо, що питання, про яке йдеться, вже повідомляє про "недостатню пам'ять", тому встановити щось неможливо. Оскільки пристрій також веде себе дивно в іншому контексті, слід виконати скидання на заводські налаштування - тому було б непогано "зберегти" якомога більше даних. Мені вдалося створити резервну копію більшості речей за допомогою adb backupдекількох винятків, більшість з яких невідомі, але користувач дуже любить зберігати SMS, які також не охоплювались.
Іззі

Гей, там! Вибачте, що турбуєте, що ви коли-небудь вирішували це питання без кореня? BTW чудовий список програм, дякую за це посилання!
Грубер

1
@Gruber Ні, все ще нічого не знайшли. // Рада, що вам подобаються мої списки програм!
Іззі

Відповіді:


6

Мені особливо цікаво, чому резервна копія adb не покриває це.

Це не те, adb backupщо не хоче охоплювати додаток com.android.providers.telephony. Цей додаток мало чим відрізняється від будь-якого іншого системного додатка на його основі AndroidManifest.xml. Проблема в тому, що прапор його розробник заявив у маніфесті, який як механізм за замовчуванням чомусь adb backupзобов'язаний дотримуватися.

Цей прапор - не хто інший, як android:allowBackup="false". Він вимикає додаток із резервного копіювання та відновлення ADB. Google має тут сказати:

android:allowBackup

Чи дозволити додатку брати участь у резервній копії та відновленні інфраструктури. Якщо для цього атрибута встановлено значення "false", резервне копіювання або відновлення програми ніколи не буде виконано, навіть за допомогою повної системи резервного копіювання, яка в іншому випадку призведе до збереження всіх даних програми через adb. Значення цього атрибуту за замовчуванням є істинним.

(Наголос мій)

Ознайомтесь AndroidManifest.xmlз цим додатком на версію Lollipop тут або перегляньте це свідчення для мого Android 4.2.1:

IMG: немає резервного прапора

У цьому додатку є більше. Ви навіть не можете очистити дані з налаштувань → програми → Усі додатки →,<THIS_APP> оскільки android:allowClearUserData="false"це також оголошено, і це не те, що ми стикаємося раз у раз

Якщо це стосується "конфіденційності", те саме слід застосувати до бази даних контактів - що явно є резервною копією.

Це химерно, не те, що ти вмієш це робити, але як твоя система навіть дозволяє тобі це робити adb backup!

Зберігання контактів обробляється програмою "ContactsProvider", яка використовується за допомогою pkg_name = com.android.providers.contacts. Прапор android:allowBackup="false"чітко згадується в його AndroidManifest.xmlдля Jelly Bean (натисніть тут, щоб побачити інші версії).

Ви використовуєте ICS або будь-який попередник JB?

Я виявив , що цей додаток не має ніякої заяви про те прапорі для ICS тут . Насправді ви можете очистити цю таємницю, оскільки я не можу взяти резервну копію цього додатка в моєму JB 4.2.1 відповідно до визначення прапора, і завжди отримує файл резервної копії в 41 байт.


Як і для будь-якого іншого способу приймати резервне копіювання / відновлення SMS / MMS за допомогою ADB без доступу root - тут усі руки.


Я знаю, що це той прапор. Але і те, і додаток, і ADB є частиною системи - ми не говоримо про стороннього постачальника тут. Для уточнення: пристрій, про який я посилаюсь, працює тут JellyBean (4.1.2). Завдяки вашій підказці, я спробую ще раз з іншими своїми пристроями (4.2 та 4.3). Щодо конфіденційності: користувач також може вказати натяк. Крім того, SharedStorage також може містити "приватні дані" - плюс Google припускає, що я хочу синхронізувати свої контакти / календарі за умовчанням під час увімкнення облікового запису Google, а не просити мене (так що жодного способу відмовитися, якщо ви додасте їх до них уже там ).
Іззі

Загрожує перетворитись на рентген: якщо це занадто приватне резервне копіювання - чому тоді він захищений і від "чітких даних"? "Ніколи не приписуйте злість те, що можна пояснити чистою дурістю" ... // Отже, без кореня це неможливо: це залишає лише відповідний модуль Xposed ("Резервне копіювання всіх програм"). Що знову потрібно встановити на пристрої - чого я хотів уникнути ... Просто витягнути базу даних (з коренем) було б обробкою - але це не дозволяє відновити перехресні пристрої (спробувавши це колись, не було хороша ідея, оскільки вона зробила SMS непридатним, тому мені довелося скинути)
Izzy

1
Я знаю @Izzy, що ти знаєш такий простий прапор, (ти не став Pro з повітря, але за допомогою досліджень та досвіду :), але інші, хто шукає відповіді на таке просте запитання, напевно, не знають про це, і все цієї інформації не було придатним для коментаря. Я насправді мав на увазі написати цей коментар, але забув це врешті-решт, коли писав цю відповідь, вибачте!
Firelord

1
// Що стосується пароля, хоча ADB забезпечує резервну копію, захищену пропуском, Google (IMO) може вважати, що запобігання доступу до чутливого вмісту - це краще, ніж дозволяти доступ, який у випадку втрати пристрою може призвести до несанкціонованого скидання даних людині, якщо налагодження через USB було ввімкнено будь-яким випадком із супроводом грубої атаки.
Firelord

1
- о, ну, вони з того часу зрозуміли, як обмежити свободу в ім'я бізнесу, можливо, щось інше. Я докладу щось хороше (звичайно, не рентабельне), якщо я якось зіткнуся.
Firelord
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.