Новости

Як зламують Android. Розбираємося з механізмами бекапа Android і дістаємо з них дані

  1. Зміст статті У минулому номері ми розглянули зразково-показову реалізацію резервного копіювання...
  2. Резервне копіювання: версія Google
  3. Android 6.0: ми зробили це!
  4. Чи можна витягти дані з хмари?
  5. Продовження доступно тільки учасникам
  6. Варіант 2. Відкрий один матеріал

Зміст статті

У минулому номері ми розглянули зразково-показову реалізацію резервного копіювання даних на прикладі пристроїв Apple iOS. А як йдуть справи на інших платформах? Сьогодні ми вивчимо головного антагоніста iOS - платформу Google Android і з'ясуємо, як зберегти дані з рутом і без, яким чином відновити дані з резервної копії та як розколупати чужий локальний або хмарний бекап.

Відразу визначимося з термінологією. У цій статті ми будемо писати виключно про ту різновид Android, яка поставляється з сервісами Google. Сторонні прошивки нам не особливо цікаві: кількість їх користувачів мінімально, при цьому створювати і відновлювати резервні копії даних при прошивці чергового «кастома» ці користувачі відмінно вміють. Ні, сьогодні ми поговоримо про решту 99% користувачів, які хочуть відкрити коробку, ввести логін і пароль від облікового запису і отримати щось працездатне.

Стаття заснована на дослідженні, в ході якого ми використовували близько десяти пристроїв від ASUS, Google Nexus, LG, Motorola, Oppo і Sony. Тестувалися як відновлення даних на той же пристрій після скидання до заводських налаштувань, так і міграція даних на інший пристрій.

Софт від виробника

Виробники пристроїв часто випускають фірмові утиліти для резервного копіювання даних. Деякі (наприклад, Sony) пропонують встановити софт на комп'ютер, інші (ASUS, LG) вбудовують відповідну функціональність в прошивку. Samsung надає можливість створювати резервні копії у власному хмарі. Коротше кажучи, розбрід і хитання.

Коротше кажучи, розбрід і хитання

Офіційне додаток Sony PC Companion

Об'єднує рішення від виробників дві речі. По-перше, створювана резервна копія буде достатньо повною, що дозволяє повноцінно відновити дані після перезавантаження пристрою, оновлення прошивки або апгрейда. По-друге, відновити бекап від телефону Sony на планшет від ASUS (і навпаки) тобі не вдасться: відновлювати потрібно тим же софтом на модель того ж виробника.

Бекап, створений прошивкою від ASUS

Втім, якщо ти плануєш користуватися пристроєм тривалий час, чому б і не створити резервну копію? Так, це не завжди зручно, і так, це ніяк не автоматизується, але ж можливість є. А якщо з твоїм телефоном щось трапиться і якщо ти вирішиш замінити його на пристрій від того ж виробника, то тобі, може бути, навіть вдасться відновити на нього дані. Упевненості, зрозуміло, ніякої: виробник гарантує успішне відновлення тільки на пристрій тієї ж моделі, з якою були скопійовані дані.

Резервне копіювання: версія Google

Пристрої під управлінням Android - це строкатий зоопарк платформ, архітектур, виробників, апаратних і програмних конфігурацій. Складно зробити так, щоб резервні копії, створені з телефону одного виробника, які не дестабілізували роботу смартфона на зовсім інший архітектурі. Ймовірно, це і є основною причиною того, з якою швидкістю Google розробляє механізм резервного копіювання.

Якщо не брати до уваги існували з першої версії Android механізмів синхронізації контактів, календаря та інших додатків Google з хмарою, то повноцінний механізм резервного копіювання додатків і налаштувань з'явився тільки в Android 4.3. Він був доступний лише в режимі розробки і тільки через Android Debug Bridge. Іншими словами, для «звичайних» користувачів його не існувало.

У якийсь момент Google почала синхронізувати деякі дані з хмарою. При відновленні пристрої пропонувалося відновити і дані (ярлики, програми та настройки) з одного з попередніх пристроїв. Ця функціональність, строго кажучи, не є частиною Android, а реалізована в пропрієтарних сервісах Google.

З Android 6.0 хмарне резервне копіювання налаштувань офіційно стало частиною операційної системи. Тепер розробнику додатка досить включити в manifest додатки прапорець, який дозволяє резервне копіювання даних, і система буде автоматично копіювати їх в хмару. Зрозуміло, хмара це від Google, а дані прив'язані до облікового запису Google Account, так що користувачі AOSP-збірок без сервісів Google залишаються осторонь. Що ж, давай розглянемо ці механізми докладніше. Порушивши хронологію, почнемо з найбільш сучасного і цікавого механізму, представленого в Android 6.0.

Android 6.0: ми зробили це!

Починаючи з Android 6.0 система автоматично зберігає настройки системи і додатків в Google Drive користувача. Вирішив оновити пристрій? Твій новий смартфон автоматично підхопить настройки з хмари, сам встановить додатки, якими ти користувався у старому пристрої, і автоматично налаштує їх звичним для тебе чином. Майже як у Apple! І так воно все і працювало в попередніх збірках Android M до самого релізу.

А в офіційній версії Android 6.0 розробники різко змінили платівку. Якщо в попередніх збірках автоматичне резервне копіювання працювало для всіх додатків, автори яких не заблокували цю можливість в явному вигляді (прапор opt-out в manifest), то в офіційній версії системи резервні копії створюються тільки для додатків, автори яких в явному вигляді зажадали сервіс ( opt-in через manifest) і прописали підтримку Android 6.0 (target API level 23).

Як ти думаєш, чи багато розробників скористалися цією можливістю? У чудовій статті Android 6.0 has a great auto backup system that no one is using (yet) журналісти Ars Technica детально розглянули, які програми використовують, а які не використовують вбудований в Android 6.0 механізм резервного копіювання.

Результати виявилися ... несподіваними. В першу чергу вбудованим механізмом резервного копіювання НЕ КОРИСТУЮТЬСЯ додатки Google. Так-так, розробник цієї чудової системи вирішив обійтися без неї. Відновлюються базові настройки системи, будильники, «тихий режим», але дані додатків Google - немає. А ось клієнти соціальних мереж, поштові клієнти, ігри та інші популярні програми не поспішають додавати підтримку. Зрозуміло, ситуація буде змінюватися з часом, але поки ось так. Після скидання редакційного Nexus 6 і відновлення з хмари сталося наступне:

  • відновилися всі додатки. При цьому вони були встановлені з Google Play, тобто відновлювалися завжди останні версії;
  • відновилася частина налаштувань: мови вбудованої клавіатури, налаштування «тихого режиму», будильники;
  • не відновилася історія дзвінків і СМС;
  • не відновилися настройки Facebook;
  • не відновилися дані більшості додатків (наприклад, gReader Pro довелося налаштовувати заново).

Іншими словами, система встановила всі раніше встановлені додатки, але не відновила дані переважної більшості з них. Втім, контакти і email підхопилися з хмари, доступ до фотографій - теж. А налаштувати заново пару десятків додатків - нам не звикати. Більш детальну інформацію про роботу Android Backup Service можна прочитати в довідці Google .

Чи можна витягти дані з хмари?

Якщо Google може зберегти дані в хмару, то ми можемо їх отримати, чи не так? Давай подивимося, що можна зробити.

По-перше, точно так же, як і в описаному в попередньому номері прикладі скачування даних з iCloud, потрібні логін і пароль користувача до облікового запису Google. Це не все; якщо включена двухфакторная аутентифікація (а її активують все частіше), буде потрібно і одноразовий код, який буде генеруватися додатком Google Authenticator, Microsoft Authenticator, FreeOTP або будь-яким з безлічі сторонніх (працюють вони за єдиним принципом, і відрізняється лише криптографічний код ініціалізації, який видається користувачеві у вигляді кольорового QR-коду).

Ще нам буде потрібно відповідний софт (можна обійтися і без нього - про це нижче). Як софта ми використовували Elcomsoft Cloud eXplorer . Запускаємо програму, авторізуемся в облікового запису Google, вибираємо дані для скачування:

Запускаємо програму, авторізуемся в облікового запису Google, вибираємо дані для скачування:

Скочиляс? насолоджуємося:

насолоджуємося:

Кількість інформації, яку збирає Google, чесно кажучи, шокує. Так, абстрактно ми знаємо, що за нами стежать. Знаємо, що ретельно зберігається кожна сторінка, яку ми відвідуємо, кожна закладка в браузері (зрозуміло, для нашого ж зручності - синхронізація!). Само собою, зберігається кожен пошуковий запит, адресований «Корпорації добра» (ти вже зрозумів, що шукати в інтернеті рецепт створення ядреной бондби - не найкраща ідея?):

):

Доступний список пристроїв, встановлені на них додатки і власне дані додатків:

Доступний список пристроїв, встановлені на них додатки і власне дані додатків:

Звичайно, є доступ до фотографій (привіт, iCloud!):

):

Для нашого ж зручності зберігається докладна історія переміщень:

Для нашого ж зручності зберігається докладна історія переміщень:

Непогано помандрував! А ось те ж саме в текстовому вигляді:

А ось те ж саме в текстовому вигляді:

Загалом, просто маса всього цікавого. Якщо чесно, в облікового запису Google можна знайти набагато більше всього, ніж будь-коли наважувалися зберегти рішення від Apple.

Звідки і яким чином витягуються всі ці дані? А ось це, мабуть, найцікавіше. «Корпорація добра» дотримується політики максимальної інформаційної відкритості. Ти завжди можеш переглянути або завантажити всю інформацію, яку корпорація зібрала про тебе. Ти можеш видалити будь-які дані, і для цього не потрібно знищувати свій обліковий запис. Нарешті, ти можеш відключити збір окремих типів даних (наприклад, налаштувати свій телефон таким чином, що інформація про твоє місце розташування не буде надсилатися в Google).

Нас же в цьому контексті цікавить той пункт, згідно з яким ти маєш право завантажити всю інформацію, зібрану про тебе Google. Офіційний спосіб зробити це - через сервіс Google Takeout . Тут можна вибрати, які типи даних ми хочемо скачати:

Продовження доступно тільки учасникам

Варіант 1. Приєднайся до товариства «Xakep.ru», щоб читати всі матеріали на сайті

Членство в співтоваристві протягом зазначеного терміну відкриє тобі доступ до ВСІХ матеріалами «Хакера», збільшить особисту накопичувальну знижку і дозволить накопичувати професійний рейтинг Xakep Score! Детальніше

Варіант 2. Відкрий один матеріал

Зацікавила стаття, але немає можливості стати членом клубу «Xakep.ru»? Тоді цей варіант для тебе! Зверни увагу: цей спосіб підходить тільки для статей, опублікованих більше двох місяців тому.


Чи можна витягти дані з хмари?
А як йдуть справи на інших платформах?
Вирішив оновити пристрій?
Як ти думаєш, чи багато розробників скористалися цією можливістю?
Чи можна витягти дані з хмари?
Якщо Google може зберегти дані в хмару, то ми можемо їх отримати, чи не так?
И вже зрозумів, що шукати в інтернеті рецепт створення ядреной бондби - не найкраща ідея?
Звідки і яким чином витягуються всі ці дані?
Ru»?

Уважаемые партнеры, если Вас заинтересовала наша продукция, мы готовы с Вами сотрудничать. Вам необходимо заполнить эту форму и отправить нам. Наши менеджеры в оперативном режиме обработают Вашу заявку, свяжутся с Вами и ответят на все интересующее Вас вопросы.

Или позвоните нам по телефонам: (048) 823-25-64

Организация (обязательно) *

Адрес доставки

Объем

Как с вами связаться:

Имя

Телефон (обязательно) *

Мобильный телефон

Ваш E-Mail

Дополнительная информация: