Защита данных путем модификации системного раздела жесткого диска. Что такое Magisk

Начнем с того, что тебе нужен Linux. В Windows ты сможешь только разобрать прошивку, но собрать обратно уже не получится по чисто техническим причинам. Теперь о прошивке. Обычно они распространяются в виде ZIP-архивов, прошиваемых через кастомные рекавери. Именно один из них нам и понадобится для опытов. Начинать путь ромодела я рекомендую с какой-нибудь максимально приближенной к AOSP кастомной прошивки, потому что в ней зачастую проще разобраться, чем в стоке.

  1. Распаковываем архив с прошивкой в любую папку.
  2. Качаем скрипт по ссылке и разархивируем в любую папку.
  3. Запускаем файл ext (если будет ругаться на отсутствие Java, просто пропусти, нажав y ; Java нужна только для запаковки).
  4. Теперь выбираем распаковку, нажав кнопку 1, а затем Enter.
  5. Новая папка с именем extract_* появится рядом с файлом ext и папкой tools . Копируем в нее файлы system.new.dat и system.transfer.list .
  6. После копирования файлов нажимаем Enter и ждем. Через некоторое время нужно будет опять нажать Enter, ввести пароль администратора и еще раз тапнуть Enter.
  7. Готово. Содержимое system в папке extract_*/output .

Ручной способ

Распаковываем архив с прошивкой в любую папку (например, в rom):

$ mkdir ~/rom $ unzip путь_до_архива -d ~/rom/

Скачиваем нужные нам инструменты в эту папку:

$ cd ~/rom $ wget https://github.com/xpirt/sdat2img/raw/master/sdat2img.py

Запускаем скрипт:

$ chmod +x sdat2img.py $ ./sdat2img.py system.transfer.list system.new.dat system.img

Он преобразует файл system.new.dat в raw-образ с именем system.img . Монтируем образ к подпапке mnt:

$ mkdir mnt $ sudo mount -t ext4 -o loop system.img ~/rom/mnt

Структура каталогов Android

После распаковки system появится следующая каталоговая структура:

  • app - предустановленные приложения со стандартными привилегиями;
  • priv-app - предустановленные приложения с повышенными привилегиями, в том числе некоторые компоненты системы;
  • bin - бинарные файлы формата ELF, аналог каталогов /bin и /usr/bin в Linux. Содержит различные системные компоненты, используемые более высокоуровневыми компонентами системы;
  • etc - файлы настроек. Полный аналог /etc в Linux, используемый, однако, только теми самыми системными компонентами. Приложения Android хранят индивидуальные настройки в каталогах /data/data/ ;
  • fonts - шрифты. По умолчанию содержит только фирменные шрифты Roboto;
  • framework - библиотеки Java-классов, используемых системой и приложениями. Тут же лежит файл framework-res.apk , содержащий полное описание интерфейса операционной системы, включая все графические файлы;
  • lib и lib64 - Linux-библиотеки, используемые низкоуровневыми компонентами системы. Аналог каталогов /lib и /usr/lib в Linux, включая такие стандартные библиотеки, как libc, libz, libssl. На устройствах с архитектурой ARMv7 и ниже каталог lib64 будет отсутствовать;
  • media - медиафайлы: рингтоны, звуки уведомлений, звуки интерфейса и анимация загрузки ОС;
  • tts - файлы, необходимые синтезатору речи;
  • usr - каталог, который обычно содержит файлы, необходимые для работы приложений из каталога bin. По сути, аналог /usr/share ;
  • vendor - файлы, поставляемые производителем устройства. Обычно содержит бинарный firmware для различных железных компонентов, например модуля Wi-Fi;
  • xbin - необязательный каталог; кастомные прошивки используют его для хранения таких вещей, как интерпретатор bash, SSH, PowerTOP, BusyBox, и других полезных инструментов;
  • build.prop - файл, содержащий информацию о сборке, а также различные низкоуровневые настройки;
  • addon.d - содержит скрипты, запускаемые после установки прошивки. Сюда же GApps прописывают свой скрипт, благодаря которому возрождаются после переустановки прошивки.

Ознакомившись с базовой структурой Android, начнем вносить изменения.

Удаляем и добавляем приложения

Все предустановленные программы можно найти в двух папках:

  • /system/app/;
  • /system/priv-app/.

Друг от друга они отличаются привилегиями доступа. Если программы из app имеют такие же полномочия, как сторонние программы (например, установленные из Play Store), то приложения из priv-app могут использовать привилегированные API (права privileged). Подробнее об этом можно узнать из .

Для предустановки приложения в прошивку просто кинь ее APK-файл в /system/app/ . Можно, конечно, создать отдельную папку, но в нашем случае в этом нет смысла, потому что папка служит для хранения библиотек и odex-файлов, которых у нас попросту нет. Для удаления просто удали папку с ним.

Можно пойти дальше и поменять стоковые приложения на аналоги. К примеру, для замены календаря удаляем папку Calendar и копируем в /system/app наш любимый com.rpagyc.simplecalendar.apk . А можно и не копировать. Тогда прошивка будет без календаря.

Главное, помни: стоковые программы могут быть связаны между собой. Поэтому удаление одной проги вполне может привести к полной неработоспособности другой (к примеру, CalendarProvider и Calendar: удалив первый, ты сделаешь неработоспособным не только стоковый, но и любой другой календарь). К счастью, в чистых AOSP-прошивках взаимосвязей не так много.

Меняем анимацию загрузки

Анимация хранится в виде PNG-картинок, упакованных в архив /system/media/bootanimation.zip без сжатия. Внутри архива находятся:

  • desc.txt - файл, описывающий анимацию;
  • part0 - папка с файлами анимаций, которые воспроизводятся первыми;
  • part1 - папка с файлами анимаций, которые воспроизводятся вторыми;
  • part? - крайняя папка, изображения с которой воспроизводятся в конце.

Файл desc.txt может содержать нечто вроде

1920 1080 60 p 1 0 part0 p 0 0 part1

Назначение этих строк интуитивно понятно: 1920 × 1080 - разрешение картинки, 60 - число кадров в секунду. Part0 и part1 указывают на папки, из которых будет воспроизводиться анимация, и последовательность воспроизведения. Вообще, может быть как одна часть, так и несколько (три и больше).

Изображения, находящиеся в папках part, пронумерованы пятью цифрами в порядке воспроизведения: 00000.png , 00001.png , 00002.png … Эти изображения можно поменять на свои, тем самым создав оригинальную анимацию. А можно просто удалить файл bootanimation.zip . Тогда девайс будет показывать анимацию из стандартного Android. Или воспользоваться уже готовой коллекцией анимаций на 4PDA .

Изменяем звуковое оформление

Фактически все звуки, которые воспроизводит система, хранятся в папке /system/media/audio . Внутри нее ты найдешь следующие папки:

  • alarms - мелодии будильника;
  • notifications - звуки уведомлений;
  • ringtones - мелодии звонка;
  • ui - системные звуки, например низкий заряд батареи, фокусировка камеры, выбор элементов интерфейса.

В alarms, notifications, ringtones можно накидать сколько угодно любых мелодий. Взять их можно, например, здесь:

  • стандартные мелодии из разных телефонов и смартфонов Nokia ;

И маленький лайфхак: удаление файлов из папки ui приведет не к сбоям и ошибкам, а к исчезновению системных звуков. Поэтому ты можешь легко отключить звук создания снимка с камеры, снятия скриншота, просто потерев содержащие эти звуки файлы (их имена интуитивно понятны).

Добавляем шрифты

Шрифты хранятся в fonts . Найти архивы с файлами шрифтов можно на 4PDA и XDA . Для установки достаточно скопировать с заменой ttf-файлы из архива в папку fonts .

Меняем системные настройки (build.prop)

В образе system есть интересный файлик build.prop , содержащий множество полезной информации о железе устройства и настройках, устанавливаемых по умолчанию, для различных стоковых приложений. Справедливости ради замечу, что это не всегда так. Например, в Gigaset ME и ME Pro build.prop разделен на две части. В одной части содержатся настройки для Gigaset ME, а для ME Pro некоторые строки продублированы, но ключи (название смартфона и так далее) в них другие. Это было сделано, чтобы обеспечить более-менее корректную работоспособность одной и той же прошивки на разных аппаратах.


Build.prop содержит (или может содержать) огромное количество настроек. Некоторые из них ничего не меняют, некоторые улучшают одно за счет ухудшения другого, но есть те, которые действительно полезны:

  • ro.product.model и ro.product.manufacturer - модель смартфона и имя производителя. С помощью замены этих строк можно заставить Play Store думать, будто у тебя другой смартфон, что откроет доступ к большему количеству софта. Для всяких малоизвестных китайских смартфонов эти строчки могут стать спасительными;
  • hw.qemu.mainkeys - принимает только два значения: 0 - показать наэкранные клавиши навигации, 1 - не показывать кнопки. Отсутствие строки соответствует 0;
  • debug.sf.nobootanimation - значение 1 отключает анимацию загрузки, что немного поднимает ее скорость. Установка 0 или удаление строки возвращает анимацию на место;
  • ro.telephony.default_network - говорит системе, в какой режим должна быть переключена мобильная сеть при загрузке;
  • ro.sf.lcd_density - DPI дисплея, наиболее точное значение для дисплея можно посчитать через удобный сайт . Но никто не запрещает поставить и большее или меньшее значение по своему вкусу: более высокие значения делают элементы интерфейса крупнее, низкие - меньше;
  • ro.config.vc_call_vol_steps - количество шагов громкости во время разговора (по умолчанию 8);
  • ro.config.media_vol_steps - количество шагов громкости мультимедиа (по умолчанию 15).

Внедряем в прошивку Google Apps

Почти всегда кастомные прошивки поставляются без сервисов Google и магазина приложений. Разработчики предлагают нам установить их отдельно с помощью пакета GApps. Однако его можно интегрировать прямо в прошивку.

Для начала необходимо скачать пакет GApps. Я рекомендую брать архивы Open GApps . Выбираешь версию Android, архитектуру процессора и вариант комплектации (Pico, Nano, Stock…), который определяет, сколько различных приложений Google содержит архив. Я рекомендую скачать версию Pico. Она содержит только Play Store и набор необходимых для его работы библиотек.

Интеграция GApps в прошивку выполняется так:

  1. Распаковываем ZIP-архив GApps с помощью любого архиватора.
  2. Переходим в папку Core.
  3. Видим множество архивов с расширением.tar.lz . Извлекаем с помощью lzip.
  4. После распаковки копируем файлы из папок в соответствующие папки в system. Что куда кидать, нетрудно догадаться по структуре каталогов в архиве. Например, configupdater (со скриншота) нужно кидать в папку priv-app .
  5. Переходим в папку GApps (находится рядом с Core) и проделываем пункты 3 и 4 для файлов в ней.
  6. Все, мы интегрировали GApps в нашу прошивку!

Свободное место

Необходимо понимать, что место для установки прошивок ограниченно. Нельзя установить прошивку, размер которой перевешивает размер раздела system устройства. Посмотреть его значение можно, используя :

$ adb shell df /system

Второй вариант: поставить на устройство терминал и набрать команду

$ df /system

Размер раздела в байтах можно узнать, установив на смартфон BusyBox и выполнив в терминале команду

$ busybox df -B 1 /system

Или то же самое с помощью ADB:

$ adb shell busybox df -B 1 /system

Место, занимаемое прошивкой, будет приблизительно равно размеру system в распакованном виде. Вообще, при создании прошивки необходимо учитывать, что юзер также может прошить поверх нее различные модификации (SuperSU, Xposed) или перенести приложения в раздел system. Например, минимальный пакет приложений Google (Pico) требует минимум 150 Мбайт дополнительного пространства для установки.

При необходимости размер файла прошивки можно уменьшить, удалив не только ненужные программы из /system/app (/system/priv-app) и звуки вызова из system/media/audio и bootanimation.zip , но и:

  • /system/tts/lang_pico - языки примитивного голосового движка Pico TTS, голосовой движок Google это не затронет;
  • /system/usr/srec/config/ - офлайн-языки. Можно будет скачать потом онлайн, если понадобится.

Сборка

После внесения изменений нужно собрать все обратно. Сначала запакуем раздел system в system.new.dat . Скачиваем нужные нам инструменты:

$ wget https://github.com/xpirt/img2sdat/raw/master/img2sdat.py $ wget https://github.com/xpirt/img2sdat/raw/master/blockimgdiff.py $ wget https://github.com/xpirt/img2sdat/raw/master/common.py $ wget https://github.com/xpirt/img2sdat/raw/master/rangelib.py $ wget https://github.com/xpirt/img2sdat/raw/master/sparse_img.py $ sudo apt-get install android-tools-fsutils

Преобразовываем нашу папку обратно в RAW-образ. Назовем его system_new.img:

$ sudo make_ext4fs -T 0 -S file_contexts -l 1073741824 -a system system_new.img output/

1073741824 меняем на размер раздела system в байтах. Желательно даже сделать его чуть меньше. Делаем из RAW-образа sparse-образ:

$ img2simg system_new.img system_snew.img

Преобразуем наш образ в system.transfer.list и system.new.dat , которые и нужно кидать в архив с прошивкой, но сначала удалим старые файлы:

$ rm -rf system.transfer.list $ rm -rf system.new.dat $ rm -rf system.patch.dat $ chmod +x img2sdat.py $ ./img2sdat.py system_snew.img

Отделим файлы прошивки от лишней шелухи (файлов, которые мы загружали для работы. Для этого удобно пользоваться архивом с прошивкой). Удалили? Теперь нужно запаковать прошивку в ZIP-архив (любым архиватором).

Осталось подписать архив. Сделать это можно как на самом Android с помощью ZipSigner , так и на ПК (потребуется установленная Java):

$ wget https://github.com/appium/sign/raw/master/dist/sign.jar $ java -jar файл.zip

Подводные камни

Во время сборки system.new.dat ты можешь столкнуться с несколькими проблемами, вызванными постоянными изменениями в механизмах формирования прошивок Android. Описанный выше способ должен хорошо сработать в случае основанной на Android 5.1 прошивки, в более новых могут возникнуть сложности, так что потребуется использовать другие версии инструментов сборки. К сожалению, мы не можем описать все нюансы сборки, поэтому, возможно, придется погуглить.

Установка

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

TWRP

Выводы

Эта статья описывает лишь верхушку огромного айсберга под названием «модификация прошивок». «Серьезные» прошивки не только дополняют ядро и саму прошивку со стоковыми приложениями множеством функций (которые зачастую вырваны из других ядер и прошивок), организовывая или даже меняя принципы их взаимодействия, но и вполне могут кардинально менять принципы работы ОС. Правда, такая поделка - это уже не Android, а отдельная ОС, даже если Play-сервисы получится туда поставить (кстати, такие действия, мягко говоря, не поощряются Google). Ну и не забываем: все оболочки от производителей - TouchWiz, ZenUI, HTC Sense и так далее - всего лишь обычные кастомы, максимально привязанные к железу устройства и друг к другу.

Права суперпользователя или по-простому рут - неотъемлемая часть мира операционной системы Android. Как известно, с его помощью можно существенно расширить функционал: от удаления рекламы до серьезной модификации программного обеспечения устройства. Однако, многие пользователи задаются вопросами в духе: «как запустить Сбербанк Онлайн с root?», - либо: «как играть в Pokemon GO на взломанном смартфоне?». Ответ на все это - Magisk.
С популяризацией систем бесконтактной оплаты, актуальным стал вопрос: «почему не работает Visa payWave с правами суперпользователя?». Раньше на помощь приходили модифицированные версии приложений с отключенной защитой, об их безопасности говорить нельзя, в apk-файл можно включить всё, что угодно! Разработчик под ником topjohnwu с форума XDA-Developers подошёл к проблеме совсем иначе!

Что такое Magisk

- современный администратор рут прав, по сути - более продвинутая альтернатива SuperSU от Chainfire с некоторыми функциональными нововведениями.

Интерфейс программы выполнен по гайдлайну Material Design, навигация интуитивно понятная, меню не перегружено лишними пунктами, только всё необходимое. Приложение, за редким исключением, русифицировано.

Основные особенности

Механизм получения прав суперпользователя MagiskSU не вмешивается в системный раздел. Такой подход является более безопасным по сравнению с классическим, и позволяет обновлять прошивку с форматированием системного раздела, без опасений за рут и дополнительно установленные модули.

Ключевая функция - возможность скрыть права суперпользователя от приложений, которые не работают на взломанном устройстве. К таким относятся клиенты многих банков, системы бесконтактной оплаты и, к примеру, Pokemon GO. Реализация удобная, рут скрывается в один клик, раздел Magisk Hide главного меню. Тот же Сбербанк Онлайн перестал сообщать об угрозе и открыл весь функционал!

Дополнительные модули

Ко всему прочему, в Magisk Manager включен мощный движок модов, который соответствует общей концепции приложения и работает без модификации системного раздела (systemless), можно не беспокоиться за порчу системных файлов, такой подход позволяет в любой момент отключить все дополнения. Установка модификаций осуществляется через кастомный рекавери или непосредственно через меню Magisk Manager. Уже сейчас существует множество модулей, самые интересные из них рассмотрим отдельно:

App Systemizer - модуль, который позволяет установить в качестве системного любое пользовательское приложение без модификации системного раздела. Установка в системный раздел вручную - не самое простое занятие, а в модуле необходимо лишь только отметить нужные приложения.

Viper4Android – популярный менеджер звуковых эффектов с широчайшими возможностями по настройке звукового тракта. С его помощью можно с лёгкостью раскрыть потенциал любого современного смартфона!

SELinuxPermissive Script - переводит систему безопасности SELinux в режим «Только предупреждение». Данную манипуляцию требуют некоторые приложения, например, аудио движок Viper4Android.

Xposed - мощный движок для модинга без изменения apk-файлов не требует представления. Поддерживается Android от Lollipop до Marshmallow. Отрадно, что теперь он работает без модификаций системных файлов! Для его установки помимо самого фреймворка из Magisk Manager необходимо установить Xposed Installer!

Выбор модулей и правда широкий, найти их можно в приложении, или в специальном разделе на XDA-Developers . Существует как общие модификации, вроде того же ViperFX или AdBlock, так и заточенные под определенные устройства, например, активация записи 50/60 FPS видео для Nexus 5X/6P, либо APT-X HD кодеки для OnePlus 3. Каждый найдет что-то интересное, а желающие смогут создать что-то своё, автор представляет весь необходимый инструментарий!

Как установить Magisk

Для установки приложения необходима версия ОС 5.0 Lollipop и выше, разблокированный загрузчик и кастомный рекавери, например, TWRP. Настоятельно рекомендуется сделать полный нандроид-бэкап на случай, если установка пройдёт неудачно.

Для полной функциональности Magisk Manager необходимо использовать MagiskSU, для корректной установки которого, предварительно рекомендуется удалить альтернативные администраторы рут прав. К примеру, SuperSU от Chainfire удаляется из меню настроек приложения.

Удаление Magisk Manager

Все необходимые для удаления файлы последней версии можно найти в топике
Для удаления приложения в автоматическом режиме , необходимо прошить Magisk-unistaller.zip соответствующей версии через кастомный рекавери.

В случае, если архив не отработал
, необходимо восстановить загрузочный раздел (boot.img) из резервной копии, а также вручную удалить /data/magisk.img, /cache/magisk, /data/busybox.

А что в итоге?

В результате выходит, что Magisk Manager – новый, современный подход к правам суперпользователя, который ориентирован на комфорт, а не на простую выдачу доступа. Очень радует модульность, с помощью которой можно достичь необходимого функционала без лишних рюшек. Проект активно развивается, думаю, что со временем разработчики начнут использовать его по умолчанию в своих кастомных прошивках.

Количество и содержимое скрытых разделов разнятся от производителя к производителю. Но как правило, на компьютерах с Windows можно найти следующие разделы.

Раздел «Зарезервировано системой»

Windows 7, 8 и 10 создают раздел «Зарезервировано системой», когда вы устанавливаете их. Windows не назначает этому разделу букву, так что обычно его не видно в «Проводнике». Но если вы запускали «Управление разделами» или аналогичную утилиту, то наверняка заметили этот раздел. Зачем он системе?

Раздел «Зарезервировано системой» выполняет две функции.

  • Во-первых, он содержит менеджер и данные системной загрузки. Именно отсюда начинается загрузка системы.
  • Во-вторых, здесь находятся файлы, используемые системной утилитой для шифрования BitLocker. Это необходимо для загрузки системы, если вы решили зашифровать системный раздел.

Раздел «Зарезервировано системой» занимает 100 МБ пространства в Windows 7, 350 МБ в Windows 8 и 500 МБ в Windows 10. Обычно раздел создаётся в течение установки системы и располагается перед основным системным разделом.

Раздел восстановления

Этот раздел содержит образы системы от производителя, необходимые для восстановления системы и возврата к заводским настройкам. Если вы удалите этот раздел, то сделаете невозможным возврат к заводским настройкам в среде восстановления Windows или через утилиты восстановления от производителя.

Разделы производителя

Некоторые производители ноутбуков, например HP и ASUS, создают на своих дисках ещё один дополнительный раздел. Он может содержать драйверы для ноутбука, дополнительное ПО, прошивки для обновления BIOS и прочие системные данные.

Как удалить или скрыть системные разделы

Перед тем как изменять или удалять системные разделы, учтите такие моменты.

  • Этого не следует делать, если ваш компьютер или ноутбук на гарантии.
  • Стоит сделать копию раздела на всякий случай. Например, чтобы сохранить лицензию на систему, приобретённую вместе с ноутбуком.
  • Имейте при себе загрузочный диск с Windows, чтобы переустановить систему, если что-то сломаете.

Как удалить раздел

Если вы всё-таки хотите удалить системные разделы, чтобы или избавиться от предустановленных приложений, которые вам не нужны, это можно сделать несколькими способами.

Во-первых, можно воспользоваться такими программами для управления разделами, как Acronis Disk Director или Paragon Partition Manager . Либо удалить раздел в стандартном «Управлении разделами» Windows.

Во-вторых, можно просто удалить ненужные разделы через командную строку.

Откройте командную строку от имени администратора и введите:

Затем выводим список разделов:

Запомните номер вашего раздела и введите:

select partition номер_раздела

Наконец, вводим:

delete partition override

И ненужный раздел удаляется.

Как скрыть раздел

Обычно системные разделы не отображаются в «Проводнике» и не особенно заметны пользователю. Но если один из системных разделов почему-то стал видимым и раздражает вас, его можно легко скрыть.

Вызовите «Управление разделами». Для этого можно нажать Windows + R и ввести diskmgmt.msc . Затем отыщите нужный раздел, щёлкните по нему правой кнопкой мыши и выберите пункт меню «Изменить букву диска или путь к диску». Затем удалите букву диска.

Теперь ненужный раздел перестанет отображаться в «Проводнике».

Как предотвратить создание зарезервированного раздела

Вы можете предотвратить создание зарезервированного раздела при установке Windows, хотя делать этого и не рекомендуется. Но вы можете установить загрузочные файлы прямо в системный раздел.

  • Начните устанавливать Windows и нажмите Shift + F10, чтобы вызвать окно командной строки.
  • Введите diskpart и нажмите Enter.
  • Создайте новый раздел в неразмеченном пространстве. Например, если вы устанавливаете систему на пустой диск, вы можете просто выбрать его целиком. Или создать отдельный раздел для документов и прочих ваших данных, если хотите.
  • Продолжите установку. Когда вам предложат создать новый раздел для системы, просто выберите тот, что создали в предыдущем пункте.

Так вы уместите и загрузочные файлы, и систему в один раздел. Правда, вы не сможете пользоваться BitLocker. Зато уменьшите количество разделов, занимаемых системой. Это может быть полезно, если вы устанавливаете Windows второй системой и не хотите, чтобы она плодила разделы.

Те, кто повседневно пользуются планшетом или смартфоном на основе ОС Android часто хотят получить больший функционал, чем предоставляется при покупке. Для этого нужно получить root права (доступ к полномочиям администратора), установить кастомную прошивку, установить другую загрузочную анимацию и много другого.

Когда пользователь изучает информацию по изменению своего устройства, часто приходится сталкиваться с упоминанием модифицированного рекавери, который обычно именуется ClockworkMod Recovery или TWRP Recovery. Общее понятие о модрекавери и вы можете найти в других статьях, а здесь мы познакомимся поближе с другим известным типом модифицированного заводского меню, а именно - с TWRP Recovery, который разработала команда Teamwin.

До того, как мы коснёмся изучения функций TWRP Recovery более подробно, необходимо заметить, что в сравнении с ClockworkMod имеется ряд особенностей, благодаря которым многие пользователи предпочитают использовать именно TWRP:
- Возможность полноценно использовать тач для управления функциями модрекавери;
- более гибкая настройка ряда опций;
- поддержка установки сразу нескольких zip файлов;
- подробное меню выбора того, что необходимо сохранить в резервных копиях;
- возможность пользоваться S-Pen на планшетофонах Galaxy Note;
- блокировка экрана и спящий режим при помощи кнопки питания.

Руководство пользователя при работе с модрекавери TWRP Recovery
1. Общая информация о TWRP
2. Инсталлирование TWRP Recovery
3. Как попасть в меню TWRP Recovery
4. Подробное рассмотрение основных функций в меню TWRP Recovery
5. Перепрошивка, замена системных файлов, установка обновлений, модификаций на устройства Android при помощи TWRP

Что такое TWRP Recovery

Познакомимся с тем, что собой представляет TWRP Recovery.
В сравнении со стандартным заводским меню, TWRP Recovery отличается гораздо большим количеством доступных пользователю функций. С помощью него можно сохранять полный слепок системы, устанавливать нестандартное ПО, другие прошивки, заменять ядро ОС, восстанавливать систему из резервной копии, доступны и многие другие возможности. TWRP записывается в особый раздел внутренней памяти телефона или планшета, заменяя собой заводское рекавери.
Зачастую, в ряде, на первый взгляд, безвыходных ситуаций, TWRP Recovery может прийти на помощь. Не смотря на то что телефон может перестать загружаться, не редко, воспользовавшись TWRP, можно полностью восстановить работоспособность устройства из резервной копии, сохранив все установки, программы и их настройки.

Приведём краткий перечень основных возможностей TWRP Recovery:
- Установка альтернативных (кастомных) прошивок, или ядер;
- Установка обновлений системы, исправлений, внесение корректив в функции гаджета;
- Создание полной резервной копии системы или отдельных её частей (данных приложений, системного раздела, кэша, настроек);
- Подключение посредством USB шнура к компьютеру в качестве съёмного накопителя;
- Восстановление предыдущего состояния системы из раннее сохранённой резервной копии (бекапа);
- Редактирование разделов на карте памяти (создание, форматирование, удаление);
- Возможность сброса на заводские установки (Wipe - data/factory reset). Можно удалять только часть данных вместо полного сброса к исходному состоянию: удаление статистики батареи (wipe battery stats), очистка кеша (wipe cache), стирание далвик-кеша (wipe Dalvik-cache);
- Использование в качестве терминала для выполнения команд;
- Возможность работать с системными файлами на планшете или телефоне.

Установка TWRP Recovery

Чтобы установить TWRP Recovery на большую часть устройств, много усилий не потребуется. Если инсталлировать с Google Play приложение GooManager, то можно в её меню воспользоваться функцией "Install OpenRecovery Script".

Многие гаджеты на Андроиде, к примеру смартфоны и планшеты Nexus, имеют специально предназначенные программы, как Google Nexus 7 Toolkit, где есть функция установки модифицированного рекавери. Кроме того, воспользовавшись программой adb, можно тоже инсталлировать TWRP Recovery.

Как попасть в TWRP Recovery

Для того, чтобы войти в меню модифицированного рекавери, можно воспользоваться несколькими способами:
1. При помощи нажатия особой комбинации кнопок при включении гаджета. Комбинация может разниться для разных моделей устройств на Андроиде. К примеру, на ряде устройств попасть в рекавери можно, зажав во время включения одновременно клавиши увеличения громкости звуков и кнопки питания.
2. Воспользовавшись специализированной программой, как GooManager иои Titanium Backup, которые позволяют выбрать в своём меню функцию загрузки в режим Recovery, пункт "Reboot Recovery".
3. Если на ПК установлены соответствующие гаджету драйвера и настроено подключение при помощи программы ADB (т.н. ADB shell), то подсоединив к устройству USB провод от компьютера, можно запустить на исполнение команду:

adb reboot recovery

Основные функции и меню TWRP Recovery

Загрузив телефон или планшет в TWRP Recovery, вы первым делом попадёте в главное меню.

В данной инструкции рассматриваются функции и возможности TWRP Recovery версии 2.3.2, которая является наиболее актуальной на момент написания статьи. Другие версии TWRP могут обладать немного другим интерфейсом, однако главный функционал останется таким же как и в рассматриваемой нами версии.

Внешний вид TWRP recovery также может немного отличаться, в зависимости от конкретного устройства и выбранной темы оформления.
Поскольку TWRP recovery поддерживает сенсорное управление, то выбирать нужные пункты меню и перемещаться по ним весьма просто - достаточно, также как и при обычном использовании гаджета, нажимать на нужный нам элемент пальцем.
Если вы хотите вернуться в предыдущее меню, то в каждом подменю находится в нижней (телефон) или верхней правой (планшет) части дисплея кнопка возврата. Также сверху показан процент заряда аккумулятора и текущее время.

Функции основных пунктов меню:
1. Install

Используется для установки прошивок, патчей и модификаций.
Это одна из самых наиболее применяемых функций TWRP Recovery.
Воспользовавшись этой опцией, можно инсталлировать кастомные (неофициальные), официальные прошивки, программы в системный раздел, заменять ядра, изменять бутанимацию, темы оформления и другое. Обновления устанавливаются из файлов, находящихся в любом месте карты памяти устройства, в zip формате.
Выбрав необходимый файл, открывается меню, в котором можно добавить следующее обновление. Таким образом можно составить очередь, по которой будет проходить установка патчей (пункт Add More Zips). После того, как нужные файлы выбраны, нужно начать прошивку, протянув с левой стороны вправо слайдер, который находится в нижней части дисплея.

Функция Zip Signature verifications может активировать проверку цифровой подписи zip файлов.
При помощи пункта Force MD5 check on all Zips активируется проверка устанавливаемых обновлений на соответствие контрольных MD5 сумм.

2. Wipe Меню очистки и удаления данных

В этом разделе есть возможность очищать память телефона, как полностью возвратившись к заводским настройкам (Factory Reset), так и выбрав очищение лишь определённой её части, как системный раздел System, кэш (Cache), или Dalvilк Cache. После применения Factory Reset устройство вернётся к состоянию, в котором пришло с завода.
Кроме этого, есть возможность очистить внутреннюю память (Internal Storage) или внешнюю SD карту (External Storage), очистить папку, где хранятся установленные на внешнем носителе программы (android_secure) или сбросить счётчик статистики батареи (Wipe Battery Stats).
Аналогично другим исполняемым функциям, подтвердить свой выбор можно, воспользовавшись слайдером, который появится в нижней части дисплея. Отменить выполнение задач можно, тапнув по кнопке "Назад".

3. Backup Раздел резервирования данных или системы

Это один из самых важных пунктов в модифицированном рекаверри. Здесь можно сделать резервную копию всей системы телефона или планшета, включая данные приложений и установки устройства - Nandroid Backup.

В этом разделе можно :
- Выбрать части памяти, которые требуется зарезервировать: Data, System, Recovery, Boot, Uboot, Cache, NVram;
- Посмотреть на доступный объём места в памяти (Free Space);
- Выключить создание контрольных сумм в файлах резервов (Skip MD5 generation during backup);
- Активировать сжатие файлов бекапа (Enable Compression);
- Выбрать для сохранения резервных данных внутреннюю память устройства (Use internal storage);
- Выбрать внешнюю карту памяти для сохранения файлов бекапа (Use external SD);
- Обновить информацию по свободной памяти в разделах (Refresh Sizes);
- Установить название для резервной копии (Set Backup name).
Также как и раньше, активировать запуск выбранных вами функций можно при помощи слайдера, после чего будет показан прогресс выполнения операции.

Когда процесс завершится, можно перезагрузить гаджет, воспользовавшись опцией Reboot System, или вернуться в главное меню TWRP, воспользовавшись стрелочкой.

4. Restore Меню восстановления частей или полностью системы из ранее созданной резервной копии

В этом разделе предоставляются следующие возможности :
- выбор внутренней памяти устройства в качестве места, где будет осуществляться поиск резервных копий (Use internal storage);
- установить внешнюю карту памяти как раздел, где рекавери будет искать бекап (Use external SD).
Если вы не меняли настройки при создании бекапа, то по умолчанию имена резервных копий складываются из числа и времени создания. Файлы можно отсортировать следующими способами:
- по возрастанию (Sort Ascending) или убыванию (Sort Descending) даты создания;
- увеличению или уменьшению размера резервных копий.

Когда искомая резервная копия найдена, предоставляется следующий выбор функций :
- отметить те разделы, которые требуется восстановить (Data, System, Recovery, Boot, Uboot, Cache, NVram);
- удалить эту резервную копию (Delete Backup);
- дать другое имя выбранной резервной копии (Rename Backup);
- включить проверку контрольных MD5 сумм в файлах резервных копий.

Начать выполнение выбранной операции, подтвердив выбор, воспользовавшись слайдером внизу экрана.

5. Mount

Здесь вы можете монтировать и размонтировать разделы и совершать операции с ними. При монтировании данные, содержащиеся на разделе становятся доступными.

В этом разделе есть функции :
- Монтирование, размонтирование системного раздела (Mount/Unmount System);
- Монтирование, размонтирование кеш раздела (Mount/Unmount Cache);
- Монтирование, размонтирование раздела данных (Mount/Unmount Data);
- Монтирование, размонтирование внутренней памяти (Mount/Unmount Internal);
- Монтирование, размонтирование внешней карточки памяти (Mount/Unmount Sdcard);
- Подключение устройства к ПК в качестве накопителя (Mount USB storage). Здесь к ПК можно подключить SD карту (Use external SD) или встроенную память гаджета (Use internal storage).

6. Settings Настройки модифицированного рекавери

Здесь задаются установки, которые TWRP Recovery будет использовать по умолчанию при выполнении функций:
- Включить/отключить проверку цифровой подписи устанавливаемых файлов (Zip file signature verification);
- Включить/отключить проверку контрольных сумм для любых файлов формата zip (Force MD5 check for all zips);
- Стирание файлов вместо форматирования во время очистки памяти (Use rm -rf instead of formatting);
- Не учитывать ошибки в размерах файлов, когда проводится резервное копирование (Ignore image size errors during backup);
- Не создавать контрольные суммы во время создания бекапа (Skip MD5 generation during backup);
- Выбрать свою временную зону (Time Zone);
- Вернуться к установкам TWRP Recovery по умолчанию (Restore Defaults).

7. Advanced Дополнительные опции TWRP

Здесь можно :
- Активировать сохранение файла лога операций на карту памяти (Copy Log to SD);
- Вернуть к первоначальному состоянию права доступа на системные папки и файлы, которые могут нарушаться некоторыми приложениями с root привилегиями. Иногда нарушение прав доступа может приводить к сбоям и зависаниям планшета или телефона (Fix Permissions);
- Изменять разделы на карте памяти (создавать, удалять, создавать кэш-файлы swap). Swap обычно применяется для того, чтобы ускорить работу Андроид устройств. (Partition SD Card).
Здесь можно выполнить следующие команды: Copy (копировать файл), Move (переместить файл), Chmod 755 (установить права доступа 755, которые по умолчанию используются для всех системных файлов), Chmod (установить другие права), Delete (удалить файл), Rename File (переименовать файл);
- Выполнить команду, введённую вручную в режиме терминала (так же как с ПК при помощи интерфейса adb Sshell) (Terminal Command).

8. Reboot

С помощью этого пункта можно перезагрузить устройство. Доступные опции :
- перезагрузиться в рабочий режим устройства (System);
- перезагрузиться в рекавери (Recovery);
- выключить планшет или телефон (Power Off).

Перепрошивка, замена системных файлов, установка обновлений, модификаций на устройства Android при помощи TWRP

Для того, чтобы установить другую прошивку или патч, потребуется эти файлы в формате zip скопировать на карту памяти или во внутреннюю память.

Далее выполняем следующее :
1. Загружаемся в TWRP recovery;
2. Выбираем функцию "Install";
3. Выбираем внутреннюю (Use internal storage) или внешнюю память (Use external SD), в зависимости от того куда мы скопировали нужные нам файлы.
4. Находим и выбираем файл, который требуется установить.
5. Если у вас есть файл md5 вместе с Zip, то можно активировать проверку сумм (Force MD5 check on all Zips), в противном случае не делаем этого;
6. Запускаем установку, протянув слайдер слева на право.

Можно выбрать сразу 10 файлов zip, которые последовательно будут установлены. По окончании процесса установка выполнена.
Когда процесс завершится рекомендуется очистить кеш и dalvik кеш.