Как установить новый Андроид на старый смартфон? Zetsila

Как установить новый Андроид на старый смартфон?

Главная страница » Как установить новый Андроид на старый смартфон?

Как установить новый Андроид на старый смартфон?

Система «Android» — операционный открытый программный исходный код, применяемый в конструкциях современных и устаревших мобильных телефонов (а также в конструкциях планшетных компьютеров). Именно благодаря этому программному коду, мобильный телефон (смартфон) успешно работает и доставляет удовольствие пользователю. Однако удовольствие доставляется до поры до времени, так как система «Android» имеет свойство технологически устаревать. Разработчики, конечно же, обновляют программный код, выпускают новые версии операционной системы. Только вот, как установить новый Андроид на старый смартфон? Этот вопрос для многих пользователей – тёмный лес.

Как установить новую версию Андроид вместо старой?

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

Согласно техническим нюансам мобильных аппаратов, для этого потребуется включить работу пользовательский ПЗУ (Программируемое Запоминающее Устройство) на смартфоне. Процесс для неискушённых обладателей техники сложный, но возможный.

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

Ресурс zetsila.ru предоставляет здесь информацию исключительно в рамках исследования аппаратных возможностей мобильной техники. Соответственно, авторы публикации не несут ответственности за любой ущерб, полученный владельцами телефонов в результате попыток модернизации системы.

Любые неправильные действия могут сопровождаться риском превращения смартфона в «кусок железа». Следовательно, требуется технически выверенная подготовка, прежде чем пытаться обновлять систему. Здесь рассматриваются возможные действия по обновлению ОС смартфона, но не рекомендуются как руководство к действию, особенно тем, кто не владеет нюансами как установить новый Андроид.

Применить пользовательское ПЗУ по умолчанию

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

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

Шаг#1: Процедура разблокировки загрузчика

Чтобы принудительно запустить пользовательское ПЗУ, прежде всего, следует запустить восстановление системы, что становится возможным только при условии разблокировки загрузчика устройства. Загрузчиком выполняется запуск системы «Android» или выполнение функции восстановления при каждом включении устройства.

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

Рекомендуется сделать резервную копию системы телефона, сохранив дубль на ПК или ноутбуке. Также следует обратить внимание на то, чтобы уровень заряда телефона составлял не менее 70% от полного уровня. Случайное отключение питания или перезагрузка телефона в процессе обновления, — эти казусы способны привести к тяжким последствиям.

Большинство производителей смартфонов, к примеру, фирмы:

  • Sony,
  • HTC,
  • Huawei,
  • Motorola,

предусматривают возможность разблокировки загрузчика. Этот процесс зачастую практически идентичен для многих фирменных устройств. Здесь требуется получить «ключ разблокировки» на официальном сайте соответствующего производителя. Найти ключ конкретного устройства можно через поиск Google, используя в качестве слов поиска имя устройства + «разблокировка загрузчика».

Шаг #2: Программное обеспечение под разблокировку

Потребуется программное обеспечение «Android Debug Bridge» и «Fastboot». Этот софт устанавливают на персональный компьютер. Также нужны драйверы USB для конкретного смартфона, которые можно получить с официального сайта производителя телефона. Драйверы нужны для обнаружения смартфона компьютером при подключении устройства через кабель USB.

На телефоне следует активировать «Опцию разработчика» и опцию «Режим отладки USB». Эти функции становятся доступны в разделе меню «Настройки» — «О телефоне» после семи кликов на опции «Номер сборки». Параметр «Отладка по USB» появляется в разделе меню «Для разработчиков».

Шаг#3: Подключение смартфона и разблокировка загрузчика

Теперь пришло время подключить телефон на порт «USB» компьютера. Далее необходимо перейти в папку, где находится софт «Android Debug Bridge» и «Fastboot». Удерживая зажатой клавишу «Shift», кликнуть правой кнопкой мыши и выбрать в списке открывшегося меню «Открыть окно PowerShell здесь».

После запуска окна программы «PowerShell», в рабочей строке следует ввести последовательность команд:

  • adb reboot bootloader,
  • fastboot devies,
  • fastboot oem unlock,
  • fastboot reboot,

Первая команда перезагружает смартфон в режим загрузчика. Вторая команда активирует подключение «fastboot» и отмечает подключенное устройство. Если отображаемых устройств нет, возможно, драйверы USB были установлены неправильно.

Третьей командой осуществляется разблокировка загрузчика. Следует иметь в виду – некоторые устройства требуют уникального ключа. То есть за вводом команды дополнительно указывается ключ разблокировки, предоставленный производителем. Четвёртая команда перезагружает смартфон для проверки статуса разблокировки загрузчика.

Шаг#4: Запуск восстановления пользователем

Восстановление является частью операционной системы «Android» и по факту действует аналогично мини-операционной системе. В частности, запускаются резервные копии и обновления, удаляются пользователи и данные кэша. Этой же функцией выполняется важная задача — установка ПЗУ. Однако восстановление по умолчанию на большинстве смартфонов имеет ограничения, поэтому приходится использовать индивидуальное восстановление.

Существует множество пользовательских инструментов восстановления на выбор, но популярными считаются два инструмента:

  1. TWRP.
  2. CWM (ClockworkMod).

Любой из этих инструментов поддерживает совместимость для большинства мобильных устройств. Загрузить последнюю версию (TWRP или CWM), совместимую с конкретным устройством можно с официальных сайтов разработчиков отмеченного инструментария.

Продолжение процесса (после разблокировки загрузчика и загрузки пользовательского восстановления на компьютер), — переход в папку, где сохранён файл восстановления. Следует убедиться, что версия файла подходит для телефона и телефон подключен к ПК. В окне папки вновь вызывается меню для запуска окна программы «PowerShell» и выполняется ввод команд пользовательского восстановления:

  • adb reboot bootloader,
  • fastboot flash recovery twrp xxx.img.
  • fastboot reboot.

Первая команда перезагрузит смартфон в режим загрузчика. Вторая команда приведет к прошивке пользовательского восстановления на устройстве. Здесь дополнительно с командой указывается правильное имя файла пользовательского восстановления, загруженного ранее. Третья команда перезагрузит систему после прошивки пользовательского восстановления. Можно считать, установка пользовательского восстановления выполнена.

Шаг#5: Резервное копирование существующей системы «Android»

Одной из функций пользовательского восстановления, помимо запуска пользовательского ПЗУ, является возможность сделать резервную копию «Nandroid». Это резервная копия существующей ОС, которая позволит вернуть прежнее состояние смартфона на случай непредвиденных проблемы.

Настоятельно рекомендуется сделать копию перед экспериментом как установить новый Андроид. Для этого потребуется перезагрузить устройство в режим пользовательского восстановления. На разных устройствах перезагрузка выполняется разными методами, однако сочетание нажатия кнопки питания и кнопки регулировки громкости после включения телефона работает на многих устройствах.

Следует учесть: перед тем, как будет возможен переход в пользовательское меню восстановления, единственный способ навигации на некоторых телефонах – комбинация кнопок громкости и питания. Нахождение в режиме пользовательского восстановления допускает использование тачскрина.

Итак, можно перейти в пункт «Резервное копирование» или «Nandroid». Если возможно, дать название резервной копии и запустив процесс, дождаться завершения операции. Процедура может занимать некоторое время.

Сделать резервную копию приложений, при необходимости, можно с помощью программы «Titanium Backup». Здесь пункт «Резервное копирование всех пользовательских приложений» создаст резервную копию всех загруженных на телефон приложений. Этот шаг полезен для переноса ранее установленных приложений на новую систему.

Супер AMOLED дисплей на Samsung GalaxyАвтомобильная широкоугольная реверсивная камераИнструмент золотоискателя

Шаг#4: Как установить новый Андроид прошивкой?

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

  • CynogenMod,
  • Paranoid Android,
  • Resurrection Remix,
  • MIUI,
  • Euphoria ROM.

В целом же существует множество других исходных кодов, которые размещаются, к примеру, на «XDA Developers Forum». Но здесь следует соблюдать осторожность к применению, так как существует риск установки некачественной системы на телефон.

Коды под запись в ПЗУ обычно представляют большеразмерные ZIP-файлы. Поэтому рекомендуется загрузить такой файл на компьютер, а уже с компьютера передавать на смартфон. Самым надёжным способом считается загрузка файла из корня диска ПК или с карты SD телефона.

Опять же потребуется перезагрузить смартфон в режиме восстановления, используя ранее упомянутую комбинацию кнопок питания и громкости. Возможно, перед программированием потребуется стереть часть данных. Делается это через пункты меню «Стереть» — «Стирание данных / Сброс к настройкам по умолчанию», «Очистить радел кэша». Команды меню могут отличаться на разных устройствах, но смысл действий остаётся тем же.

Дальше переходят к пункту «Установить», определяют местоположение Zip-файла ПЗУ и запускают процесс прошивки. По завершению процедуры как установить новый Андроид традиционно перезагружают телефон. Возможно, потребуется какое-то время пока аппарат загрузится новой операционной системой. Но ожидание, как правило, требуется лишь при первой загрузке ОС.

При помощи информации: RelianceDigital

КРАТКИЙ БРИФИНГ

Zetsila — публикации материалов, интересных и полезных для социума. Новости технологий, исследований, экспериментов мирового масштаба. Социальная мультитематическая информация — СМИ .

Прошивка смартфона андроид через рекавери или через компьютер (Часть II)

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

Прошить смартфон можно двумя способами: через рекавери и с помощью компьютера. Начнём со второго способа – через компьютер.

Программы прошивальщики

Для всех телефонов, за исключением Samsung, существует две программы прошивальщика: Flash Tool и Upgrade Download. Но как научиться различать, какая прошивка для какой программы создана?

Рассмотрим архив с двумя разными прошивками. Первая прошивка предназначена для программы Flash Tool, и именно так выглядит содержимое архива:

Flash Tool

А вот так выглядит архив с прошивкой для программы Upgrade Download:

Upgrade Download

Там может быть один или несколько файлов, но основной с расширением “pac”.

Как прошить телефон через Flash tool?

Первым делом нужно скачать прошивку и прошивальщик. Также нужно скачать драйвера для смартфона, но иногда они устанавливаются автоматически, путём подключения смарта к компьютеру.

Теперь перейдём к самому процессу прошивки. Для начала разархивируем прошивку в удобное место на компьютере. Лучше на рабочий стол, чтобы было легче найти. Теперь запускаем Flash tool. Главное окно Flash tool выглядит следующим образом:

Главное окно Flash Tool

Для начала прошивки нажимаем кнопку «choose» возле строчки Scatter-loading File. В появившемся окне идём в папку с прошивкой, и выбираем файл, который выделен на скриншоте ниже:

Выбор файла в Flash Tool

В прошивальщике появятся файлы прошивки. После этого нажать кнопку Download.

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

  • Отключаем телефон от компьютера;
  • Нажимаем в программе Flash Tool кнопку Stop;
  • Теперь снова нажимаем кнопку Download;
  • Подключаем телефон к компьютеру через USB кабель.

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

По окончанию процесса посередине появится маленькое окошко с зелёной галочкой. Теперь можно отсоединить телефон от компьютера, и включить его.

Прошивка через Upgrade Download

Главное окно этой программы выглядит так:

Главное окно Upgrade Download

Чтобы загрузить в неё прошивку, нажмите на шестерёнку в левом верхнем углу. Откроется проводник, найдите на компьютере папку с разархивированной прошивкой. Выберите файл с расширением «pac». После этого, нажмите кнопку «Старт».

Кнопка Старт Upgrade Download

Теперь подключаем ВЫКЛЮЧЕННЫЙ телефон к компьютеру через USB кабель. Начнётся процесс прошивки.

По окончанию появится оповещение или надпись SUCCESS.

Прошивка через рекавери

Прошивки, которые ставятся через рекавери, выглядят немного иначе.

Как выглядит прошивка для рекавери

Только для подобных прошивок нужно внимательно читать описание. Дело в том, что прошивки выглядят почти одинаково, но вы не сможете определить, для какого типа рекавери они предназначены.

Пару слов о типах рекавери. Рекавери бывают стоковые и кастомные. Стоковое – это рекавери выпущенное производителем, так сказать официальное, и предназначено только для установки официальных прошивок. Кастомные рекавери годятся только для кастомных прошивок, но они в свою очередь также делятся на два типа: CWM и TWRP.

А теперь перейдём к процессу прошивки. Для начала скачиваем прошивку на телефон и сохраняем её в корне SD карты. Далее, выключаем телефон, затем вытаскиваем батарею и вставляем обратно. Одновременно зажимаем кнопку питания и кнопку громкости +. Вы попадёте в рекавери. Оно выглядит примерно так:

Рекавери

Качелькой громкости листаем вверх и вниз, а кнопкой питания выбираем нужный пункт. Выбираем пункт «apply update from external storage». Откроется всё содержимое SD карты. Листаем вниз, и выбираем архив с прошивкой. Появятся надписи Yes и No, выбираем Yes. Начнётся процесс прошивки. После окончания появится главное меню рекавери.

С кастомным рекавери дела обстоят точно так же. Начнём с CWM рекавери, которое имеет такой вид:

CWM Recovery

Тут нажимаем на пункт «Install zip». Далее точно так же выбираем архив с прошивкой и т.д.

Теперь кратко о TWRP рекавери. Выглядит оно так:

TWRP Recovery

У него сенсорное управление, поэтому пользоваться им немного легче. Ещё одно отличие в том, что оно может быть на русском. В TWRP рекавери для начала прошивки нужно нажать Install (или Установить). Выбираем архив с прошивкой и подтверждаем действие.

После прошивки

После окончания прошивки нужно сделать вайпы, то есть сброс всех данных. В стоковом и CWM рекавери это делается следующим образом:

  • В главном меню рекавери выбираем Wipe Data.
  • Подтверждаем действие, нажимаем Yes.
  • Возвращаемся в главное меню, выбираем Wipe Cache.
  • Подтверждаем, нажимаем Yes.

Вайпы в TWRP рекавери делаются чуть иначе:

  • В главном меню выбираем Wipe.
  • Сдвигаем ползунок свайпом вправо для подтверждения.

Возвращаемся в главное окно рекавери, и нажимаем Reboot. Это перезагрузка системы.

Теперь пару слов о некоторых моментах, которые могут случится после прошивки.

  • Долгий запуск

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

  • После прошивки все данные остались

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

Что нужно сделать перед прошивкой?

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

Заключение

Итак, мы рассмотрели все способы прошивки телефона. Разобрали, как определить какая прошивка для какой программы, также разобрали способ прошивки с помощью рекавери.

О том, как установить кастомное рекавери, можно прочитать на форуме сайта 4PDA, ведь к каждому устройству есть своё рекавери и свой способ установки. А что касается прошивки, мы изложили всю информацию в двух частях.

Хочется сказать, что прошивка смартфона или планшета – процесс не сложный, но требует внимательности. И помните, что все действия вы выполняете на свой страх и риск, и никто не несёт ответственности за ваши устройства, кроме вас самих.

Модификация стоковых прошивок для 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, а класс, который содержал данную подпрограмму находился в comhtcutilcontactsBuildUtils$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:devAndroidAndroid-KitchenWORKING_JB_15systemframework -o HTCExtension -x HTCExtension.jar
7. В нашей вновь созданной папке появилась папка HTCExtension, а в ней наши файлы с Dalvik кодом.
8. Отыскиваем файл по пути comhtcutilcontactsBuildUtils$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. Удаляем строки с нумерацией строк, копируем и заменяем метод (подпрограмму) в нашем comhtcutilcontactsBuildUtils$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. Если код не работает или выскакивает ошибка, то путем не хитрых комбинаций можно вернуть назад резервную копию.

Эпилог

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

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

Источник https://zetsila.ru/%D0%BA%D0%B0%D0%BA-%D1%83%D1%81%D1%82%D0%B0%D0%BD%D0%BE%D0%B2%D0%B8%D1%82%D1%8C-%D0%BD%D0%BE%D0%B2%D1%8B%D0%B9-%D0%B0%D0%BD%D0%B4%D1%80%D0%BE%D0%B8%D0%B4/

Источник https://vebtech.ru/rukovodstva/proshivka-smartfona-android-cherez-rekaveri-ili-cherez-kompyuter-chast-ii/

Источник https://habr.com/ru/post/181826/

Источник

Добавить комментарий

  });