Как сделать прошивку на русском

Обновлено: 08.07.2024

Несколько лет назад, когда я впервые познакомился с 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 кода.

Преобразование прошивки

После того, как прошивка из оптимизированного вида (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 доступ:

2. Спасибо что дочитали до этого пункта, осталось немного.
3. После перезагрузки ваш новый патченный код вступит в силу.
4. Если код не работает или выскакивает ошибка, то путем не хитрых комбинаций можно вернуть назад резервную копию.

Эпилог

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

К следующей статье я расскажу как делать Твики. Будет пример использования автоматической записи телефонных звонков родными средствами телефона. Спасибо за ваше внимание.

Чтобы прошить мобильное устройство на операционной системе Андроид, необходимо воспользоваться службой восстановления (recovery), применить фирменные способы или скачать специальную программу. Ниже пойдет речь именно о последнем варианте. Мы рассмотрим 3 программы для прошивки Андроида через компьютер на русском языке, укажем их главные плюсы и минусы, а также предложим бесплатно скачать такой софт.

SP Flash Tool

Данное приложение подходит для смен прошивки на любых смартфонах или планшетах под управлением Android, которые основаны на процессорах MTK. Пользоваться утилитой можно через компьютер с Windows или Linux. Ниже представлены возможности данного ПО:

  • загрузка кастомных прошивок и установка их на телефон;
  • восстановление и форматирование устройства;
  • улучшение производительности;
  • получение подробной информации об операционной системе и прошивке.

SP Flash Tool

Для работы с SP Flash Tool потребуется три компонента – смартфон, установленная программа со всеми необходимыми драйверами и файлы операционной системы. Рассмотрим главные достоинства и недостатки этого приложения.

  • русский язык и подробная пошаговая инструкция;
  • восстановление неработающих устройств;
  • обновления от разработчиков;
  • нужный драйвер устанавливается вместе с программой.
  • поддерживает смартфоны только на процессорах MediaTek.

Adb RUN

Второй вариант уже подходит для любых процессоров и версий Андроида. Однако по сравнению с SP Flash Tool приложение Adb RUN немного сложнее. Все возможности утилиты перечислены ниже:

  • возможность прошить смартфон через USB;
  • настройка автоматических действий;
  • получение доступа к заблокированным устройствам;
  • разблокировка загрузчика;
  • создание резервных копий.

Adb RUN

Также предлагаем ознакомиться с плюсами и минусами Adb RUN.

  • подходит для большинства Андроидов;
  • нет необходимо вписывать команды вручную;
  • разблокирует загрузчик на HTC, Nexus, Sony, Xiaomi и так далее;
  • простой интерфейс и управление.
  • немного сложнее в освоении, чем другие варианты.

Программное обеспечение ODIN – это фирменное средство от компании Samsung для их же смартфонов. Именно поэтому использование софта ограничено. В список функций ODIN входят следующие опции:

  • прошивка практически любого Samsung;
  • восстановление доступа к заблокированным телефонам;
  • разблокировка загрузчика;
  • возможность прошить модем при проблемах со связью и интернетом.

ODIN

Если вы являетесь владельцем устройства Samsung, то обязательно прочтите о плюсах и минусах софта. С большой вероятностью вам придется столкнуться с использованием ODIN.

Как пользоваться

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

  1. Установка утилиты и распаковка файлов прошивки.
  2. Установка необходимых драйверов.
  3. Выключение смартфона и подключение к компьютеру через кабель.
  4. После синхронизации нужно указать путь к файлам прошивки.
  5. Выбираем дополнительные настройки.
  6. Готово! Специальная утилита выполнит все действия самостоятельно, а вам останется только подождать некоторое время и не отключать смартфон от ПК.

Пункты могут чередоваться и дополняться в зависимости от используемой утилиты, конкретной версии ОС, модели процессора, производителя устройства и ряда других факторов. Рекомендуем найти точную инструкцию для вашего Андроида, чтобы не ошибиться в настройках.

Видео

Чтобы детально разобраться в каждой из программ, необходимо ознакомиться с видеоинструкцией, представленной в данной статье.

Бесплатно загрузить все три программы вы можете с помощью представленных ссылок. Данные версии полностью переведены на русский язык и распространяются бесплатно.

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

Прошивка телефона Android через компьютер

Прошивка — это установка программного обеспечения на микрочип мобильного устройства (телефона, планшета).

Перепрошивка – это замена старой программной оболочки на другую. Обычно выполняется, если предустановленная прошивка приводит к каким-либо неисправностям в работе устройства.

Как перепрошить телефон Android в домашних условиях

Есть несколько способов самостоятельно перепрошить телефон Android в домашних условиях:

Рассмотрим лишь второй вариант.

Что нужно для прошивки телефона через ПК

Для того, чтобы сделать прошивку телефона через ПК понадобиться:

Как поменять прошивку на Андроиде через компьютер


Далее рассмотрим правила, рекомендации, особенности, которые важно соблюдать при установке, замене или обновлении прошивки на Андроиде через компьютер.

Сами программы для прошивки телефона Android достаточно просты в использовании. И алгоритм работы с ними сводиться к следующему:

  1. Запуск программы;
  2. Указание пути к файлу прошивки;
  3. Выбор элементов, прошивку которых необходимо совершить (например, сделать прошивку Recovery или наоборот исключить его);
  4. Запуск процесса;
  5. После завершения можно отсоединить USB и включить телефон, на котором уже поставлена свежая прошивка.

Теперь вы знаете, как правильно прошить телефон Андроид (установить, изменить, обновить прошивку).


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


Следуя инструкции, как поменять прошивку на телефоне в домашних условиях, у вас не возникнет проблем, сложностей.


Как перепрошить андроид

Что такое прошивка телефона вы теперь знаете. Здесь мы расскажем, как перепрошить андроид самостоятельно без компьютера или наоборот, через пк.


Прошивка телефона при помощи CWM Recovery


Сделать прошивку телефона нетрудно, главное — быть внимательным, делать все по инструкции.


Перед любым сбросом в Android, необходимо выйти из всех учетных записей: Samsung, Google, Mi account, Flyme. Сразу подготовьте карту памяти (небольшого объема).


Вся работа будет производиться с помощью боковой кнопки регулировки звука!

Как прошить телефон андроид при помощи TWRP Recovery?


Прошивка телефона через Miflash


Сначала нужно разблокировать загрузчика, сделать это нужно через компьютер.

Готово! Перепрошивка андроида завершена.

Как прошить андроид через компьютер?


1 Вставьте карту памяти в ноутбук.



4 В компьютере запустите программу Oldin3. После того, как она загрузилась, подключите девайс к устройству ноутбука.






Теперь вы знаете как перепрошить планшет андроид через компьютер в домашних условиях!

Как прошить Android ADB Sideload


1 Андроиды бывают разных версий. Если у вас установлена 41-70 — нужно ее сменить.

3 Нажмите там 6 раз на номер сборки.

4 Вернитесь назад.

6 Активируйте отладку по USB.


8 Откройте папку, содержащую ADB, переместите прошиваемый архив в эту папку.


12 В открывшейся вкладке нажмите Advanced/ADB Sileload, потяните направо кнопку подтверждения.

Теперь вы умеете и знаете, как сделать прошивку на андроид ADB Sideload.

Читайте также: