Кастомний Android: робимо свою прошивку з — стокове без копаючись у вихідниках. Призначення пунктів меню TWRP Recovery

Кастомний Android: робимо свою прошивку з — стокове без копаючись у вихідниках. Призначення пунктів меню TWRP Recovery

16.06.2022

Права суперкористувача або рут - невід'ємна частина світу операційної системи 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 - новий, сучасний підхід до прав суперкористувача, орієнтований на комфорт, а не на просту видачу доступу. Дуже тішить модульність, за допомогою якої можна досягти необхідного функціоналу без зайвих рюшок. Проект активно розвивається, гадаю, що згодом розробники почнуть використовувати його за умовчанням у своїх кастомних прошивках.

Привіт Хабре!

Декілька років тому, коли я вперше познайомився з Android, я почув від свого колеги по роботі, що Android передбачає можливість встановлення модифікованих або саморобних прошивок. Зізнатись, тоді я був далекий від цього. І навіть півроку тому мене ледве цікавили подібні речі. Глибоко в душі, я був певен: те, що робить виробник, вже призначено для нормального використання.

Яке ж було моє розчарування, коли я придбав телефон із піднебесної, де заводськими налаштуваннями було заборонено використання Google, Skype, Facebook та інших програм. В принципі, на деякі речі можна було заплющити очі, але коли мій телефон не припускав використання облікового запису Google - я взяв із себе обіцянки обов'язково розібратися у що б мені це не стало.

Пройшло півроку і мої кастомні прошивки з успіхом використовуються у всьому світі.

У цій серії статей йтиметься про те, як робити reverse програмування для Android, реалізовувати патчі, твікі та моди.

Преамбула

І так! Давайте спершу визначимося з поняттями, які будуть використовуватись у даноїстатті. Ваше звичне розуміння при цьому може сильно відрізнятися.

Патч- Зміна або заміна існуючого програмного коду з метою модифікації алгоритму програми.
Мод- як правило, додавання додаткового функціоналу до існуючого програмного коду без зміни алгоритму.
Твік- удосконалення функціоналу програми з метою полегшення доступу до параметрів системи.

Також хочу зауважити, що всі приклади буде взято для телефону HTC, але це не означає, що ця інформація не може бути використана на інших телефонах.

Підготовка середовища

Обійдуся без докладних інструкцій, як користуватися тим чи іншим програмним забезпеченням. Якщо вам цікава ця стаття і ви дочитали до цих рядків, то я сподіваюся, що ви вже досвідчений користувач і маєте досвід використання, чи хоча б експериментування в даній галузі. Інструкцій, статей та результатів тестування повно у відкритому доступі, втім, як і на Хабрі. Також обійдуся без опису деяких термінів, інакше стаття вийде дуже великою та нудною. Писатимемо лише у справі. Впевнений, що середовище у вас вже давно стоїть. Якщо ні, то пропоную завантажити та встановити.

1 . Android SDK. Це середовище розробки додатків для Андроїд. Для того, щоб робити модифікації, нам обов'язково доведеться перевіряти наш програмний код. Середовище розробки є найкращим, що ми можемо використовувати.
2 . Android Kitchen. Дана утиліта дозволить вам працювати з образами системних партій офіційної або неофіційної прошивки.
3 . JD-GUI. Декомпілятор програмного коду Java. Відразу зазначу, що це найкращий декомпілятор щодо зручності використання.
4 . DJ Java Decompiler. Ще один декомпілятор, або дизассемблер, як дехто любить називати, програмного коду мови Java. Не зручний у плані використання, але розбирає код, який інколи не розуміє JD-GUI.
5 . smali. Ще один дизассемблер, але вже дальвік коду. smali потрібен для дизассемблирования, а backsmali асемблювання коду.
6 . dex2jar. Утиліта для конвертації виконуваних файлів коду Dalvik.

Перетворення прошивки

Зрозуміло, прошивка, яка стоїть у вас на телефоні від виробника оптимізована з метою скорочення енергоспоживання. Щоб прошивку можна було змінювати, її необхідно перетворити на формат, що дозволяє змінювати код. Для цього використовується Android Kitchen. Можна звичайно й руками, як я й робив раніше, поки не знайшов цієї самої «кухні». Як витягувати системну область з телефону, встановлювати середовище, робити прошивки DEODEX, ви можете прочитати в інтернеті. Якщо вам уже нічого не зрозуміло, я думаю варто почекати зі статтею, доки ви не наберете достатньо досвіду.

Після того, як прошивка з оптимізованого вигляду (ODEX - оптимізований dalvik виконуваний код, якщо мені не змінює пам'ять) стала DEODEX (тобто НЕ оптимізованою), всі файли, що виконуються, готові до модифікації.

Безпосередньо модифікації

Створення патчів
Як я вже й розповідав, мій телефон спочатку мав заборону використання Google. Ну хоч ти трісну, на Playstore не зайти, обліковий запис не налаштувати, телефонна книга до ладу не синхронізується. Навіщо потрібний такий Android? Довго копаючись у логах самого пристрою, я знайшов записи, які говорили про те, що використання Google заборонено. Найнезручніше в Android, ви бачите лог, але не знаєте, який системний додаток його виробляє. Щоб знайти від куди ноги ростуть, мені довелося розпатрати всі системні програми до дизассемблированного Java коду. Це зайняло достатньо часу, але я досі користуюся виконаною роботою при аналізі та пошуку потрібного коду. Етапи отримання такого інструментарію такі:
1 . Зробити DEODEX всієї прошивки
2 . Вашу нову DEODEX прошивку треба буде зібрати та прошити на телефон. Як це робиться – тема іншої статті.
3 . З кожного файлу, що знаходиться в /system/framework, витягнути файл classes.dex і переконвертувати в JAR за допомогою dex2jar.
4 . Кожен отриманий JAR відкрити в JD-GUI та пере-зберегти у вихідний код
5 . Розпакувати вихідний код із архіву.

У результаті вийшло стільки папок, скільки було JAR файлів в /system/framework, і кожна папка мала структуру вихідних кодів Java.
Шляхом нескладних маніпуляцій, я швидко знайшов місце, яке генерувало записи в logcat.

Не розглядатимемо всю логіку заборони, тому що для кожного випадку це окрема історія. Мені довелося витратити пару годин, перш ніж я знайшов де проводяться перевірки, побудувати в голові блок схему алгоритму і зрозуміти куди треба лізти, щоб трохи «попсувати» алгоритм.

Виявилось все просто. Є підпрограма, яка на основі заздалегідь встановлених констант, при зверненні відповідала, чи ставиться телефон до Китаю чи ні.

Код знаходився у файлі HTCExtension.jar, а клас, який містив цю підпрограму, знаходився в

Розпакування та аналіз оригінального файлу
1 . Спершу нам треба взяти оригінальний DEODEX JAR файл, який відповідає за потрібну частину коду. У нашому випадку HTCExtension.jar.
2 . Відкрити будь-яким архіватором та витягнути від туди classes.dex
3 . За допомогою конвертера dex2jar перетворити його на JAR файл. Команда: dex2jar.bat classes.dex
4 . Відкрити отриманий файл classes_dex2jar.jar в JD-GUI.
5 . Так, найчастіше JD-GUI декомпілює код не оскільки він виглядає в оригіналі, воно і зрозуміло, але читати цілком можна. У вихідному джерелі ми бачимо, що підпрограма перевіряє параметри проекту та мовний прапор прошивки. У нашому сумному випадку повертається значення TRUE.
public static boolean isChina() ( if ((HtcBuildFlag.Htc_PROJECT_flag == 216) || (HtcBuildFlag.Htc_PROJECT_flag == 218) || (HtcBuildFlag.Htc_PROJECT_flag == 23 flag == 1) && (2 == HtcBuildFlag.Htc_LANGUAGE_flag)) || (HtcBuildFlag.Htc_PROJECT_flag == 27)) return true; return false;
6 . Щоб зробити патч, нам треба дизасемблювати сам код Dalvik. Для цього використовуємо baksmali. Найзручніше створити окрему папку і покласти туди три файли разом: HTCExtension.jar, smali.jarі baksmali.jar. Даємо команду java -Xmx512m -jar baksmali.jar -a -d -o HTCExtension -x HTCExtension.jar

Це API вашої версії Android. Для JB - це 16
- папка, де знаходяться всі фреймворки прошивки.

У моєму випадку це була команда
java -Xmx512m -jar baksmali.jar -a 16 -d S:\dev\Android\Android-Kitchen\WORKING_JB_15\system\framework -o HTCExtension -x HTCExtension.jar
7 . У нашій новоствореній папці з'явилася папка HTCExtension, а в ній наші файли з кодом Dalvik.
8 . Шукаємо файл по дорозі \com\htc\util\contacts\BuildUtils$Customization.javaі дивимося код:
.method public static isChina()Z .registers 3 .prologue const/4 v0, 0x1 .line 276 sget-short v1, Lcom/htc/htcjavaflag/HtcBuildFlag;->Htc_PROJECT_flag:S const/16 v2, , v2, :cond_13 sget-short v1, Lcom/htc/htcjavaflag/HtcBuildFlag;->Htc_PROJECT_flag:S const/16 v2, 0xda if-eq v1, v2, :cond_13 sget-short v1,Fc/ ;->Htc_PROJECT_flag:S const/16 v2, 0x17 якщо в1, v2, :cond_14 .line 297:cond_13:goto_13 return v0 .line 283:cond_14 sget-short v1, Lcom/tc/ Htc_PROJECT_flag:S if-ne v1, v0, :cond_1d .line 285 const/4 v1, 0x2 sget-short v2, Lcom/htc/htcjavaflag/HtcBuildFlag;->Htc_LANGUAGE_flag:S if-eq. 291:cond_1d sget-short v1, Lcom/htc/htcjavaflag/HtcBuildFlag;->Htc_PROJECT_flag:S const/16 v2, 0x1b if-eq v1, v2, :cond_13 .line 297 const/4 метод
9 . Страшно, чи не так? Нічого не зрозуміло. Але, ця справа можна виправити. Створивши кілька своїх патчів і набивши цим руку, ви легко зможете модифікувати код без сторонніх засобів. У нашому випадку, у цьому коді
.prologue const/4 v0, 0x1 відбувається надання змінної v0 значення 1, тобто TRUE. Далі йдуть усілякі перевірки, і якщо телефон не китайський, то значення змінної змінюється:
.line 297 const/4 v0, 0x0 goto:goto_13
10 . Найпростіший спосіб врятувати батька російської демократії, це змінити код наступного:
.prologue const/4 v0, 0x0 , тобто поміняти значення змінної з 1 на 0. Тобто що б не було, завжди поверталося значення FALSE і в JD-GUI код виглядав би як public static boolean isChina() ( if (( HtcBuildFlag.Htc_PROJECT_flag == 216) || (HtcBuildFlag.Htc_PROJECT_flag == 218) || lag.Htc_LANGUAGE_flag)) ||(HtcBuildFlag.Htc_PROJECT_flag == 27)) return false; return false;
11 . Так, метод, працюватиме. Але ж ми не шукаємо легких шляхів - це раз. По-друге, не зовсім красиво. Хочеться коду щось на зразок
public static boolean isChina() ( return false; )
12 . Як нам отримати Dalvik код цього вихідного коду? Для новачків ми зробимо невеликий трюк.

Створення коду Dalvik
1 . Відкриваємо Android SDK.
2 . Створюємо новий проект і в наш єдиний тестовий клас пишемо наступний код
package ru.habrahabr.test; public class test (public static boolean isChina() (return false;))
3 . Компілюємо наш проект і потім беремо зібрану програму з робочої області.
4 . Кладемо зібраний додаток до папки, де ми з вами потрошили JAR файл.
5 . Даємо команду java -Xmx512m -jar baksmali.jar -a -d -o test -x test .apk
6 . Ми дизассемблировали щойно зібраний додаток у Dalvik код.
7 . Відкриваємо наш файлик test.smali і бачимо там код
.method public static isChina()Z .registers 1 .prologue .line 7 const/4 v0, 0x0 return v0 .end method
8 . Все, код для патчингу готовий.
Накочування патчу
1 . Dalvik код засмічений маркерами, що вказують на рядок коду в оригінальному вихідному файлі. Це потрібно при виведенні помилок, якщо такі є у вашій програмі. Без вказівок рядків код також чудово працює.
2 . Видаляємо рядки з нумерацією рядків, копіюємо та замінюємо метод (підпрограму) у нашому \com\htc\util\contacts\BuildUtils$Customization.javaфайл.
.method public static isChina()Z .registers 1 .prologue const/4 v0, 0x0 return v0 .end method
3 . Зберігаємо файл. Так, забув сказати, редактор потрібен нормальний, наприклад, Notepad++ або EditPlus. Кому який подобається.
Компіляція та складання патченого JAR файлу
1 . За допомогою backsmali ми розпатрали наш JAR файл, а тепер його треба зібрати назад.
2 . Даємо команду java -Xmx512m -jar smali.jar -a 16 HTCExtension -o classes.dex
3 . У нашій татці з'являється файлик classes.dex
4 . Знову відкриваємо HTCExtension.jarфайл архіватором та замінюємо в ньому існуючий classes.dexна наш щойно створений.
5 . Все, наш HTCExtension.jarмістить модифікований програмний код.
Заміна оригінального файлу на патчений
Зазвичай, для рядових користувачів створюються спеціальні скрипти, які замінюються через recovery. Але нам таке не цікаво. По-перше, довго і нудно, по-друге ми ж досвідчені користувачі і можемо собі дозволити деякі тонкощі.

1 . Замінити поточний робочий файл можна наступними командами, якщо у вас вже стоїть прошивка DEODEX і є root доступ:

Adb push HTCExtension.jar /sdcard/HTCExtension.jar adb shell su mount -o remount -rw /system dd if=/system/framework/HTCExtension.jar of=/system/framework/HTCExtension.jar.back dd if=/sdcard /HTCExtension.jar of=/system/framework/HTCExtension.jar chmod 644 /system/framework/HTCExtension.jar rm /data/dalvik-cache/system@ [email protected]@classes.dex reboot

Перша команда закидає патчений файл на флешку
Друга команда відкриває shell
Третя команда дає root доступ
Четверта команда монтує систему в режим читання/запису
П'ята команда створює резервну копію файлу
6-а команда перезаписує існуючий файл новим патченим.
7-а команда налаштовує дозволи
8-а команда видаляє кеш
9-а команда робить перезавантаження пристрою.

2 . Спасибі, що дочитали до цього пункту, залишилося небагато.
3 . Після перезавантаження ваш новий патчений код набуде чинності.
4 . Якщо код не працює або вискакує помилка, шляхом не хитрих комбінацій можна повернути назад резервну копію.
adb shell su mount -o remount -rw /system dd if=/system/framework/HTCExtension.jar.back of=/system/framework/HTCExtension.jar rm /data/dalvik-cache/system@ [email protected]@classes.dex reboot

Епілог

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

До наступної статті я розповім, як робити Твіки. Буде прикладом використання автоматичного запису телефонних дзвінків рідними засобами телефону. Дякую за вашу увагу.

P.S. Якщо щось не зрозуміло чи бентежить, ставте питання - завжди буду радий відповісти і пояснити.

Постановка проблеми

Зберігання інформації в комп'ютері пов'язане з ризиком її випадкового або навмисного розкриття, тому для її захисту застосовують різні методи та засоби. Найчастіше як основний засіб, що перешкоджає вільному доступу до інформації в електронному вигляді, використовують шифрування, що реалізується апаратним чи програмним способом. Як об'єкти криптографічного захисту виступають окремі файли, групи файлів, каталоги та, нарешті, логічні диски. Результатом шифрування є файлові архіви, що знаходяться на електронному носії. Подробиці реалізації різних криптографічних алгоритмів можна зазначити, що в цьому випадку ЦКУ необхідно також вирішувати завдання, пов'язані з гарантованим знищенням початкової незашифрованої інформації, щоб унеможливити її відновлення.

Справа в тому, що особливістю всіх використаних файлових систем ( FAT, NTFS та ін).є не можливість перезапису інформації в кластерах, що належать якомусь файлу, поки даний файл не буде помічений як віддалений. Тобто під час шифрування файлу його зашифрований екземпляр записується не замість початкового файлу, а у вільні кластери електронного носія, і тільки після завершення процесу шифрування незашифрований файл видаляється, якщо це не передбачено алгоритмом.

Таким чином, можливе відновлення видаленої незашифрованої інформації, чим успішно справляються такі програмні продукти, як File Recover, Back2Life, R-Studio, GetDataBack for NTFS та ін.

Якщо не враховувати рекомендацій, пов'язаних з повним фізичним знищенням електронного носія,то унеможливити це можна лише шляхом багаторазового перезапису тих кластерів магнітного диска, де раніше зберігалася конфіденційна інформація. Наприклад, американський національний стандарт Міністерства оборони DOD 5220.22-M (E) передбачає в перший прохід запис випадкових чисел, в другому - чисел, додаткових до записаних на попередньому проході, а в третій - випадкових чисел. На місце знищуваних даних по черзі пишуться всі відомі комбінації розрядів (всього здійснюється 35 проходів). — методи знищення інформації підтримують американські стандарти DOD 5220.22-M, Army AR380-19, NCSC-TG-025, Air Force 5020, NAVSO P-5239-26, HMG IS5,німецький VSITR, канадський OPS-II та російський ГОСТ P50739-95 та ін. шифрування, що виконується всередині логічного диска,завжди пов'язані з ризиком неповного знищення початкової інформації, тому необхідний інший підхід до цієї проблеми.

Меню Виправлення(Edit) програми Regedt32 містить команди, що дозволяють додавати, модифікувати та видаляти розділи та значущі елементи реєстру.

Для додавання нового розділу до будь-якого куща реєстру слід вибрати команду Додати розділ(Add Key) меню Виправлення.Під час виконання цієї команди вам пропонується ввести ім'я розділу та клас (клас у цьому випадку відноситься до типу даних). Діалогове вікно для введення цієї інформації показано на рис. 14.5. Списку, з якого можна вибрати тип даних, у цьому діалоговому вікні не наводиться, але надається можливість створити розділ, а тип даних визначити при введенні нового параметра до складу створеного розділу.

Команда Додати розділвикористовується додавання значних елементів до складу розділів реєстру. Діалогове вікно, що розкривається при виконанні цієї команди (рис. 14.6), містить список, що дозволяє вибрати тип даних для значущого елемента: рядкові значення (REG_SZ, REG_ MULTI_SZ і REG_EXPAND_SZ) або двійкові значення (REG_DWORD або REG_BINARY).

Щоб видалити з реєстру розділ або значущий елемент, виділіть об'єкт (розділ або значущий елемент), намічений для видалення, та виберіть команду видалити(Delete) меню Виправлення.Вам буде запропоновано підтвердити намір видалити вибраний розділ або значущий елемент.

Примітка

Як уже неодноразово повторювалося, редактори реєстру не підтримують операцій скасування (Undo), тому після підтвердження операції видалення у вашому розпорядженні не буде жодного іншого способу відновити віддалену інформацію, крім її відновлення за попередньо створеною резервною копією. Крім цього, редактор реєстру пропонує підтвердити операцію видалення, лише якщо в меню Параметри встановлена ​​опція Підтвердження видалення (Confirm On Delete). Тому, наважившись видалити розділи з реєстру, не нехтуйте резервним копіюванням (і шукайте собі зайвих завдань за вже існуючому рішенні).

Якщо ви випадково видалите щось із розділу реєстру HKEY_LOCAL_ MACHINE\System\CurrentControlSet, пам'ятайте про можливість відновлення вмісту цього розділу за допомогою останньої успішно завантаженої конфігурації (див. розділи 2 та 8). Для виконання цієї операції перезавантажте комп'ютер і відразу після появи меню завантажувача натисніть клавішу , а потім виберіть із налагоджувального меню опцію Завантаження останньої вдалої конфігурації (Last Known Good).

Крім команд видалення елементів реєстру та додавання до його складу нових розділів та параметрів, у меню Виправленняредактора Regedt32 є набір команд для редагування існуючих елементів реєстру (і слід зазначити, що цей набір опцій набагато ширший, ніж той, що надається новішою програмою Regedit). Меню Виправленняредактора реєстру Regedt32 містить команди Двійкові дані(Binary), Рядок(String), Подвійне слово(DWORD) та Багаторядкові(Multi String). Вибір кожної з команд запускає редактор значень відповідного типу – наприклад, вибір команди Двійкові данізапускає редактор двійкових значень – Binary Editor, вибір команди Подвійне слово- Редактор значень типу DWORD, а вибір команд Рядок та багаторядковівикликає відповідні редактори рядкових і багаторядкових значень. Зауважте, що таких широких можливостей у редакторі Regedit просто немає.

Завантаживши свій планшет або телефон у TWRP Recovery, ви перш за все побачите його основне меню:

Скріншоти зроблені в одній із останніх (на момент написання статті) версій TWRP recovery 2.3.2. Більш нові версії TWRP, а також версії для різних пристроїв можуть мати трохи інше меню, але основні функції залишаться без змін.
Крім того, зовнішній вигляд TWRP recovery на вашому пристрої може бути іншим – він може змінюватись в залежності від теми оформлення.
Завдяки сенсорному інтерфейсу рекавері, переміщатися його пунктами і вибирати потрібні опції дуже просто - досить натиснути на певний елемент пальцем.
У всіх підменю, повернутися до попереднього меню можна, натиснувши кнопку повернення, розташовану в нижній (смартфон) або верхній правій (планшет) частині екрана.
У верхній частині екрана ви бачите відсоток заряду батареї та поточний час.

Призначення пунктів основного меню:

1. Install – встановлення прошивок та доповнень

Це один з часто використовуваних пунктів TWRP Recovery.
З його допомогою можна встановлювати як офіційні, так і неофіційні (кастомні) прошивки, встановлювати ядра, теми та інше програмне забезпечення, яке має знаходитися в zip файлі, розміщеному на вбудованій пам'яті вашого пристрою.
Після вибору файлу ви потрапляєте у наступне меню, де можете вибрати додавання наступного файлу до черги прошивки (кнопка Добавте більше Zips) або розпочати прошивку вибраного файлу за допомогою слайдера, розташованого в нижній частині екрана.

За допомогою опції Zip Signature verificationsвмикається режим перевірки підпису zip файлу.
За допомогою опції Force MD5 check on all Zipsможна ввімкнути перевірку контрольних сум MD5 для всіх zip файлів, що встановлюються на пристрій.

2. Wipe – очищення та скидання до заводських налаштувань

За допомогою цієї опції ви можете очистити такі розділи як кеш ( Cache), Dalvilк Cache, System, а також зробити скидання до заводських налаштувань – Factory Reset, після якого ваш телефон або планшет повернеться до того стану, в якому він продавався в магазині.
Також можна очистити зовнішню картку пам'яті. External Storageта внутрішню пам'ять – Internal Storage, очистити системну папку android_secure та зробити очищення статистики використання батареї – Wipe Battery Stats.
Як і в інших пунктах меню, підтвердити старт тієї чи іншої операції, ви повинні будете за допомогою слайдера, який з'являється в нижній частині екрана. Скасувати операцію можна за допомогою кнопки "Назад".

3. Backup – створення резервної копії системи

Ще один із найважливіших пунктів TWRP. За допомогою нього, ви можете зробити повну копію всієї системи планшета, разом з даними та програмами, наявними в його внутрішній пам'яті - так званий Nandroid Backup.
Тут ви можете:

  • Вибрати розділи, які потрібно зберегти: System, Data, Boot, Recovery, Cache, Uboot, NVram.
  • Дізнатися обсяг вільного місця на носії:Free Space.
  • Увімкнути стиснення резервної копії:Enable Compression.
  • Вимкнути створення файлів із контрольними сумами резервних копій:Skip MD5 generation при backup.
  • Вибрати картку пам'яті для зберігання резервних копій:Використання external SD.
  • Вибрати внутрішню пам'ять пристрою для зберігання резервних копій:Use internal storage.
  • Вказати ім'я файлу резервної копії - кнопкаНабір Backup name.
  • Розрахувати розміри розділів - кнопкаRefresh Sizes.

Як завжди, підтвердіть свій вибір за допомогою слайдера, і TWRP розпочне процес створення резервної копії:

Після цього ви можете перезавантажити планшет чи телефон – кнопка Reboot System, а також повернутись назад або в головне меню TWRP за допомогою відповідних кнопок.

4. Restore – відновлення системи із раніше зробленої резервної копії

Тут ви можете:

  • Вибрати картку пам'яті для пошуку резервних копій: Use external SD
  • Вибрати внутрішню пам'ять пристрою для пошуку резервних копій: Use internal storage

Імена резервних копій складаються з дати та часу їх створення. Ви можете сортувати файли за:

Зростанню « Sort Ascending» імені, дати та розміру
Зменшенню « Sort Descending» імені, дати та розміру

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

  • Вибрати розділи (System, Data, Boot, Recovery, Cache, Uboot, NVram), які потрібно відновити,
  • Перейменувати резервну копію « Rename Backup»
  • Видалити резервну копію « Delete Backup»
  • Увімкнути перевірку контрольних сум MD5 файлів резервних копій

Почати відновлення можна підтвердивши свій вибір за допомогою слайдера.

5. Mount – монтування окремих розділів, їх форматування та монтування пристрою як USB накопичувача при підключенні до комп'ютера

Монтування робить розділи або папки доступними для використання.
Пункти цього меню означають таке:

  • Mount/Unmount System – монтування або відмонтування системного розділу.
  • Mount / Unmount Data – монтування або відмонтування розділу даних.
  • Mount/Unmount Cache - монтування або відмонтування розділу з кешем.
  • Mount / Unmoun Sdcard - монтування або відмонтування картки пам'яті
  • Mount / Unmoun Internal – монтування чи відмонтування внутрішньої пам'яті.

Кнопка « Mount USB storage» – Підключення планшета або телефону до комп'ютера в режимі накопичувача.
При цьому ви можете вибрати для монтування:

  • Карту пам'яті: Use external SD
  • Внутрішню пам'ять:Use internal storage

6. Settings – налаштування TWRP

Тут ви можете встановити параметри за замовчуванням, які TWRP Recovery буде використовувати за умовчанням при створенні та відновленні резервних копій, а також при установці zip файлів:

  • Zip file signature verification: перевірка підпису файлу zip.
  • Force MD5 check for all zips: перевірка контрольних сум для всіх файлів zip.
  • Use rm –rf instead of formatting: видалення файлів замість форматування під час очищення розділів.
  • Skip MD5 generation при backup: відключити створення контрольних сум під час резервного копіювання.
  • Ignore image size errors при backup: ігнорувати помилки розміру файлів під час резервного копіювання.

Кнопка « Time Zone» служить для вибору тимчасової зони.
Кнопка « Restore Defaults» призначена для скидання налаштувань до стандартних налаштувань.

7. Advanced – додаткові функції TWRP

Це меню складається з наступних пунктів:

  • Copy Log to SD- Копіювання лога операцій у файл на картку пам'яті.
  • Fix Permissions– виправити права доступу до файлів та розділів. Цей пункт використовується для того, щоб повернути до заводського стану права доступу до системних файлів та папок, які можуть бути змінені некоректною роботою деяких root програм, що може призвести до зависання та збоїв у роботі планшета або телефону.
  • Partition SD Card– створення розділів на картці пам'яті. Цей пункт використовується для створення /sd-ext та /swap розділів на картці пам'яті. Розділ /sd-ext може використовуватися деякими прошивками при нестачі внутрішньої пам'яті пристрою, наприклад, для розширення розділу /data. Розділ /swap зазвичай використовується для прискорення роботи пристрою Android.
  • File Manager- Менеджер файлів. Тут ви можете вибрати файл та виконати над ним такі операції:

Copy- Копіювати файл.
Move- Переміщати файл.
Chmod 755– встановити права доступу 755 (як у всіх системних файлів).
Chmod– встановити будь-які інші права доступу.
Delete- Видалити файл.
Rename File- Перейменувати файл.

  • Terminal Command– виконати у вибраній директорії команду терміналу у стилі команд adb .

Також у розділі Advanced можуть розміщуватися й інші кнопки, які може додавати розробник під час складання рекавері з вихідних кодів для конкретного пристрою.

Тут ви можете вибрати наступне:

System– повністю перезавантажити планшет чи телефон.
Recovery- Перезавантажити рекавері.
Power Off– вимкнути пристрій.



© 2023 globusks.ru - Ремонт та обслуговування автомобілів для новачків