Персонализиран Android: ние правим наш собствен фърмуер от склад, без да се ровим в изходния код. Предназначение на елементите от менюто за възстановяване на TWRP

Персонализиран Android: ние правим наш собствен фърмуер от склад, без да се ровим в изходния код. Предназначение на елементите от менюто за възстановяване на TWRP

16.06.2022

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

Какво е Magisk

- модерен root администратор, всъщност - по-усъвършенствана алтернатива на SuperSU от Chainfire с някои функционални нововъведения.

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

Основни функции

Механизмът за получаване на права на суперпотребител MagiskSU не пречи на системния дял. Този подход е по-безопасен от класическия и ви позволява да актуализирате фърмуера с форматирането на системния дял, без да се страхувате за root и допълнително инсталирани модули.

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

Допълнителни модули

В допълнение, Magisk Manager включва мощен модулен двигател, който съответства на общата концепция на приложението и работи без промяна на системния дял (безсистемен), не е нужно да се притеснявате за повреда на системните файлове, този подход ви позволява да деактивирате всички добавки -on по всяко време. Инсталирането на модификации се извършва чрез персонализирано възстановяване или директно през менюто на Magisk Manager. Вече има много модули, най-интересните от тях ще бъдат разгледани отделно:

App Systemizer- модул, който ви позволява да инсталирате всяко потребителско приложение като системно, без да променяте системния дял. Ръчното инсталиране в системния дял не е най-лесната задача и в модула трябва само да маркирате необходимите приложения.

Viper4Androidе популярен мениджър на звукови ефекти с най-широк набор от опции за персонализиране на звуковия път. С него можете лесно да отключите потенциала на всеки модерен смартфон!

SELinux разрешителен скрипт- Настройва системата за сигурност 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

За да инсталирате приложението, имате нужда от OS версия 5.0 Lollipop и по-нова, отключен буутлоудър и персонализирано възстановяване, например TWRP. Силно се препоръчва да направите пълно архивиране на nandroid в случай, че инсталацията е неуспешна.

За пълната функционалност на Magisk Manager трябва да използвате MagiskSU, за правилното инсталиране на който първо се препоръчва да премахнете алтернативни root администратори. Например SuperSU на Chainfire се премахва от менюто с настройки на приложението.

Деинсталирайте Magisk Manager

Всички файлове от последната версия, необходими за изтриване, можете да намерите в темата
За да деинсталирате приложение в автоматичен режим, трябва да флашнете Magisk-unistaller.zip на съответната версия чрез персонализирано възстановяване.

В случай, че архивът не работи
, трябва да възстановите началния дял (boot.img) от резервно копие, както и да изтриете ръчно /data/magisk.img, /cache/magisk, /data/busybox.

И какъв е резултатът?

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

Здравей Habr!

Преди няколко години, когато за първи път се запознах с Android, чух от колега на работа, че Android предоставя възможност за инсталиране на модифициран или домашен фърмуер. Честно казано, тогава бях далеч от това. А и преди половин година почти не се интересувах от подобни неща. Дълбоко в сърцето си бях сигурен, че това, което производителят прави, вече е предназначено за нормална употреба.

Представете си разочарованието ми, когато си купих телефон от Китай, където фабричните настройки забраняваха използването на Google, Skype, Facebook и други приложения. По принцип беше възможно да си затворя очите за някои неща, но когато телефонът ми не предполагаше използването на акаунт в Google, взех обещание да го разбера, каквото и да ми се случи.

Измина половин година и персонализираният ми фърмуер се използва успешно по целия свят.

Тази поредица от статии ще говори за това как да направите обратно програмиране за Android, да внедрите пачове, настройки и модификации.

Преамбюл

Така! Нека първо дефинираме термините, които ще се използват в даденостатия. Вашето обичайно разбиране обаче може да се различава значително.

Кръпка- промяна или подмяна на съществуващ програмен код с цел модифициране на програмния алгоритъм.
Мод- като правило, добавяне на допълнителна функционалност към съществуващ програмен код без промяна на алгоритъма.
ощипвам- подобряване на функционалността на програмата с цел улесняване на достъпа до параметрите на системата.

Също така искам да отбележа, че всички примери ще бъдат взети за телефона HTC, но това не означава, че тази информация не може да се използва на други телефони.

Подготовка на средата

Ще се справя без подробни инструкции как да използвам този или онзи софтуер. Ако се интересувате от тази статия и сте прочели до тези редове, тогава се надявам, че вече сте опитен потребител и имате опит в използването или поне експериментирането в тази област. Има обаче много инструкции, статии и резултати от тестове в публичното пространство, както и на Habré. Също така няма да описвам някои термини, в противен случай статията ще се окаже много голяма и досадна. Ще пишем само служебно. Сигурен съм, че вече имате средата от дълго време. Ако не, тогава предлагам да изтеглите и инсталирате.

1 . SDK за Android. Това е среда за разработка на приложения за Android. За да направим модификации, определено ще трябва да проверим нашия програмен код. Средата за разработка е най-доброто, което можем да използваме.
2 . Android кухня. Тази помощна програма ще ви позволи да работите с изображения на системни дялове на официален или неофициален фърмуер.
3 . JD GUI. Декомпилатор на Java код. Веднага ще отбележа, че това е най-добрият декомпилатор по отношение на лекотата на използване.
4 . DJ Java декомпилатор. Друг декомпилатор или дизасемблер, както някои обичат да го наричат, на езиковия код на Java. Не е удобен за потребителя, но анализира код, който JD-GUI понякога не разбира.
5 . малки. Друг дизасемблер, но вече далвик код. smali е необходим за разглобяване, а backsmali за сглобяване на код.
6 . dex2jar. Помощна програма за конвертиране на изпълними файлове с код Dalvik.

Преобразуване на фърмуера

Разбира се, фърмуерът, който имате на телефона си от производителя, е оптимизиран за намаляване на консумацията на енергия. За да може фърмуерът да бъде модифициран, той трябва да бъде преобразуван във формат, който позволява модифициране на кода. За това се използва Android Kitchen. Можете, разбира се, да използвате ръцете си, както направих преди, докато не намерих тази „кухня“. Как да извадите системната област от телефона, да инсталирате средата, да направите фърмуера DEODEX, можете да прочетете в Интернет. Ако вече не разбирате нищо, мисля, че трябва да изчакате със статията, докато натрупате достатъчно опит.

След като фърмуерът от оптимизирана форма (ODEX - оптимизиран изпълним код на dalvik, ако не ме лъже паметта) стане DEODEX (т.е. НЕ е оптимизиран), всички изпълними файлове са готови за модификация.

Директни модификации

Създаване на пачове
Както вече казах, моят телефон първоначално имаше забрана за използване на Google. Е, поне кракнете, не можете да отидете в Playstore, не можете да настроите акаунт, телефонният указател наистина не се синхронизира. Защо се нуждаем от такъв Android? Дълго ровейки в регистрационните файлове (logcat) на самото устройство, намерих записи, които казват, че използването на Google е забранено. Най-неудобното в Android е, че виждате дневника, но не знаете кое системно приложение го създава. За да разбера откъде ми растат краката, трябваше да изкормя всички системни приложения в разглобен Java код. Отне доста време, но все още използвам свършената работа, когато анализирам и намирам правилния код. Стъпките за получаване на такъв инструмент са следните:
1 . Направете DEODEX целия фърмуер
2 . Вашият нов фърмуер на DEODEX ще трябва да бъде сглобен и флашнат на телефона. Как става това е тема на друга статия.
3 . Извлечете файла classes.dex от всеки файл, намиращ се в /system/framework, и го конвертирайте в 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)); while (((HtcBuildFlag.Htc_PROJECT_fla g == 1) && (2 == HtcBuildFlag.Htc_LANGUAGE_flag)) || (HtcBuildFlag.Htc_PROJECT_flag == 27)) връща вярно; връща невярно; )
6 . За да направим кръпка, трябва да разглобим самия код на Dalvik. За целта използваме баксмали. Най-удобно е да създадете отделна папка и да поставите три файла заедно: 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, 0xd8 if-eq v1 , 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, Lcom/htc/htcjavaflag/HtcBuildFlag ;->Htc_PROJECT_flag:S const/16 v2, 0x17 if-ne v1, v2, :cond_14 .line 297:cond_13:goto_13 return v0 .line 283:cond_14 sget-short v1, Lcom/htc/htcjavaflag/HtcBuildFlag;-> 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 v1, v2, :cond_13 .line 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 v0, 0x0 goto:goto_13 .end метод
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) || (HtcBuildFlag.Htc_PROJECT_flag == 23)); while (((HtcBuildFlag.Htc_PROJECT_flag == 1) && ( 2 == HtcBuildFlag.Htc_LAN GUAGE_flag)) || (HtcBuildFlag.Htc_PROJECT_flag == 27)) return false; return false; )
11 . Да, методът ще работи. Но ние не търсим лесни пътища – този път. Второ, не е много красиво. Искам нещо като код
public static boolean isChina() ( return false; )
12 . И как да получим Dalvik кода на този изходен код? За начинаещи ще направим малък трик.

Създаване на Dalvik код
1 . Отворете Android SDK.
2 . Създаваме нов проект и в нашия единствен тестов клас пишем следния код
пакет en.habrahabr.test; публичен клас тест ( публичен статичен булев 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 метод
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 метод
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съдържа модифициран програмен код.
Замяна на оригиналния файл с преработен
Обикновено се създават специални скриптове за обикновени потребители, които се заменят чрез възстановяване. Но ние не се интересуваме от това. Първо, това е дълго и досадно, и второ, ние сме опитни потребители и можем да си позволим някои тънкости.

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/ [имейл защитен]@[имейл защитен]рестартирайте

Първата команда качва пакетирания файл на флаш устройството
Втората команда отваря shell
3-та команда дава root достъп
4-та команда монтира системата в режим на четене/запис
5-та команда прави резервно копие на файла
Шестата команда презаписва съществуващия файл с новия закърпен.
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/ [имейл защитен]@[имейл защитен]рестартирайте

Епилог

Да, за някого тази статия се стори твърде специфична, за някой неясна и за някой безполезна. Съзнателно се отказах от задълбочени детайли и илюстрации как изглежда всичко на живо и на практика. Първо, тази работа ще бъде неблагодарна и само ще породи още повече въпроси. Второ, не искам да виждам армия от потребители във форумите, които се оплакват, че са убили телефона си.

За следващата статия ще ви кажа как да правите Tweaks. Ще има пример за използване на автоматично записване на телефонни разговори с родни телефонни инструменти. Благодаря за вниманието.

P.S. Ако нещо не е ясно или объркващо, задавайте въпроси - винаги ще се радвам да отговоря и да обясня.

Формулиране на проблема

Съхраняването на информация в компютър е свързано с риск от нейното случайно или умишлено разкриване, поради което се използват различни методи и средства за нейната защита. Най-често като основно средство, възпрепятстващо свободния достъп до информация в електронен вид, използвайте криптиранекойто е реализиран хардуерно или софтуерно. Индивидуални файлове, групи от файлове, директории и накрая логически устройства действат като обекти на криптографска защита. Резултатът от криптирането са файлови архиви, разположени на електронна медия. Подробности за прилагането на различни криптографски алгоритми, може да се отбележи, че в този случай GCU трябва също да решава проблеми, свързани с гарантираното унищожаване на първоначалния некриптирана информацияза да се изключи неговото възстановяване.

Факт е, че функция на всички използвани файлови системи ( FAT, NTFS и др.).не са способността да презаписват информация в клъстери, принадлежащи на който и да е файл, докато този файл не бъде видян като изтрит. Тоест, по време на криптиране на файл, неговото криптирано копие се записва не вместо първоначалния файл, а в свободни клъстери от електронни носители и едва след приключване на процеса на криптиране, некриптираният файл се изтрива, ако това не е предвидено от алгоритъм.

По този начин е възможно да се възстанови изтрита некриптирана информация, която се обработва успешно от такива софтуерни продукти като Възстановяване на файлове, Back2Life, R-Studio, GetDataBack за 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 и руски GOST P50739-95 и др. По този начин, криптиране, извършено вътре в логическото устройство,винаги е свързано с риск от непълно унищожаване на оригиналната информация, така че е необходим различен подход към този проблем.

Меню редактиране(Редактиране) програмата Regedt32 съдържа команди, които ви позволяват да добавяте, модифицирате и изтривате ключове и важни записи в системния регистър.

За да добавите нов ключ към който и да е кошер на системния регистър, изберете командата Добавете раздел(Добавяне на ключ) меню Редактиране.Когато изпълните тази команда, получавате подкана за име на раздел и клас (класът в този случай се отнася до тип данни). Диалоговият прозорец за въвеждане на тази информация е показан на фиг. 14.5. Списъкът, от който можете да изберете типа данни, не е предоставен в този диалогов прозорец, но е възможно да създадете раздел и да определите типа данни, когато въвеждате нов параметър в създадения раздел.

Екип Добавете разделизползва се за добавяне на значими записи към ключовете на системния регистър. Диалоговият прозорец, който се появява, когато изпълните тази команда (Фигура 14-6), съдържа списък, който ви позволява да изберете типа данни за значимия елемент: низови стойности (REG_SZ, REG_MULTI_SZ и REG_EXPAND_SZ) или двоични стойности (REG_DWORD или REG_BINARY).

За да изтриете ключ или стойност от системния регистър, изберете обекта (ключ или стойност), който да бъде изтрит, и изберете командата Изтрий(Изтриване) меню Редактиране.Ще бъдете подканени да потвърдите намерението си да изтриете избраната секция или функция.

Забележка

Както многократно се повтаря, редакторите на системния регистър не поддържат операции за отмяна (Undo), така че след потвърждаване на операцията за изтриване няма да имате друг начин да възстановите изтритата информация, освен да я възстановите от предварително създаден архив. Освен това редакторът на системния регистър предлага потвърждаване на операцията по изтриване само ако опцията Потвърждаване при изтриване е зададена в менюто Опции. Ето защо, когато решавате да изтриете секции от системния регистър, не пренебрегвайте архивирането (и не търсете допълнителни задачи за себе си със съществуващо решение).

Ако случайно изтриете нещо от ключа на системния регистър HKEY_LOCAL_MACHINE\System\CurrentControlSet, имайте предвид, че съдържанието на този ключ може да бъде възстановено с помощта на последната успешно заредена конфигурация (вижте Глави 2 и 8). За да извършите тази операция, рестартирайте компютъра си и веднага след като се появи менюто за зареждане, натиснете клавиша и след това изберете опцията Last Known Good от менюто за отстраняване на грешки.

В допълнение към командите за изтриване на елементи от регистъра и добавяне на нови секции и параметри към неговия състав, в менюто редактиране Regedt32 има набор от команди за редактиране на съществуващи записи в системния регистър (и трябва да се отбележи, че този набор от опции е много по-широк от този, предоставен от по-новата програма Regedit). Меню редактиранеРедакторът на системния регистър Regedt32 съдържа команди Двоични данни(двоичен) Линия(низ) двойна дума(DWORD) и Многоредов(Много низове). Избирането на всяка от командите стартира редактора на стойности от съответния тип - например селектиране команди Двоични даннистартира двоичния редактор, избор на команда двойна дума- Редактор на DWORD стойности и избор на команда Низови и многоредовиизвиква подходящите редактори за низови и многоредови стойности. Моля, обърнете внимание, че просто няма толкова широки възможности в редактора на Regedit.

След като заредите таблета или телефона си в TWRP Recovery, първо ще видите главното му меню:

Екранните снимки са направени в една от най-новите (към момента на писане) версии на TWRP възстановяване 2.3.2. По-новите версии на TWRP, както и версиите за различни устройства, може да имат малко по-различно меню, но основните му функции ще останат непроменени.
Освен това външният вид на възстановяването на TWRP на вашето устройство може да е различен - може да се промени в зависимост от темата.
Благодарение на сензорния интерфейс на възстановяването е много лесно да навигирате през неговите елементи и да изберете желаните опции - просто докоснете конкретен елемент с пръста си.
Във всички подменюта можете да се върнете към предишното меню чрез натискане на бутона за връщане, намиращ се в долната (смартфон) или горната дясна (таблет) част на екрана.
В горната част на екрана виждате процента на батерията и текущия час.

Предназначение на елементите от главното меню:

1. Инсталиране - инсталиране на фърмуер и добавки

Това е един от най-често използваните елементи за възстановяване на TWRP.
С него можете да инсталирате както официален, така и неофициален (персонализиран) фърмуер, да инсталирате ядра, теми и друг софтуер, който трябва да бъде в zip файл, разположен във вградената памет на вашето устройство.
След като изберете файл, стигате до следващото меню, където можете да изберете да добавите следващия файл към опашката на фърмуера (бутон Добавете още ципове) или започнете да мигате избрания файл, като използвате плъзгача, разположен в долната част на екрана.

С опция Проверки на Zip подписрежимът за проверка на подписа на zip файла е активиран.
С опция Принудителна проверка на MD5 на всички циповеможете да активирате проверка на контролна сума MD5 за всички zip файлове, инсталирани на устройството.

2. Wipe - почистване и възстановяване на фабричните настройки

С тази опция можете да изчистите секции като кеша ( Кеш памет), Кеш Dalvilk, система, а също и нулиране до фабричните настройки - фабрично нулиране, след което вашият телефон или таблет ще се върне в състоянието, в което е бил продаден в магазина.
Можете също да изчистите външната карта с памет - външно хранилищеи вътрешна памет Вътрешна памет, изчистете системната папка android_secure и почистете статистиката за използването на батерията - Изтриване на статистиката на батерията.
Както и в останалите елементи от менюто, ще трябва да потвърдите началото на определена операция с помощта на плъзгача, който се появява в долната част на екрана. Можете да отмените операцията чрез бутона "Назад".

3. Backup - създаване на резервно копие на системата

Друга една от най-важните точки на TWRP. С него можете да направите пълно копие на цялата система на таблета, заедно с данните и приложенията, налични във вътрешната му памет - т. нар. Nandroid Backup.
Тук можете да:

  • Изберете дялове за запазване: System, Data, Boot, Recovery, Cache, Uboot, NVram.
  • Разберете количеството свободно място в медиите:свободно пространство.
  • Активиране на компресията на резервно копие:активирайте компресията.
  • Деактивирайте създаването на файлове с резервни контролни суми:Пропуснете генерирането на MD5 по време на архивиране.
  • Изберете карта с памет за съхранение на архиви:Използвайте външен SD.
  • Изберете вътрешната памет на устройството за съхранение на архиви:Използвайте вътрешна памет.
  • Задаване на име на архивен файл - бутонЗадайте име на резервно копие.
  • Преизчисляване на размерите на дяловете - бутонОпресняване на размерите.

Както обикновено, потвърдете избора си с плъзгача и TWRP ще започне процеса на архивиране:

След това можете да рестартирате таблета или телефона - бутон Рестартирайте системата, както и да се върнете назад или към главното меню на TWRP, като използвате съответните бутони.

4. Restore - възстановяване на системата от предварително направен бекъп

Тук можете да:

  • Изберете карта с памет за търсене на резервни копия: Използвайте външен SD
  • Изберете вътрешната памет на устройството, за да търсите резервни копия: Използвайте вътрешна памет

Имената на резервните копия се състоят от датата и часа, когато са създадени. Можете да сортирате файлове по:

Asc" Сортиране по възходящ ред» име, дата и размер
низходящо " Сортиране в низходящ ред» име, дата и размер

След като изберете резервно копие, ще имате възможност да:

  • Изберете дяловете (System, Data, Boot, Recovery, Cache, Uboot, NVram), които искате да възстановите,
  • Преименуване на резервно копие " Преименуване на резервно копие»
  • Изтриване на резервно копие " Изтриване на резервно копие»
  • Активирайте проверката на контролната сума на MD5 на архивните файлове

Можете да започнете възстановяване, като потвърдите избора си с помощта на плъзгача.

5. Монтиране - монтиране на отделни дялове, форматирането им и монтиране на устройството като USB устройство, когато е свързано към компютър

Монтирането прави дялове или папки достъпни за използване.
Елементите в това меню означават следното:

  • Mount / Unmount System - монтиране или демонтиране на системния дял.
  • Mount / Unmount Data - монтиране или демонтиране на дял с данни.
  • Mount / Unmount Cache - монтиране или демонтиране на дяла на кеша.
  • Mount / Unmoun Sdcard - монтиране или демонтиране на карта с памет
  • Mount / Unmoun Internal - монтиране или демонтиране на вътрешна памет.

бутон " Монтиране на USB памет» - свържете таблет или телефон към компютър в режим на сменяема памет.
С това можете да изберете да монтирате:

  • Карта памет: Използвайте външен SD
  • Вътрешна памет:Използвайте вътрешна памет

6. Настройки - TWRP настройки

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

  • Проверка на подписа на Zip файл: Проверете подписа на zip файл.
  • Принудете MD5 да провери за всички ципове: проверка на контролната сума за всички zip файлове.
  • Използвайте rm –rf вместо форматиране: Изтриване на файлове вместо форматиране при изчистване на дялове.
  • Пропуснете генерирането на MD5 по време на архивиране: Деактивирайте създаването на контролни суми по време на архивиране.
  • Игнорирайте грешките в размера на изображението по време на архивиране: Игнорирайте грешките в размера на файла при архивиране.

бутон " часова зона» се използва за избор на вашата часова зона.
бутон " Възстанови настройките по подразбиране» е предназначен за нулиране на настройките до настройките по подразбиране.

7. Advanced - допълнителни функции на TWRP

Това меню се състои от следните елементи:

  • Копиране на дневник на SD– копиране на регистъра на операциите във файл на картата с памет.
  • Поправи пълномощията- коригиране на разрешения за файлове и дялове. Този елемент се използва за връщане към фабричното състояние на правата за достъп до системни файлове и папки, които могат да бъдат променени от неправилна работа на някои root приложения, което може да доведе до замръзване и неизправност на таблета или телефона.
  • Разделяне на SD карта– създаване на дялове на картата с памет. Този елемент се използва за създаване на /sd-ext и /swap дялове на картата с памет. Разделът /sd-ext може да се използва от някои фърмуери, когато няма достатъчно вътрешна памет на устройството, например за разширяване на дяла /data. /swap дялът обикновено се използва за ускоряване на устройство с Android.
  • файлов мениджър- файлов мениджър. Тук можете да изберете файл и да извършите следните операции с него:

копие- копиране на файл.
ход- преместете файла.
Chmod 755– задайте права за достъп на 755 (както за всички системни файлове).
chmod– задаване на други права за достъп.
Изтрий- изтриване на файл.
Преименуване на файл- преименувайте файла.

  • Терминална команда– изпълнете терминална команда в стила на adb командите в избраната директория.

Освен това разделът Разширени може да съдържа други бутони, които разработчикът може да добави, когато създава възстановяване от изходни кодове за конкретно устройство.

Тук можете да избирате от следните:

Система- напълно рестартирайте таблета или телефона.
Възстановяване- рестартирайте възстановяването.
изключване– изключете устройството.



© 2023 globusks.ru - Ремонт и поддръжка на автомобили за начинаещи