Модификация стоковых прошивок для Android. Часть 1
Несколько лет назад, когда я впервые познакомился с 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. Еще один дизассемблер, но уже dalvik кода. smali нужен для дизассемблирования, а backsmali ассемблирования кода.
6. dex2jar. Утилита для конвертации исполняемых файлов Dalvik кода.
Преобразование прошивки
Разумеется, прошивка, которая стоит у вас на телефон от производителя оптимизирована с целью сокращения энергопотребления. Для того чтобы прошивку можно было изменять, ее необходимо преобразовать в формат, позволяющий изменять код. Для этого используется Android Kitchen. Можно конечно и руками, как я и делал раньше, пока не нашел эту самую «кухню». Как вытаскивать системную область из телефона, устанавливать среду, делать DEODEX прошивки, вы можете прочитать в интернете. Если вам уже ничего не понятно, я думаю стоит повременить со статьей, пока вы не наберете достаточно опыта.
После того, как прошивка из оптимизированного вида (ODEX — оптимизированный dalvik исполняемый код, если мне не изменяет память) стала DEODEX (то бишь НЕ оптимизированной), все исполняемые файлы готовы к модификации.
Непосредственно модификации
Создание патчей
Как я уже и рассказывал, мой телефон изначально имел запрет на использование Google. Ну хоть ты тресни, на Playstore не зайти, учетную запись не настроить, телефонная книга толком не синхронизируется. Зачем нужен такой Android? Долго копаясь в логах (logcat) самого устройства, я нашел записи, которые говорили о том, что использование 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, а класс, который содержал данную подпрограмму находился в \com\htc\util\contacts\BuildUtils$Customization.java
Распаковка и анализ оригинального файла
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.
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 и смотрим код:
9. Страшно, не правда ли? Ничего же не понятно. Но, это дело поправимое. Создав несколько своих патчей и набив тем самым руку, вы легко сможете модифицировать код без сторонних средств. В нашем случае, в этом коде
происходит присваивание переменной v0 значение 1, то есть TRUE. Далее идут всякие проверки, и если телефон не китайский, то значение переменной изменяется:
10. Самый простой способ спасти отца русской демократии, это изменить код на следующий:
, то есть поменять значение переменной с 1 на 0. То есть что бы ни было, всегда бы возвращалось значение FALSE и в JD-GUI код выглядел бы как
11. Да, метод ,будет работать. Но мы же не ищем легких путей — это раз. Во-вторых не совсем красиво. Хочется кода что-то вроде
12. А как нам получить Dalvik код данного исходного кода? Для новичков мы сделаем небольшой трюк.
Создание Dalvik кода
1. Открываем Android SDK.
2. Создаем новый проект, и в наш единственный тестовый класс пишем следующий код
3. Компилируем наш проект и затем берем собранное приложение из рабочей области.
4. Кладем собранное приложение в папку, где мы с вами потрошили JAR файл.
5. Даем команду
8. Все, код для патчинга готов.
Накатывание патча
1. Dalvik код замусорен маркерами, указывающими строку кода в оригинальном исходном файле. Это нужно при выводе ошибок, если таковые имеются в вашей программе. Без указаний строк код также прекрасно работает.
2. Удаляем строки с нумерацией строк, копируем и заменяем метод (подпрограмму) в нашем \com\htc\util\contacts\BuildUtils$Customization.java файле.
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 доступ:
1-ая команда закидывает патченный файл на флешку
2-ая команда открывает shell
3-ая команда дает root доступ
4-ая команда монтирует систему в режим чтения/записи
5-ая команда делает резервную копию файла
6-ая команда перезаписывает существующий файл новым патченным.
7-ая команда настраивает разрешения
8-ая команда удаляет кэш
9-ая команда делает перезагрузку устройства.
2. Спасибо что дочитали до этого пункта, осталось немного.
3. После перезагрузки ваш новый патченный код вступит в силу.
4. Если код не работает или выскакивает ошибка, то путем не хитрых комбинаций можно вернуть назад резервную копию.
Эпилог
Да, кому-то показалось данная статья слишком специфичной, кому-то мало-понятной, а кому-то бесполезной. Я специально обошелся без углубленной детализации и иллюстраций как это все выглядит в живую и на практике. Во-первых, данный труд будет неблагодарный и только породить еще больше вопросов. Во-вторых, не хочу видеть армию пользователей на форумах, которые жалуются, что убили свой телефон.
К следующей статье я расскажу как делать Твики. Будет пример использования автоматической записи телефонных звонков родными средствами телефона. Спасибо за ваше внимание.
Источник
Редактирование прошивок для андроид
Android Image Manager (редактор прошивок)
версия: 0.3
Последнее обновление программы в шапке: 14.07.2019
Для функционирования программы необходимы права root пользователя.
Краткое описание:
Редактирование образов прошивок (system.img) для всех версий Android, установка/удаление приложений из прошивки, просмотр и удобный поиск по установленным приложениям, удобное редактирование /system/build.prop
Работает только на операционных системах семейства Linux (в том числе и на Android через termux)
- Поддерживается работа как с обычными ext4 (raw) образами, так и со sparse-образами. На данный момент поддерживаются только ext4-образы.
- Поддерживаются образы с разметкой A/B (system-as-root) и A-only
- Если в образе найден заголовок sparse — он конвертируется в raw-формат (ext4).
- Поддерживается работа с GSI-прошивками
- Поддерживаются прошивки с максимальной версии Android 9 (API 28), возможно будет работать и на прошивках с Android 10 (Android Q), нет возможности протестировать из-за медленного интернета.
- Умеет работать как с оригинальными (стоковыми) прошивками, так и с кастомными.
- После запуска программа сканирует все .apk в /system/app и /system/priv-app чтобы потом можно было удобно с ними работать.
- Можно посмотреть список всех установленных программ в удобном виде. Отображается информация о каждой установленной программе в виде: путь к .apk, имя пакета программы, версия программы, тип программы (app/priv-app), одексированная программа или нет, имена программы на всех языках через запятую.
- Есть удобный поиск установленных программ. Можно отфильтровать список программ по части имени пакета программы/названия файла .apk/имени программы (на любом из языков).
- Есть возможность удаления установленных программ. Для удаления нужно знать только полное название пакета программы (можно посмотреть в списке приложений либо найти через поиск).
- Есть возможность установки .apk в /system/app или в /system/priv-app (на выбор). Для установки нужно указать только путь к файлу .apk и тип программы (app/priv-app). При установке программы для неё устанавливаются корректные права (chmod 0755 — для папки, chmod 0644 — для файла), корректные имя владельца (root) и группа (root), а также корректный контекст SELinux (такой же, как и в папки /system/app).
- Есть возможность upgrade/downgrade установленных приложений. Если при установке .apk программа находит уже установленный .apk с таким же названием пакета — старая программа удаляется, новая устанавливается. При этом выводится уведомление об этом с информацией о версии установленной программы и версией устанавливаемой программы.
- Программа умеет работать с /system/build.prop . Также как и с программами, можно посмотреть в удобном виде все параметры в /system/build.prop , фильтровать (искать) их по имени параметра либо его значения, изменять значения параметров, создавать новые параметры, удалять параметры.
- Естественно есть возможность сохранения образа с изменениями в новый .img-файл. Оригинальный .img-образ остаётся без каких-либо изменений. Если оригинальный образ был в формате sparse — при сохранении тоже создаётся образ в формате sparse. После сохранения образа можно продолжать работать с программой (например, можно удалить какое-то приложение, сохранить образ, и потом установить несколько приложений и отредактировать что-то в /system/build.prop и опять сохранить образ: в результате получится 2 новых образа, подробности читайте в примере работы с программой).
- Если возможностей программы недостаточно (например нужно удалить/отредактировать какой-то определённый файл в образе), можно вручную (под рутом) войти в временную папку, куда программа смонтировала образ(имя папки отображается в программе), внести нужные изменения и сохранить образ в интерфейсе программы. :happy:
- Любая операционная система семейства Linux (на Android тоже работает). Настоятельно рекомендую использовать операционную систему Ubuntu 19.04 либо Android ибо инструкции по установке написаны именно для них.
- Для работы программы необходимо установить вспомогательные утилиты: simg2img, img2simg, aapt.
- Также требуется установленный php-cli, так как программа написана на php. Настоятельно рекомендую устанавливать версию php7.3-cli или выше, ибо на версиях php ниже 7.3 программа не тестировалась. Подробные инструкции для Ubuntu 19.04 по установке php7.3-cli и всех вспомогательных утилит можно найти ниже(пункт «Установка программы на Ubuntu»); инструкции по установке программы на Android — в пункте «Установка программы на Android».
Почему программа не будет работать на Windows?
Потому что из-за особенностей операционной системы, Windows не поддерживает работу с правами chmod/chown, работу с SELinux (chcon) и монтировние образов в loop (mount -o loop).
Будет ли работать программа на подсистеме Linux в Windows 10?
Нет, не будет, потому что подсистема Linux в Windows 10 ограничена (из-за особенностей Windows) и там не поддерживается монтирование образов в loop, а это необходимо для работы программы.
Будет ли программа работать на установленой Linux в VirtualBox?
Конечно! Если вы не хотите устанавливать Linux как дополнительную систему, но хотите использовать мою программу — используйте VirtualBox. (я сам так делаю, использую Windows 10 с установленной виртуальной Ubuntu 19.04 на VirtualBox).
Как же можно работать с программой на Windows.
Ответ в вопросе выше. Единственный способ — с помощью VirtualBox. В интернете есть куча инструкций по установке Ubuntu в VirtualBox. Ищите в гугле: Установка Ubuntu на VirtualBox
Почему программу нужно запускать с root-правами?
Потому что смонтировать образ в loop без root невозможно. Также без root невозможно устанавливать права chmod/chown и изменять контекст SELinux.
Программа работает на Android?
Да, начиная с версии 0.2 программа корректно работает на Android. На Android программа работает через termux: https://play.google.co…/details?id=com.termux
На каких версиях Android будет работать программа?
Поддерживаются все версии Android, на которые можно установить termux: https://play.google.co…/details?id=com.termux
(для перехода в домашнюю директорию)
Поздравляю, вы установили программу! Для запуска введите команду sudo imageManager 🙂
- Если устройство без root-прав — рутируем его. Для работы программы необходим root-доступ! Инструкции по получению root-прав вы можете найти в топике о вашем устройстве.
- Качаем zip-архив с программой. У меня все файлы, которые я скачиваю, сохраняются в /sdcard/Download/ (у вас может быть другой путь), поэтому полный путь к zip-архиву после скачивания будет: /sdcard/Download/imageManager_v0.2.zip , запоминаем этот путь, он нам пригодится в дальнейших действиях.
- Устанавливаем termux: https://play.google.co…/details?id=com.termux
- Находим в настройках телефона установленное приложение «Termux» и разрешаем ему доступ к хранилищу.
- Запускаем Termux. Ждём пока он полностью установится (пока не пропадёт сообщение «Installing»).
- Обновляем предустановленные утилиты и кеш репозиториев в termux, для этого вводим команду: pkg upgrade (после вывода вопроса о обновлении приложений — подтверждаем нажатием кнопки «Enter» (ввод) на клавиатуре).
- Устанавливаем все необходимые утилиты для работы программы, команда:
или cd $HOME
Клонируем исходники утилит simg2img/img2simg с github, команда:
или cd $HOME
Перемещаем файл с папки загрузок в домашнюю директорию, команда:
Подробные инструкции о том, как работать с программой, можно найти в пункте «Обзор всех возможностей программы» (либо увидеть прямо в программе, там очень простой интерфейс)
Обратите внимание на особенность работы программы на Android: временный .raw-файл будет создан в той же папке, где лежит оригинальный образ, но временная папка в которую будет примонтирован этот .raw-образ будет создана в домашней директории termux. При сохранении образов результат будет сохранятся в той же директории, где лежит оригинальный образ. Оригинальный образ останется без каких-либо изменений.
/DOOGEE-Y8-Android9.0-20190304/ , среди них есть и нужный нам system.img, с которым мы и будем работать.
Если используете termux — везде в командах sudo заменяйте на tsudo .
И так, начинаем работу с программой:
1. Переходим в домашнюю директирию: cd
2. Запускаем программу: sudo imageManager DOOGEE-Y8-Android9.0-20190304/system.img (передаём единственный параметр — путь к system.img) либо запускаем команду без параметров: sudo imageManager и путь DOOGEE-Y8-Android9.0-20190304/system.img вводим в поле system.img path: (когда программа попросит). Видим результат:
system.img path: DOOGEE-Y8-Android9.0-20190304/system.img
In your image founded sparse header!
Converting sparse image to raw. OK!
RAW File: ‘/home/sam/DOOGEE-Y8-Android9.0-20190304/1563038313.tmp.raw’
Mounting raw image. OK!
Working directory: ‘/home/sam/DOOGEE-Y8-Android9.0-20190304/1563038313.tmp’
Android version: 9 [API: 28]
Scannings all installed apps. Please wait.
Founded 147 apps (79 app & 68 priv-app)
— Commands —
1. help -> show this message
2. listApps -> list all apps
3. findApp -> find apps (filter)
4. uninstallApp -> uninstall app by package name
5. installApp -> install any .apk as app or priv-app or upgrade/downgrade installed app
6. getprop -> get property value from build.prop
7. findprop -> find properties in build.prop by filter
8. setprop -> set property value (or create new property) in build.prop
9. delprop -> delete property from build.prop
10. save -> save changes to new .img
11. exit -> exit from this app 🙂
Command: listApps
****** #1 ******
File: /system/app/AdupsFota/AdupsFota.apk
Package: com.adups.fota
Version: 5.24
Type: app
Odexed: Yes
Labels: Wireless Update, Wireless Update, Wireless Update, تحديث النظام, Wireless Update, Wireless Update, Wireless Update, Wireless актуализация, ওয়্যারলেস আপডেট, ওয়্যারলেস আপডেট, Wireless Update, Wireless Update, Aktualizace systému, Trådløs opdatering, Systemaktualisierung, Ασύρματη ενημέρωση, Wireless Update, Wireless Update, Wireless Update, Wireless Update, Wireless Update, Actualizaciones del sistema, Actualización del Sistema, Wireless uuendus, Wireless Update, به روز رسانی بی سیم, به روز رسانی بی سیم, Langaton päivitys, Mise à jour, Mise à jour, Wireless Update, Wireless Update, वायरलेस अपडेट, Bežično ažuriranje, Vezeték nélküli frissítés, Wireless Update, Pembaruan nirkabel, Wireless Update, Aggiornamento firmware, עדכון אלחוטי, ワイヤレスアップデート, Wireless Update, Wireless Update, Wireless Update, Wireless Update, 소프트웨어 업데이트, Wireless Update, Wireless Update, Bevielis atnaujinimas, Bezvadu update, Wireless Update, Wireless Update, Wireless Update, Wireless Update, Wireless Update, Wireless Update, Trådløs oppdatering, Wireless Update, Wireless-update, Wireless Update, Wireless Update, Bezprzewodowa aktualizacja, Atualização por Wi-Fi, Atualização por Wi-Fi, Atualização por Wi-Fi, Actualizare, Беспроводное обновление, Wireless Update, Bezdrôtová aktualizácia, Brezžično posodabljanje, Përditësim me valë, Përditësim me valë, Ажурирање преко бежичне мреже, Wireless Update, Ажурирање преко бежичне мреже, Trådlös uppdatering, Wireless Update, Wireless Update, Wireless Update, อัพเดทเครือข่ายไร้สาย, Wireless Update, Yazılım Güncelleme, Бездротове оновлення, Бездротове оновлення, Wireless Update, Wireless Update, Cập nhật không dây, 无线升级, 軟體更新, 軟體更新, Wireless Update
****** #2 ******
File: /system/app/AdupsFotaReboot/AdupsFotaReboot.apk
Package: com.adups.fota.sysoper
Version: 5.3.7
Type: app
Odexed: Yes
Labels: FotaProvider
****** #3 ******
File: /system/app/AdupsPrivacyPolicy/AdupsPrivacyPolicy.apk
Package: com.adups.privacypolicy
Version: 7.0
Type: app
Odexed: Yes
Labels: Wireless Update, Wireless Update, تحديث النظام, Wireless актуализация, ওয়্যারলেস আপডেট, ওয়্যারলেস আপডেট, Wireless Update, Aktualizace systému, Trådløs opdatering, Systemaktualisierung, Systemaktualisierung, Ασύρματη ενημέρωση, Wireless Update, Actualizaciones del sistema, Actualización del Sistema, Wireless uuendus, Wireless uuendus, به روز رسانی بی سیم, به روز رسانی بی سیم, Langaton päivitys, Mise à jour, वायरलेस अपडेट, Ažuriranje bežične mreže, Vezeték nélküli frissítés, Wireless Update, Pembaruan nirkabel, Aggiornamento firmware, עדכון אלחוטי, ワイヤレスアップデート, Wireless Update, Wireless Update, 소프트웨어 업데이트, Bevielis atnaujinimas, Bezvadu update, Wireless Update, Wireless Update, Trådløs oppdatering, Wireless-update, Bezprzewodowa aktualizacja, Atualização por Wi-Fi, Atualização por Wi-Fi, Atualização por Wi-Fi, Actualizare, Беспроводное обновление, Wireless Update, Bezdrôtová aktualizácia, Brezžično posodabljanje, Ажурирање преко бежичне мреже, Wireless Update, Ажурирање преко бежичне мреже, Trådlös uppdatering, Wireless Update, Wireless Update, อัพเดทเครือข่ายไร้สาย, Wireless Update, Yazılım Güncelleme, Бездротове оновлення, Бездротове оновлення, Wireless Update, Cập nhật không dây, 无线升级, 軟體更新, 軟體更新, Wireless Update
****** #4 ******
File: /system/app/AutoDialer/AutoDialer.apk
Package: com.example
Version: 1.0
Type: app
Odexed: Yes
Labels: Auto Dialer
****** #5 ******
File: /system/app/BasicDreams/BasicDreams.apk
Package: com.android.dreams.basic
Version: 9
Type: app
Odexed: Yes
Labels: Basic Daydreams, Basic Daydreams, Непретенциозни „Мечти“, বেসিক স্ক্রিনসেভার, Estalvi de pantalla bàsic, Základní spořič obrazovky, Enkle dagdrømme, Basic Daydreams, Βασικό Daydreams, Basic Daydreams, Salvapantallas básico, Protector de pantalla interactivo básico, Unerežiimide põhipakett, رویاهای ساده, Tavalliset unelmat, Écrans de veille interactifs basiques, बेसिक डेड्रीम्स, Osnovna sanjarenja, Alap képernyővédők, Հիմնական Ցերեկային անուրջները, Lamunan Dasar, Daydream di base, סגנונות בסיסיים של חלומות בהקיץ, ベーシックスクリーンセーバー, Негізгі қалғулар, ស្រមើស្រមៃមូលដ្ឋាន, 기본 화면 보호기, Įprastos svajonės, Basic Daydreams, Lamunan Asas, အခြေခံ ဒေးဒရင်းမ်, Dagdrømmer – basispakke, Algemene dagdromen, Podstawowe wygaszacze, Daydreams básico, Daydreams básico, Daydreams Básico, Screensavere principale Daydream, Стандартные заставки, Základný šetrič obrazovky, Osnovno Sanjarjenje, Основна сањарења, Grund för dagdrömmar, เดย์ดรีมเบื้องต้น, Basic Daydreams, Temel Hafif Uyku Ekran Koruyucuları, Основні заставки, بنیادی Daydreams, Chế độ ngủ cơ bản, 基本互动屏保, 基本「白日夢」螢幕保護程式, 螢幕保護程式基本套件
****** #6 ******
File: /system/app/BatteryWarning/BatteryWarning.apk
Package: com.mediatek.batterywarning
Version: 9
Type: app
Odexed: Yes
****** #7 ******
File: /system/app/BluetoothMidiService/BluetoothMidiService.apk
Package: com.android.bluetoothmidiservice
Version: 9
Type: app
Odexed: Yes
Labels: Bluetooth MIDI Service
****** #8 ******
File: /system/app/BookmarkProvider/BookmarkProvider.apk
Package: com.android.bookmarkprovider
Version: 9
Type: app
Odexed: Yes
Labels: Bookmark Provider
****** #9 ******
File: /system/app/BuiltInPrintService/BuiltInPrintService.apk
Package: com.android.bips
Version: 9
Type: app
Odexed: Yes
Labels: Default Print Service, خدمة الطباعة التلقائية, Стандартна услуга за отпечатване, ডিফল্ট প্রিন্ট সার্ভিস, Servei d, Výchozí tisková služba, Standardudskrivningstjeneste, Standarddruckdienst, Προεπιλεγμένη υπηρεσία εκτύπωσης, Default print service, Servicio de impresión predeterminado, Servicio de impresión predeterminado, Printimise vaiketeenus, سرویس چاپ پیشفرض, Oletustulostuspalvelu, Service d, डिफ़ॉल्ट प्रिंट सेवा, Zadana usluga ispisa, Alapértelmezett nyomtatási szolgáltatás, Կանխադրված տպման ծառայություն, Layanan Cetak Default, Servizio di stampa predefinito, שירות ההדפסה המוגדר כברירת מחדל, デフォルト印刷サービス, Әдепкі принтер қызметі, សេវាកម្មបោះពុម្ពលំនាំដើម, 기본 인쇄 서비스, Numatytoji spausdinimo paslauga, Noklusējuma drukāšanas pakalpojums, Perkhidmatan Cetak Lalai, မူရင်းပုံနှိပ်ဝန်ဆောင်မှု, Standardtjeneste for utskrift, Standaard afdrukservice, Domyślna usługa drukowania, Serviço de impressão padrão, Serviço de impressão padrão, Serviço de impressão predefinido, Serviciu de printare prestabilit, Служба печати по умолчанию, Predvolená tlačová služba, Privzeta storitev tiskanja, Подразумевана услуга штампања, Standardtjänst för utskrift, บริการการพิมพ์เริ่มต้น, Default na Serbisyo sa Pag-print, Varsayılan Yazdırma Hizmeti, Служба друку за умовчанням, ڈیفالٹ پرنٹ سروس, Dịch vụ in mặc định, 默认打印服务, 預設列印服務, 預設列印服務
****** #10 ******
File: /system/app/CalendarGoogle/CalendarGoogle.apk
Package: com.google.android.calendar
Version: 6.0.8-220605953-release
Type: app
Odexed: Yes
Labels: Calendar, Kalender, የቀን መቁጠሪያ, التقويم, Təqvim, Каляндар, Календар, ক্যালেন্ডার, Kalendar, Calendar, Kalendář, Kalender, Kalender, Ημερολόγιο, Calendar, Calendar, Calendario, Calendario, Kalender, Egutegia, تقویم, Kalenteri, Agenda, Agenda, Calendario, કેલેન્ડર, कैलेंडर, Kalendar, Naptár, Օրացույց, Kalender, Dagatal, Calendario, יומן, カレンダー, კალენდარი, Күнтізбе, ប្រតិទិន, ಕ್ಯಾಲೆಂಡರ್, 캘린더, Жылнаама, ປະຕິທິນ, Kalendorius, Kalendārs, Календар, കലണ്ടർ, Хуанли, कॅलेंडर, Kalendar, Calendar, Kalender, पात्रो, Agenda, ਕੈਲੰਡਰ, Kalendarz, Agenda, Agenda, Calendário, Calendar, Календарь, දින දර්ශනය, Kalendár, Koledar, Kalendari, Календар, Kalender, Kalenda, கேலெண்டர், క్యాలెండర్, ปฏิทิน, Kalendaryo, Takvim, Календар, کیلنڈر, Taqvim, Lịch, 日历, 日曆, 日曆, Ikhalenda
. . ПРИЛОЖЕНИЯ 11-137 УБРАНЫ ДЛЯ ЭКОНОМИИ МЕСТА В ТЕКСТЕ СООБЩЕНИЯ. .
****** #138 ******
File: /system/priv-app/SharedStorageBackup/SharedStorageBackup.apk
Package: com.android.sharedstoragebackup
Version: 9
Type: priv-app
Odexed: Yes
****** #139 ******
File: /system/priv-app/Shell/Shell.apk
Package: com.android.shell
Version: 9
Type: priv-app
Odexed: Yes
Labels: Shell, Shell, Команден ред, শেল, Protecció, Shell, Shell, Shell, Κέλυφος, Shell, Shell, Shell, Kest, Shell, Komentotulkki, Shell, शेल, Ljuska, Héj, Shell, Kerangka, Shell, מעטפת, シェル, Қабыршық, សែល, 셸, Apvalkalas, Aizsargs, Shell, အခွံ, Kommandoliste, Shell, Powłoka, Shell, Shell, Shell, Shell, Оболочка, Prostredie, Lupina, Shell, Skal, Shell, Shell, Kabuk, Оболонка, شیل, Shell, Shell, 命令介面, 殼層
****** #140 ******
File: /system/priv-app/StatementService/StatementService.apk
Package: com.android.statementservice
Version: 1.0
Type: priv-app
Odexed: Yes
Labels: Intent Filter Verification Service
****** #141 ******
File: /system/priv-app/Stk1/Stk1.apk
Package: com.android.stk
Version: 9
Type: priv-app
Odexed: Yes
Labels: SIM Toolkit, مجموعة أدوات شريحة SIM, Инструментариум на SIM картата, সিম টুলকিট, SIM Toolkit, Nástroje SIM, SIM Toolkit, SIM-Toolkit, SIM Toolkit, SIM Tool Kit, Servicios SIM, Kit de herramientas de SIM, SIM Toolkit, ابزار کار SIM, SIM Toolkit, Boîte à outils SIM, सिम टूलकिट, Alatni komplet za SIM, SIM kártya eszközkészlete, SIM գործիքախումբ, SIM Toolkit, Kit strumenti SIM, SIM Toolkit, SIM Toolkit, SIM аспаптар жинағы, ប្រអប់ឧបករណ៍ស៊ីម, SIM 툴킷, SIM kortelės įrankių komplektas, SIM rīkkopa, Set Peralatan SIM, SIM တူးလ်ကစ်, SIM-verktøy, SIM-toolkit, Zestaw narzędzi SIM, Toolkit do SIM, Toolkit SIM, SIM Toolkit, Меню SIM-карты, Nástroje SIM, Orodja za SIM, SIM пакет алатки, SIM-verktyg, SIM Toolkit, SIM Toolkit, SIM Araç Seti, SIM Toolkit, SIM ٹول کٹ, Bộ công cụ SIM, SIM卡工具包, SIM 工具包, SIM 工具箱
****** #142 ******
File: /system/priv-app/StorageManager/StorageManager.apk
Package: com.android.storagemanager
Version: 9
Type: priv-app
Odexed: Yes
Labels: Storage Manager, مدير سعة التخزين, Мениджър на хранилището, স্টোরেজ ম্যানেজার, Gestor d, Správce úložiště, Lagerstyring, Speichermanager, Διαχείριση αποθηκευτικού χώρου, Storage Manager, Administrador de Almacenamiento, Administrador de almacenamiento, Salvestusruumi haldur, مدیریت حافظه, Tallennustilan hallinta, Gestionnaire d, जगह प्रबंधक, Upravitelj pohrane, Tárhelykezelő, Հիշողության կառավարիչ, Pengelola Penyimpanan, Gestione archiviazione, מנהל אחסון, ストレージ マネージャ, Жад менеджері, កម្មវិធីគ្រប់គ្រងទំហំផ្ទុក, 저장용량 관리자, Saugyklos tvarkytuvė, Krātuves pārvaldnieks, Pengurus Storan, သိုလှောင်ခန်း စီမံခန့်ခွဲမှုစနစ်, Lagringsadministrator, Opslagbeheer, Menedżer miejsca, Gerenciador de armazenamento, Gerenciador de armazenamento, Gestor de armazenamento, Managerul spațiului de stocare, Менеджер хранилища, Správca úložiska, Upravitelj shrambe, Менаџер меморијског простора, Lagringshanteraren, ตัวจัดการพื้นที่เก็บข้อมูล, Storage Manager, Depolama Yöneticisi, Диспетчер пам’яті, اسٹوریج مینیجر, Trình quản lý bộ nhớ, 存储空间管理器, 儲存空間管理員, 儲存空間管理員
****** #143 ******
File: /system/priv-app/UserDictionaryProvider/UserDictionaryProvider.apk
Package: com.android.providers.userdictionary
Version: 9
Type: priv-app
Odexed: Yes
Labels: User Dictionary, قاموس المستخدم, Потребителски речник, ব্যবহারকারীর অভিধান, Diccionari de l, Uživatelský slovník, Brugerordbog, Mein Wörterbuch, Λεξικό χρήστη, User Dictionary, Diccionario del usuario, Diccionario del usuario, Kasutaja sõnaraamat, واژهنامه کاربر, Käyttäjän sanakirja, Dictionnaire personnel, उपयोगकर्ता डिक्शनरी, Korisnički rječnik, Felhasználói szótár, Օգտատիրոջ բառարան, Kamus Pengguna, Dizionario utente, מילון משתמש, 単語リスト, Пайдаланушы сөздігі, វចនានុក្រមអ្នកប្រើ, 사용자 사전, Naudotojo žodynas, Lietotāja vārdnīca, Kamus Pengguna, သုံးစွဲသူ အဘိဓာန်, Brukerordliste, Gebruikerswoordenboek, Słownik użytkownika, Dicionário do usuário, Dicionário do utilizador, Dicționarul utilizatorului, Словарь пользователя, Používateľský slovník, Uporabniški slovar, Кориснички речник, Egen ordlista, พจนานุกรมผู้ใช้, Diksyonaryo ng User, Kullanıcı Sözlüğü, Словник користувача, صارف کی لغت, Từ điển người dùng, 用户字典, 使用者字典, 使用者字典
****** #144 ******
File: /system/priv-app/Velvet/Velvet.apk
Package: com.google.android.googlequicksearchbox
Version: 8.55.6.21.arm64
Type: priv-app
Odexed: Yes
Labels: Google, Google, Google, Google, Google, Google, Google, Google, Google, Google, Google, Google, Google, Google, Google, Google, Google, Google, Google, Google, Google, Google, Google, Google, Google, Google, Google, Google, Google, Google, Google, Google, Google, Google, Google, Google, Google, Google, Google, Google, Google, Google, Google, Google, Google, Google, Google, Google, Google, Google, Google, Google, Google, Google, Google, Google, Google, Google, Google, Google, Google, Google, Google, Google, Google, Google, Google, Google, Google, Google, Google, Google, Google, Google, Google, Google, Google, Google, Google, Google, Google, Google, Google, Google, Google, Google, Google, Google, Google, Google, Google, Google, Google, Google, Google, Google, Google, Google, Google, Google, Google, Google, Google, Google, Google, Google, Google, Google, Google, Google, Google, Google, Google, Google, Google, Google, Google, Google, Google, Google, Google, Google, Google, Google, Google, Google, Google, Google, Google, Google, Google, Google, Google, Google, Google, Google, Google, Google, Google, Google, Google, Google, Googlе, Googlе, Google, Google, Google, Google, Google, Google, Google, Google, Google, Google, Google, Google, Google, Google, Google, Google, Google, Google, Google, Google, Google, Google, Google, Google, Google, Google, Google, Google, Google, Google, Google, Google, Google, Google, Google, Google, Google, Google, Google, Google, Google, Google, Google, Google, Google, Google, Google, Google, Google, Google, Google, Google, Google, Google, Google, Google, Google, Google, I-Google
****** #145 ******
File: /system/priv-app/VpnDialogs/VpnDialogs.apk
Package: com.android.vpndialogs
Version: 9
Type: priv-app
Odexed: Yes
Labels: VpnDialogs, VpnDialogs, VpnDialogs, VpnDialogs, VpnDialogs, VpnDialogs, VpnDialogs, VpnDialogs, VpnDialogs, VpnDialogs, VpnDialogs, VpnDialogs, VpnDialogs, VpnDialogs, VpnDialogs, VpnDialogs, VpnDialogs, VpnDialogs, VpnDialogs, VpnDialogs, VpnDialogs, VpnDialogs, VpnDialogs, VpnDialogs, VpnDialogs, VpnDialogs, VpnDialogs, VpnDialogs, VpnDialogs, VpnDialogs, VpnDialogs, VpnDialogs, VpnDialogs, VpnDialogs, VpnDialogs, VpnDialogs, VpnDialogs, VpnDialogs, VpnDialogs, VpnDialogs, VpnDialogs, VpnDialogs, VpnDialogs, VpnDialogs, VpnDialogs, VpnDialogs, VpnDialogs, VpnDialogs, VpnDialogs, VpnDialogs, VpnDialogs, VpnDialogs
****** #146 ******
File: /system/priv-app/WallpaperCropper/WallpaperCropper.apk
Package: com.android.wallpapercropper
Version: 9
Type: priv-app
Odexed: Yes
****** #147 ******
File: /system/priv-app/WfoService/WfoService.apk
Package: com.mediatek.wfo.impl
Version: 9
Type: priv-app
Odexed: Yes
Command: setprop
You can set property value or create new property in build.prop 🙂
Property name: rw.test.soft
Property value: LOL Ahaha
Creating new property rw.test.soft -> LOL Ahaha. OK!
—————-
Command: getprop
You can get properties from build.prop by property name. ALL = show all properties.
Property name(or ALL): rw.test.soft
rw.test.soft -> LOL Ahaha
Command: delprop
You can delete property by name from build.prop 🙂
Property name: rw.test.soft
Deleting property rw.test.soft. Success! 🙂
—————-
Command: getprop
You can get properties from build.prop by property name. ALL = show all properties.
Property name(or ALL): rw.test.soft
Property rw.test.soft not found in build.prop! 🙁
Command: findApp
You can find (filter) apps by part label/package/filename 🙂
Find filter: launcher
****** #1 ******
File: /system/priv-app/SearchLauncher/SearchLauncher.apk
Package: com.android.launcher3
Version: 9
Type: priv-app
Odexed: Yes
Labels: Launcher3, Launcher3, Launcher3, Launcher3, Launcher3, Launcher3, Launcher3, Launcher3, Launcher3, Launcher3, Launcher3, Launcher3, Launcher3, Launcher3, Launcher3, Launcher3, Launcher3, Launcher3, Launcher3, Launcher3, Launcher3, Launcher3, Launcher3, Launcher3, Launcher3, Launcher3, Launcher3, Launcher3, Launcher3, Launcher3, Launcher3, Launcher3, Launcher3, Launcher3, Launcher3, ဖွင့်တင်စက်၃, ဖွင့်တင်စက်၃, Launcher3, Launcher3, Launcher3, Tela de início 3, Launcher3, Launcher3, Launcher3, Launcher3, Launcher3, Launcher3, Launcher3, Launcher3, Launcher3, Launcher3, Launcher3, Launcher3, Launcher3, Trình chạy 3, Launcher3, Launcher3, Launcher3
Finded 1 apps by filter ‘launcher 🙂
Command: uninstallApp
You can remove app by app package 🙂
Package: com.android.launcher3
Removing app directory /system/priv-app/SearchLauncher. Success!
—————-
Command: findApp
You can find (filter) apps by part label/package/filename 🙂
Find filter: launcher
Finded 0 apps by filter ‘launcher 🙂
Источник