- Как легко прошить любой андроид-телефон?
- Часть 1. Зачем вам прошивать телефон?
- Перед прошивкой телефона — попробуйте выполнить полный сброс настроек (Hard Reset)
- Как сделать Hard Reset телефона на Android?
- Часть 2. Как прошить свой телефон
- Способ 1: используйте простой в использовании инструмент для прошивки телефона
- Способ 2: прошивка вручную с помощью кастомных прошивок
- Что нужно сделать:
- Модификация стоковых прошивок для Android. Часть 1
- Преамбула
- Подготовка среды
- Преобразование прошивки
- Непосредственно модификации
- Эпилог
Как легко прошить любой андроид-телефон?
Вам нужно прошить свой телефон на ОС Android? Есть много способов, которыми вы можете воспользоваться, чтобы перепрошить свой смартфон. Тем не менее, можно с уверенностью сказать, что это непросто сделать самостоятельно, потому что, если что-то пойдет не так, вы можете в конечном итоге повредить свой драгоценный телефон навсегда.
Итак, есть ли способ сделать это без риска? К счастью, да. И сегодня, в этом посте, мы расскажем о некоторых из лучших и самых простых способов перепрошивки вашего телефона на Android. Следуя этим методам (осторожно), вы сможете без проблем прошить свой смартфон. Итак, давайте без лишних слов перейдем к делу…
Часть 1. Зачем вам прошивать телефон?
Перед прошивкой телефона вы должны знать причины перепрошивки телефона. Есть несколько ситуаций, когда вы должны прошить свой телефон. Но здесь мы поделимся только несколькими из них. Если вы находитесь в таких ситуациях, то вам необходимо прошить свой телефон, следуя нашим методам, о которых мы расскажем позже. Итак, давайте посмотрим на эти причины.
Чтобы устранить проблемы с поломкой или зависанием телефона:
Мы любим телефоны на Android из-за их настраиваемости и гибкости. Однако, поскольку Android является ОС с открытым исходным кодом, она также наиболее уязвима для многих проблем, связанных с операционной системой. Это знакомый сценарий, когда ваш телефон может лагать или зависать из ниоткуда. Существуют различные исправления этих проблем. Однако окончательное решение одно — прошить телефон.
Чтобы установить новую кастомную прошивку (ROM):
Как правило, ваш телефон поставляется с определенной операционной системой по умолчанию. По некоторым причинам большинство из этих стандартных ROM для Android — не лучший вариант. В результате многие люди создают собственные прошивки, которые могут быть установлены вместо стандартных.
Интересно, что эти пользовательские ROM имеют множество дополнительных функций, которые обычно не доступны в ОС по умолчанию. Пользовательское прошивки могут сделать ваш телефон быстрее, обеспечить лучшее время работы от батареи, придать новый вид и так далее.
Перед прошивкой телефона — попробуйте выполнить полный сброс настроек (Hard Reset)
Вы должны знать, что перепрошивка телефона имеет свои последствия. Прежде всего, вы потеряете все файлы и данные. И, во-вторых, вам может не понравиться новая прошивка. Это означает, что вам придется пройти через тот же процесс снова и снова. В-третьих, иногда аппаратная перезагрузка может решить многие проблемы автоматически. Таким образом, вы должны попробовать сделать hard reset перед тем, как приступить к перепрошивке телефона.
Существуют сотни моделей телефонов. И не все эти телефоны могут быть сброшены к заводским настройкам одним и тем же способом. У каждого свой метод. В результате мы не можем поделиться всеми доступными методами. Скорее мы поделимся базовым методом, который будет почти аналогичен всем доступным методам. Итак, поехали…
Как сделать Hard Reset телефона на Android?
Примечание. После аппаратного сброса / возврата к заводским настройкам вы потеряете все данные с телефона, включая приложения, изображения, видео, аудио, контакты и т. д. Итак, вы должны сделать резервную копию важных данных, прежде чем делать сброс. Ниже описан метод резервного копирования.
Теперь давайте посмотрим, как шаг за шагом выполнить сброс телефона Android к заводским настройкам.
- Перейдите в меню «Настройки» на вашем телефоне
- Затем перейдите к параметру «Сброс», выбрав «Система»> «Дополнительно»> «Сбросить параметры».
- Если вы не видите эти параметры, введите в строке поиска «Сброс» и нажмите поиск
- Затем нажмите на кнопку «Удалить все данные / Сброс к заводским настройкам» (зависит от модели).
- Затем нажмите на «Сбросить телефон». В большинстве случаев вам нужно будет ввести свой пароль / PIN-код вашего телефона.
- И, наконец, нажмите на опцию «Стереть все» и дождитесь завершения процедуры
- Вот и все.
Вышеуказанные шаги могут немного отличаться на разных устройствах. Для телефонов-«кирпичей» есть другой способ восстановить заводские настройки с помощью кнопок питания и громкости. Однако этот метод также зависит от производителя телефона. Таким образом, вам следует посетить сайт поддержки вашего телефона для получения конкретных инструкций в зависимости от модели.
Часть 2. Как прошить свой телефон
Если после сброса настроек телефона к заводским настройкам проблемы все еще не устранены, у вас нет других способов, кроме как прошить свой телефон. Есть несколько способов прошить телефон. Тем не менее, почти все методы являются ручными и сложными. Таким образом, это может повредить ваш телефон. Итак, что вы можете сделать?
К счастью, есть программы, которые могут автоматически прошивать ваш телефон. Метод также довольно упрощен, и нет никакого риска. В этом разделе мы расскажем о нескольких способах перепрошивки вашего телефона. Однако перед прошивкой любого телефона вам нужно будет сделать резервную копию файлов.
Вот распространенный метод создания резервной копии телефонов на ОС Андроид. Кроме того, мы также поделимся некоторыми советами по резервному копированию ваших данных ниже.
Подготовка: резервное копирование файлов на Android-телефоне
- Перейдите к приложению «Настройки» на вашем телефоне.
- Далее перейдите в Система> Дополнительно> Резервное копирование
- Если вы не найдете эти варианты; просто найдите «Резервное копирование» с помощью панели поиска в верхней части меню «Настройки» и нажмите «Резервное копирование»
- Затем нажмите на «Резервировать сейчас»
- Наконец, нажмите «Продолжить», чтобы начать резервное копирование.
Как сделать Hard Reset на смартфоне Xiaomi с MIUI
Помните, что процесс будет зависеть от модели вашего телефона Android. Однако, используя описанный выше метод, вы создадите резервную копию настроек и данных вашего телефона в своей учетной записи Google. Вот еще несколько советов на эту тему.
Советы по резервному копированию данных:
- Вы можете скопировать все видео, аудио, изображения, данные приложений и т. д. на свой компьютер, чтобы сделать резервную копию вручную
- Вы также можете загрузить все данные в личный аккаунт Google Диска.
- Используйте Google Фото для мгновенного резервного копирования фотографий
- Используйте аккаунт Google Диска для резервного копирования документов
- Вы можете использовать приложения резервного копирования текстовых сообщений и журнала вызовов для резервного копирования этих данных. Вы можете найти эти типы приложений в магазине Google Play.
Если у вас «мертвый» телефон, вы не сможете сделать резервную копию таким образом. Вместо этого вы можете попытаться восстановить ваши данные с помощью любых инструментов восстановления. Опять же, это может быть невозможно. Поэтому всегда лучше, если вы заранее включите резервное копирование в онлайн-хранилище.
Теперь, когда вы заюэкапили свой телефон, мы поговорим о самом простом и наиболее безопасном способе перепрошивки телефона, чтобы вам вообще не нужно было использовать другие рискованные методы. Итак, поехали…
Способ 1: используйте простой в использовании инструмент для прошивки телефона
Здесь мы покажем вам, как автоматически прошивать ваш телефон с помощью стороннего программного обеспечения. Название программного обеспечения — iMyFone Fixppo для Android. Это программное обеспечение очень простое в использовании. И нет никаких рисков. Теперь давайте посмотрим, как прошить телефон с помощью программного обеспечения iMyFone Fixppo для Android. Весь процесс состоит из 3 простых шагов. Итак, начнем…
Сначала загрузите iMyFone Fixppo для Android на свой ПК и установите его, если вы этого еще не сделали. Запустите приложение на своем ПК и нажмите кнопку «Пуск» в программном обеспечении.
Шаг 1: На следующей странице предоставьте информацию о вашем телефоне. Выбрав всю правильную информацию, просто нажмите кнопку «Загрузить прошивку». При этом iMyFone Fixppo начнет загружать правильную прошивку для вашего телефона.
Шаг 2. Теперь подключите телефон к компьютеру с помощью USB-кабеля и переведите его в режим загрузки. Не знаете, как перейти в режим загрузки? iMyFone Fixppo для Android содержит инструкции, просто следуйте им.
Шаг 3. iMyFone Fixppo распознает ваш телефон и автоматически начнет его прошивать. Просто дождитесь окончания процесса. После того, как ваш телефон будет успешно прошит, он перезагрузится самостоятельно. Наконец, нажмите кнопку «Готово», чтобы завершить процедуру.
Видели? Это было так просто. Тем не менее, для вашего удобства ниже мы расскажем о другом способе прошивки телефона на Android.
Способ 2: прошивка вручную с помощью кастомных прошивок
Следует отметить, что это ручной метод. Так что, если вы сделаете что-то не так, пеняйте на себя. Мы бы посоветовали вам попробовать этот метод, если вы хорошо подкованы в техническом плане. А также, мы не несем ответственности, если этот метод не работает или повредит ваш телефон. Делайте это на свой страх и риск.
Что потребуется:
- Ваш смартфон
- Сделайте резервную копию вашего устройства, если вы еще не сделали
- Кастомный ROM (прошивка)
- Кастомное рекавери
- Разблокированный загрузчик
- Как минимум 50% заряда на вашем устройстве
Что нужно сделать:
№ 1 — скачать прошивку
В Интернете тонны пользовательских прошивок для любого телефона с ОС Android. Итак, найдите ту, которая вам нравится больше всего. Помните, вам нужно найти правильный ROM для вашего телефона. Проверьте, совместима ли прошивка с вашей моделью телефона и т. д. Затем загрузите ее (ZIP-файл) и сохраните на телефоне.
№ 2 — разблокировать загрузчик (необязательно)
Почти все телефоны поставляются с разблокированным загрузчиком. Однако некоторые производители блокируют загрузчик. Если это так, то вам нужно связаться с производителем телефона, чтобы разблокировать загрузчик.
№ 3 — Загрузиться в Recovery
На этот раз вам нужно будет использовать комбинацию кнопок для загрузки в режиме восстановления. Комбинации могут отличаться от устройства к устройству. Вы можете выполнить поиск в Интернете для поиска информации о конкретной комбинации кнопок, чтобы войти в режим восстановления для вашего конкретного устройства.
Однако в большинстве случаев нужно одновременно зажать кнопку уменьшения громкости + питания. Итак, одновременно удерживайте эти две кнопки не менее 5 секунд. При этом ваш телефон загрузится в режиме восстановления.
№ 4 — процесс прошивки
Находясь в режиме восстановления, вы увидите определенный экран, который будет зависеть от рекавери, который вы используете. Доступно несколько рекавери, таких как ClockworkMod, TWRP, Cyanogenmod recovery, Кусщмукн Red Wolf и другие. Однако, поскольку ClockworkMod и TWRP являются наиболее популярными, в этом разделе мы расскажем о методах использования этих двух режимов восстановления.
Итак, выберите «Install» (на TWRP) или «Install zip from sdcard» (на ClockworkMod) на экране режима восстановления, чтобы инициализировать процедуру прошивки. Затем найдите файл с прошивкой, который вы только что загрузили.
После того, как вы нашли и выбрали файл с прошивкой (.zip), вы можете установить ее. Выберите «Swipe to Confirm Flash» (на TWRP) или «Apply sdcard / update.zip» (на ClockworkMod). После этого ваш телефон начнет установку выбранной прошивки.
№ 5 — Очистить кэш
После прошивки телефона вы можете стереть данные кеша на вашем телефоне. Просто вернитесь в режим восстановления и выберите «Wipe cache partion’», чтобы стереть весь кэш.
Поздравляем! Вы только что самостоятельно прошили свой телефон. Тем не менее, есть и другие методы, которые вы также можете использовать для прошивки любого Android-смартфона.
Для этих методов вам потребуется ПК и определенный набор программного обеспечения (Flash Tool) в зависимости от марки вашего телефона. Мы не будем делиться всеми этими методами. Тем не менее, ниже мы поделимся несколькими названиями самых популярных flash-инструментов. Так что, если они вам нужны, вы можете найти их в Интернете.
- Odin (для смартфонов Samsung)
- Nexus Root Toolkit (для телефонов Nexus)
- SP Flash Tool (для устройств с чипсетом от Mediatek)
- FlashTool (для Sony Xperia)
- Miracle Box (для некоторых китайских телефонов)
Подведем итоги
В этом посте мы показали различные способы перепрошивки телефона на Android. Все эти методы жизнеспособны. Но некоторые проще лучше, чем другие. Кроме того, в зависимости от ситуации некоторые более рискованны. Тем не менее, мы постарались предложить лучшее решение для наших читателей.
Мы хотим сказать вам, что для этой цели лучше всего использовать программное обеспечение iMyFone Fixppo, поскольку для его использования не требуется никаких технических навыков. Кроме того, это самый безопасный метод из всех. И, наконец, его можно использовать с любыми телефонами.
Если у вас есть какие-либо вопросы о перепрошивке вашего телефона, вы можете сообщить нам об этом, оставив комментарий ниже!
Источник
Модификация стоковых прошивок для 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. Если код не работает или выскакивает ошибка, то путем не хитрых комбинаций можно вернуть назад резервную копию.
Эпилог
Да, кому-то показалось данная статья слишком специфичной, кому-то мало-понятной, а кому-то бесполезной. Я специально обошелся без углубленной детализации и иллюстраций как это все выглядит в живую и на практике. Во-первых, данный труд будет неблагодарный и только породить еще больше вопросов. Во-вторых, не хочу видеть армию пользователей на форумах, которые жалуются, что убили свой телефон.
К следующей статье я расскажу как делать Твики. Будет пример использования автоматической записи телефонных звонков родными средствами телефона. Спасибо за ваше внимание.
Источник