Как открыть прошивку Андроид для последующего её изменения

izvlechenie zamena failov Новости

Что же такое – перепрошивка устройства?

Если коротко и ясно – замена или переустановка установленной операционной системы на другую операционную систему. Прямо как “винду переставить”. Данное определение не относится конкретно к телефонам — перепрошивают всё, что угодно, даже автомобили.

Из каких же шагов состоит установка новой ОС, вместо существующей? Для большинства пользователей они будут примерно следующими:

  1. Разблокировка загрузчика

  2. Поиск и установка стороннего Recovery

  3. Поиск файлов новой прошивки

  4. Установка новой прошивки с помощью стороннего recovery

  5. (опционально) Установка root-прав

  6. (опционально) Установка GApps

В этой, как самой первой статье, я разберу только первые два пункта, в силу объема остальных.

Что представляет собой прошивка

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

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

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

  1. Скопируйте папку dload со всем её содержимым в корень SD-карты;
  2. Выключите планшет;
  3. Вставьте SD-карту если она была извлечена;
  4. Удерживая клавишу Увеличение громкости (Volume Up) нажмите и удерживайте кнопку Включения пока не моргнёт экран. Кнопку Увеличения громкости необходимо удерживать до тех пор, пока не начнётся процесс установки (появится зеленый робот и заполняющийся прогресс бар);
  5. В конце, когда появится соответствующее предложение, вытащите SD-карту или удерживайте кнопку Включения 10 секунд.

Примечание: В некоторых случаях зажимать кнопки вообще не нужно и процесс начнётся автоматически после включения/перезагрузки.

Если процесс обновления не запустился, необходимо открыть калькулятор, ввести ()()2846579()()= и далее выбрать Project Menu Act -> Upgrade ->SD Card upgrade.

Внимание!

  • Не вытаскивайте карту и не нажимайте кнопку включения, пока процесс не закончен и на экране не появилось соответствующее приглашение;
  • Если питание в процессе установки пропадет, повторите процесс прошивки;
  • После того, как скопируете прошивку на sd-карту, проверьте не повреждена ли она (скопируйте файлы прошивки, отключите, а затем подключите sd-карту, проверьте, что файлы *.zip в прошивке открываются без ошибок на компьютере).
  • Удалите файл прошивки с SD-карты или переименуйте папку dload, если не хотите случайно обновить планшет ещё раз!

Itunes где хранит прошивки

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

  • Если вы пользуетесь Windows 7/8 или 10, то стоит зайти в папку пользователя. Это можно сделать, зайдя на диск с операционной системе. После этого, вам потребуется зайти в папку App Data, и найти ещё одну папку Roaming. После этого, необходимо перейти в AppleComputer, и найти папку iTunes. В папке с iTunes потребуется зайти в последнюю папку, которая будет называться устройством, прошивка на которое требуется. Это может быть iPhone, или iPad.
  • Если вы пользуетесь компьютером на Mac OS, то путь будет немного другим. Вам потребуется зайти в библиотеки, найти папку iTunes, после этого зайти в папку, которая начинается с iphone, или iPad.

Примечательно то, что все файлы будут скрытыми, потому пользователям требуется установить в системе доступ ко всем скрытым папкам и файлам.

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

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

Пользователь имеет возможность устанавливать прошивку через iTunes двумя способами: предварительно самостоятельно загрузив нужную версию прошивки и указав ее в программе или доверив загрузку и установку прошивки iTunes. И если в первом случае пользователь самостоятельно может решить, где прошивка на компьютере будет храниться, то во втором – нет.

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

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

В открывшемся окне перейдите ко вкладке «Вид»
, спуститесь к самому концу списка и отметьте точкой параметр «Показывать скрытые папки, файлы и диски»
.

После того как вы активируете отображение скрытых папок и файлов, вы сможете найти через проводник Windowsнужный файл с прошивкой.

Замена оригинального файла на патченный

Обычно, для рядовых пользователей создаются специальные скрипты, которые через recovery заменяются. Но нам такое не интересно. Во-первых долго и нудно, во-вторых мы же опытные пользователи и можем себе позволить некоторые тонкости.

1. Заменить текущий рабочий файл можно следующими командами, если у вас уже стоит DEODEX прошивка и имеется root доступ:

adb push HTCExtension.jar /sdcard/HTCExtension.jar
adb shell
su
mount -o remount -rw /system
dd if=/system/framework/HTCExtension.jar of=/system/framework/HTCExtension.jar.back
dd if=/sdcard/HTCExtension.jar of=/system/framework/HTCExtension.jar
chmod 644 /system/framework/HTCExtension.jar
rm /data/dalvik-cache/system@[email protected]@classes.dex
reboot

1-ая команда закидывает патченный файл на флешку2-ая команда открывает shell3-ая команда дает root доступ4-ая команда монтирует систему в режим чтения/записи5-ая команда делает резервную копию файла6-ая команда перезаписывает существующий файл новым патченным.7-ая команда настраивает разрешения8-ая команда удаляет кэш9-ая команда делает перезагрузку устройства.

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

adb shell
su
mount -o remount -rw /system
dd if=/system/framework/HTCExtension.jar.back  of=/system/framework/HTCExtension.jar
rm /data/dalvik-cache/system@[email protected]@classes.dex
reboot

Небольшой курс по прошивке смартфонов

Приветствую! И так, по какой-то причине вы решили прошить свой или чей-то телефон и читаете мой пост. Я долго собирал материал, что бы сделать этот пост более наглядным. На мой взгляд самая понятная инструкция – это видеоурок. Существует огромное количество устройств, которым по тем или иным причинам необходимо “вправить мозги”.
Для восстановления программного обеспечения любого устройства нам надо:
1) пк с операционной системой, которая соответствует программе прошивальщику и прошивочным драйверам.
2) программа прошивальщик (далее флешер)
3) драйверы для режима прошивки
4) файл(ы) прошивки
5) соответствующий кабель
6) комбинация клавиш вводящих телефон в режим прошивки.
Так как нереально описать процесс прошивки всех устройств, я расскажу как прошить самые распространенные на сегодняшний день устройства на базе процессоров qualcomm, exynos, mediatek, speadtrum, apple, kirin.
Пара банальнейших советов, облегчающих жизнь мастерам до прошивки:
1) всегда прошивайте телефон или с ноутбука или с компьютера подключенному к ИБП.
2) Перед прошивкой проверьте разъём в телефоне, при необходимости разъём надо очистить от грязи, коррозии и тд.
2.1 Если на разъёме видны следы коррозии, то сначала необходимо вскрыть устройство, и проверить нет ли следов жидкости на плате.
3) не используйте для прошивки usb разветвители, хабы, порты на корпусе системника. Вставляйте кабель в usb порт напрямую впаянный в материнскую плату .
4) желательно чтобы акб устройства был заряжен минимум на 50%.

Приступим к прошивке. Самые простые на мой взгляд в плане прошивки устройства – это устройства фирмы Apple. Скачиваем и устанавливаем программу iTunes, эта программа при установке сама установит все необходимые драйверы, сама точно определит какое устройство подключено, сама скачает прошивку. Есть 3 режима из которых можно прошить яблочное устройство:
А) normal. Это обычный режим, когда iphone/ipad/ipod загружается до рабочего стола, вы можете разблокировать устройство и вам просто надо обновить устройство, с сохранением данных пользователя. Просто подключаете разблокированное устройство к пк, на экране устройства нажимаете “доверять этому пк”, если айтюнс сообщит что есть новая прошивка, то нажимаете “обновить”, со всем соглашаетесь и через 15-30 минут (в зависимости от размера прошивки и скорости вашего интернета) вы получите самую новую версию программного обеспечения для вашего устройства на сегодняшний день.
Б) recovery. Если ваше яблочное устройство заглючило, не загружается, висит на заставке и дальше яблока не загружается, или циклически перезагружается, или надо просто стереть все данные вместе с экранным паролем, или на экране устройства вот такая картинка, то действуем следующим образом: подключаем к пк устройство, зажимаем клавишу home(или клавишу уменьшения громкости начиная с айфон7) и нажимает кнопку включения секунды на 3-5, держим обе кнопки пока устройство не перезагрузится и сразу отпускаем кнопку включения, продолжаем держать home. Как только увидим на экране яблочного устройства значок “подключитесь к айтюнс” можно отпускать кнопку home. Программа айтюнс на пк должна найти устройство в режиме восстановления и предложить вам либо ВОССТАНОВИТЬ УСТРОЙСТВО (сотрёт все данные и пароли, прошьёт самую свежую прошивку), либо ОБНОВИТЬ (просто прошьёт самую свежую прошивку, данные не будут затронуты). Если же вы зажмёте на клавиатуре пк клавишу shift и одновременно кликните ВОССТАНОВИТЬ, то айтюнс предложит выбрать вам локальный файл прошивки, заранее вами скаченный.

В) DFU: почти тот же режим рекавери, с той лишь разницей что в dfu попадает яблоко с более серьёзными проблемами. При dfu режиме яблоко не подаёт ни каких признаков работоспособности, кроме как то, что пк находит устройство apple dfu device. Искусственно загнать яблоко в dfu режим можно комбинацией клавиш включения и хом, подключаем яблоко к пк, удерживаем эти клавиши пока аппарат не выключится, после того как аппарат выключится, продолжаем удерживать кнопку включение и хом ещё 10 секунд, потом отпускаем кнопку включения, хом продолжаем удерживать. А дальше восстанавливаем через айтюнс.
Начиная с iPhone7 apple заменили механическую кнопку домой на сенсорную, а в моделях iphone x и последующих этой кнопки совсем убрали. Чтобы ввести новые модели iPhone’ов в режим прошивки без нажатия клавиш есть специальные кабели и переходники.

Samsung. Все андроид-смартфоны и планшеты фирмы Samsung шьются программой Odin не зависимо от того на базе какого процессора устройство (у самсунга есть модели на процах exynos, mediatek, qualcomm и даже на spreadtrum)
До 2021 года все модели смартфонов и планшетов samsung вводились в режим прошивки сочетанием клавиш уменьшение громкости хом включение. Если на планшете нет кнопки хом, то только уменьшение громкости и включение.
Начиная примерно с 2021 года устройства самсунг вводятся в режим прошивки следующим способом: на выключенном устройстве зажимаете обе клавиши регулировки громкости и подключаете кабелем к пк. Что надо учитывать при прошивки самсунгов?
Текущая версия прошивки: не рекомендуется понижать прошивку, начиная с моделей 2021 года понизить версию прошивки нельзя. В более ранних моделях иногда стирался imei номер при понижении прошивки или записи прошивки предназначенной для другой страны (региона)
Как узнать версию прошивки на телефоне самсунг, который включается? В звонилке набираем код *#1234# вы увидите 3 строки: версия основной  операционной системы, прошивки модема, и версия настроек под конкретный регион.

Если же смартфон не загружается, то версию прошивки можно посмотреть зайдя в recovery (звук домой и включение)

Версия прошивки подчеркнута красной линией, версия загрузчика 5й символ, если считать справа налево. Так вот если вы вдруг решите прошить в самсунг прошивку с более низкой версией загрузчика, у вас ничего не получится.
Есть программа для скачивания прошивок Samsung, называется SamFirm, существует много разновидностей этой софтины, ибо разработчики постоянно меняются. Если вдруг вы решите воспользоваться этой программой, то я для вас подготовил расшифровку регионов.
Russia — SER
Afghanistan — AFG
Algeria — TMC
Argentina — ARO
Argentina — CTP
Argentina (Claro) — CTI
Argentina (Moviestar) — UFN
Argentina (Personal) — PSN
Australia — XSA
Australia (Optus) — OPS
Austria (3 Hutchison) — DRE
Austria (A1) — MOB
Austria (Orange) — ONE
Austria (T-Mobile) — MAX
Austria (Telering) — TRG
Baltic — SEB
Bangladesh — TML
Belgium / Luxemburg — PRO
Bosnia and Herzegovina — ERO
Bosnia and Herzegovina (BH TELECOM) — BHT
Brazil — ZTO
Brazil (Claro) — ZTA
Brazil (TIM) — ZTM
Brazil (VIVO) — ZVV
Bulgaria — GBL
Bulgaria (MTL) — MTL
Bulgaria (VVT) — VVT
Chile — CHO
Chile (Claro) — CHL
Chile (Entel PCS) — CHE
Chile (Telefonica) — CHT
China — CHU
Colombia — COL
Colombia (Comcel) — COM
Colombia (Moviestar) — COB
Costa Rica — ICE
Croatia — TRA
Croatia (T-Mobile) — CRO
Croatia (VIPNET) — VIP
Cyprus — CYV
Cyprus (Cytamobile Vodafone) — CYO
Czech Republic — XEZ
Czech Republic (O2C) — O2C
Czech Republic (T-Mobile) — TMZ
Czech Republic (Vodafone) — VDC
Denmark (3) — HTD
Dominica — DOR
Dominican Republic — CDR
Ecuador — ECO
Ecuador — EBE
Egypt — EGY
France — XEF
France (Bouygues) — BOG
France (Orange) — FTM
France (SFR) — SFR
Germany — MBC
Germany — DBT
Germany (E-Plus) — EPL
Germany (O2) — VIA
Germany (T-Mobile) — DTM
Germany (Vodafone) — VD2
Greece — EUR
Greece (Cosmote) — COS
Greece (Vodafone) — VGR
Guatemala — TGU
Guatemala — PGU
Guatemala (Tigo) — CGU
Hong Kong — TGY
Hungary — XEH
Hungary (T-mobile) — TMH
Hungary (Telenor) — PAN
Hungary (VDH) — VDH
India — INU
India — INS
Indonesia — XSE
Iran — THR
Iraq — MID
Ireland (Meteor) — MET
Ireland (O2) — O2I
Ireland (Three) — 3IE
Ireland (Vodafone) — VDI
Israel — ILO
Israel (Cellcom) — CEL
Israel (Mirs) — MIR
Israel (Orange/Partner) — PTR
Israel (Pelephone) — PCL
Italy — ITV
Italy (H3G) — HUI
Italy (Vodafone) — OMN
Italy (Wind) — WIN
Jamaica — JDI
Kazakhstan — SKZ
Kazakhstan (Kcell) — KCL
Kenya — AFR
Kenya — KEN
Libya — BTC
Luxembourg — LUX
Macedonia — VIM
Macedonia — MBM
Malaysia — XME
Mexico — IUS
Mexico (Movistar) — TMM
Mexico (Telcel) — TCE
Morocco — FWD
Morocco (MAT) — MAT
Morocco (MED) — MED
Morocco (MWD) — MWD
Nepal — NPL
Netherlands — PHN
Netherlands (T-Mobile) — TNL
Netherlands (Vodafone) — VDF
New Zealand (Vodafone) — VNZ
New Zeeland — NZC
Nigeria — ECT
Nordic countries — NEE
Norway (Telenor) — TEN
Open Austria — ATO
Open Europe — OXA
Pakistan (PAK) — PAK
Panama — TPA
Panama — PBS
Panama (Cable & Wireless) — PCW
Panama (Claro) — CPA
Peru — PET
Peru (SAM) — SAM
Philippines — XTE
Philippines (Globe) — GLB
Philippines (Smart) — SMA
Philippines (Sun) — XTC
Poland — XEO
Poland (Orange) — IDE
Poland (PLUS) — PLS
Poland (Play) — PRT
Poland (T-mobile) — TPL
Portugal (Optimus) — OPT
Portugal (TMN) — TMN
Portugal (TPH) — TPH
Portugal (Vodafone) — TCL
Puerto Rico — PCT
Romania (Cosmote) — COA
Romania (Orange) — ORO
Romania (Vodafone) — CNX
Saudi Arabia — KSA
Saudi Arabia (JED) — JED
Serbia — TSR
Serbia (Telenor) — MSR
Serbia (Vip SRB) — TOP
Singapore — XSP
Singapore — MM1
Singapore (SingTel) — SIN
Singapore (StarHub) — STH
Slovakia — ORS
Slovenia (Mobitel) — MOT
Slovenia (Si.mobil) — SIM
South Africa — XFE
South Africa — XFA
South Africa (Vodafone) — XFV
Spain — PHE
Spain (Moviestar) — XEC
Spain (Orange) — AMN
Spain (Vodafone) — ATL
Spain (Yoigo) — YOG
Sri Lanka — SLK
Sweden — VDS
Sweden (Tre) — HTS
Switzerland — AUT
Switzerland (Swisscom) — SWC
Taiwan — BRI
Taiwan (WAN) — WAN
Thailand — THL
Trinidad and Tobago — TTT
Tunisia — ABS
Tunisia — TUN
Turkey — TUR
Ukraine (Kyivstar) — SEK
United Arab Emirates — XSG
United Kingdom — BTU
United Kingdom (H3G) — H3G
United Kingdom (O2) — O2U
United Kingdom (Orange) — ORA
United Kingdom (T-Mobile) — TMU
United Kingdom (Vodafone) — VOD
Uruguay — UFU
Uruguay — UPO
Uruguay (Claro) — CTU
Vietnam — XXV
Vietnam — XEV
Ну и для наглядности ролик по прошивке Samsung SM-G531

Qualcomm. Чипы этой фирмы есть в каждом 2м смартфоне на планете. Программа, которая прошивает устройства на базе процессоров qualcomm называется QFIL (qualcomm flash image loader) и входит в пакет программ QPST. Для прошивки используется режим EDL (emergency download – экстренная прошивка), устройство в этом режиме определяется компьютером как HS-Diagnostic interface 9008. Для установки этих драйверов необходимо отключать проверку цифровой подписи на 64 битных ОС. Принудительно ввести устройство в режим edl можно либо комбинацией клавиш (у каждого производителя и модели эта комбинация своя, необходимо гуглить), а некоторые модели только с помощью тестпоинтов или сервисного кабеля.

Testpoint – это такие контакты на материнской плате смартфона, при замыкании которых устройство входит в специальный режим прошивки.

Следующий очень распространенный тип мобильных процессоров – это mediatek или mtk. Их устанавливают либо в самые дешёвые телефоны или в телефоны среднего ценового сегмента различных брендов. Флагманов на мтк процессорах я за 10 лет работы не встречал. Фирменная утилита для прошивки называется SP FlashTool. Для смартфонов на ос андроид версии 4 и ниже используют версии SP FlashTool 3xx, для смартфонов с ос андроид 5 и выше используют версию программы SP FlashTool 5xx. Мтк устройства в режиме прошивки отображаются в диспетчере устройств как mediatek preloader usb vcom. Вводят в режим прошивки мтк устройства по разному. Чаще всего необходимо просто подключить к пк выключенное устройство. Иногда необходимо подключать с зажатой клавишей прибавления громкости. Все индивидуально, читайте инструкции на форумах, где скачиваете прошивку. Коды ошибок sp flashtool
SP FlashTool очень хороший инструмент, с помощью которого можно не только записывать прошивку, но считывать и стирать разные области памяти. К примеру делать бекап imei номера или стирать блокировку frp.

Spreadtrum – это процы для самых дешёвых планшетов и смартфонов. Тупее и глючнее устройств просто не найти(вру, есть ещё allwinner и rockchip, но в последние 3 года мне не принесли ни одного устройства на таком проце). Официальная программа для прошивки – upgradedownload или spdflashtool. Прошивка обычно в формате *.pac. Устройство на базе спридтрам в режиме прошивки обычно отображается в диспетчере устройств как sprd u2s diag. Загнать устройство на проце спридтрам в режим прошивки можно зажав обе клавиши громкости на выключенном устройстве и подключить к пк. Встречаются и другие комбинации, читайте инструкцию к своей модели, ибо универсальной инструкции не существует.

Sony. Официальной утилиты (такой как odin для самсунгов) для прошивки смартфонов сони в сети нет. Но есть отличный инструмент от разработчика Androxyde. Называет FlashTool. После установки flashtool необходимо установить прошивочные драйверы в режиме совместимости с windows vista sp2 от имени администратора.
Файл прошивки нужно закинуть в папку
C:users%имя пользователя%.flashtoolfirmware
Небольшое уточнение, прога флештул не понимает русский язык, и лучше написать имя пользователя компьютером на английском языке. Иначе флештул каждый раз создаёт новую папку в директории с пользователями.
Вводятся в режим прошивки смартфоны сони так: на выключенном телефоне зажимаем кнопку уменьшения громкости и подключаем к пк.
Смарты выпущенные до 2021 года вводятся так: на выключенном смарте нажимаем клавишу “назад” и подключаем к пк.

Huawei/Honor Этот бренд выпускает устойства в основном на базе своего фирменного процессора hisilicon kirin. Но есть и бюджетки на процах медиатек, а так же есть модели с процами qualcomm. Модели с мтк можно шить с помощью sp flashtool, но это прошивки слитые пользователями со своих смартфонов и не всегда можно найти нужную вам прошивку. То же самое и со смартами на qualcomm процах. Есть прошивки под qfil, но это тоже дампы пользователей. Официальной программы для прошивки смартов с процами kirin в сети нет. Что же делать если ваш хуавей или хонор не загружается, а сброс настроек не помогает?
1) eRecovery: на выключенном смартфоне/планшете зажимаем клавишу увеличения громкости и подключаем зарядное устройство, держим кнопку пока не попадём в заветное меню. Подключаемся к wi-fi, и нажимаем на экране кнопку Download and install latest firmware. Обратите внимание на версию прошивки и регион (смарты для РФ продают с региональной прошивкой под кодом C10, для евросоюза C432..)

2) метод трёх кнопок: скачиваем прошивку под свою модель и регион

распаковываем ее и копируем в папку dload на микро сд карточку. Смартфон должен быть заряжен минимум на 60%. Вставляем микро сд карточку в смартфон, зажимаем на смартфоне клавишу прибавления звука клавишу уменьшения звука клавишу включения, держим пока все три клавиши пока не начнётся процесс прошивки.

Meizu.С мейзу та же история что и с хуавей. Нет официального флешера в общем доступе. Есть модели на мтк и пользовательские прошивки под sp flashtool. Есть несколько моделей с процами qualcomm, а в последнее время в мейзу ставят процы exynos от самсунг. Как же прошить мейзу? У мейзу прошивки так же разделяются по регионам. И так же как с хуавей, нельзя в аппарат для Китая прошить глобальную прошивку без танцев с бубном. Прошивки обычно представляют собой zip архив. И так, на выключенном смартфоне зажимаем клавишу увеличения громкости и клавишу включения, подсоединяем смартфон к пк, комп определяет телефон как съёмный носитель, копируем на этот съёмный носитель файл прошивки под вашу модель и регион (названием файла прошивки должно быть update.zip). Затем на телефоне нажимаем на значок update firmware. Если поставить галочку на пункте erase user data, то все пользовательские данные будут стёрты. Если на телефоне был пароль для разблокировки, то его придётся ввести. Иначе никак.

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

Прошивка через MiFlash в режиме EDL
В следующем видео инструкция по прошивке смартфона с разблокированным загрузчиком.

В конце хочу дать пару советов как хранить прошивки, если вы собираетесь заниматься этим постоянно.
1) создайте каталог “прошивки” на разделе жёсткого диска, но не на разделе с Windows. В этой папке сделайте подкаталоги с названиями брендов, и внутри папки одного из брендов разместите папки с моделями этого бренда.
2) как только прошили новое устройство, перенесите архив с прошивкой в папку для этой модели. Сохраните ту версию флешера и драйвера в эту же папку. А так же создайте текстовый документ с описанием процесса прошивки, какие клавиши зажимали, какие галочки выставляли во флешере. Зачем, спросите вы? Ведь все есть в интернете! Сегодня есть, а завтра человек который выложил нужную вам прошивку на файлообменник удалит этот файл, ибо ему нужно свободное место в его аккаунте для других целей. Не всегда быстрый инет есть в организации где вы работаете, а прошивки сейчас весят 3гб и больше. Долго скачивать, а потом ещё искать инструкцию, если большая проходимость, то каждая минута на вес золота.
3) не удаляйте старые версии прошивок (частенько новые прошивки глючнее старых, или в старой прошивке есть уязвимость для обхода блокировки фрп, а в новой её прикрыли). Единственный бренд чьи старые версии прошивок вам не пригодятся – это Apple. Этих не обманешь, айтюнс не даст вам прошить старую прошивку. Другие бренды потихоньку тоже внедряют технологию антиотката, но пока лазейки ещё есть.
4) следите за состоянием жесткого диска, делайте бекапы в облако, настройте антивирус. Те программы на которые ругается антивирус, но вы уверены в их безопасности добавьте в “белый список антивируса” или храните в запароленном архиве.

Спасибо что дочитали!
Если возникли вопросы: ВК

Подробнее о версиях прошивок:

Итак, давайте взглянем на нумерацию прошивок смартфонов Huawei. Для примере возьмём прошивку от Huawei Ascend Mate — MT1-U06 V100R001C00B907.

Как вы, наверное, догадались, MT1-U06 это наименование устройства. MT1 это основная база, то есть Huawei Mate, U06 — ревизия устройства. Устройства бывают разных ревизий, в этом посте я не буду вдаваться в подробности их обозначения, скажу только, что буква U — UMTS (обычный 3G), а буква C — CDMA версии. В Россию поставляются устройства с ревизией MT1-U06.

CxxBxxxSPxx — Это самая главная опция в прошивке, она показывает на какой версии «базы» собрана прошивка Bxxx — численный класс базы для прошивки SPxx- номер Service Pack. Чем выше Bxxx и SPxx, тем новее прошивка. (Bxxx более приоритетная по сравнению с SPxx). Cxx — это регион страны.

Дальше рассмотрим саму версию прошивки — V100R001C00B907. V100 и R001 — основные версия и ревизия прошивок. Меняются они в очень редких случаях, когда происходит большое изменение по сравнению с предыдущей версией прошивки (например, переход от Android 2.x до 4.x). Даже в рамках версий Android 4.x эти значения обычно не меняются.

C00B907 — для большинства новых устройств значение C00 уже не изменяется, а вообще оно означает привязку к региону. Сейчас регион можно определить в пункте меню «Специальная версия» — CUSTC10B907.

Так, для смартфонов регион Россия (channel/ru) это CUSTC10. Привязка к региону легко меняется специальным файлом-прошивкой, в некоторых официальных прошивках есть файл update.app в папке cust весом в несколько мегабайт или килобайт, который меняет регион на Россию.

B907 — сама версия прошивки. Думаю, не надо объяснять, что чем она выше, тем новее прошивка.

Разблокировка загрузчика

Что за загрузчик и зачем его разблокировать? Загрузчик или Bootloader простыми словами – относительно небольшой кусочек программного кода, который занимается запуском установленной системы. Сам по себе он — незаменимая часть устройства, но в его функции также входит реализация технологии Verified Boot.

Эта технология призвана ограничить установку ОС до авторизованных производителем (путем проверки подписи файла). С одной стороны, это защитит ваши данные от злоумышленника (он не сможет установить другую прошивку без форматирования вашего устройства), с другой – многие популярные прошивки обеспечивают надежное шифрование раздела Data. Наша цель — отключить механизм Verified Boot для того, чтобы мы могли установить стороннюю систему.

Скажу сразу – универсальной инструкции для всех телефонов нет и быть не может. Более того – некоторые устройства вообще не имеют способа разблокировки загрузчика, а некоторые не блокируются производителем изначально. Проверить факт блокировки загрузчика можно с помощью adb в режиме fastboot – fastboot oem device-info (что это и как пользоваться этим инструментом разберу в пункте про установку).

Итак, если по результатам проверки вы обнаружили, что загрузчик заблокирован, то помочь вам с поиском способа разблокировки поможет только Технотроица – Отец (Сайт производителя), Сын (4pda) и Святой дух (Google).

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

Распаковка qsb и inb-прошивок

Распаковка QSB и INB-прошивокПрошивки с расширением .qsb и .inb являются прерогативой устройств компании Lenovo. Их распаковка не занимает большого количества времени и проводится посредством всего одной утилиты LenovoWinTools.

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

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

Распаковка и анализ оригинального файла

1

. Сперва нам надо взять оригинальный DEODEX JAR файл, который отвечает за нужную нам часть кода. В нашем случае

HTCExtension.jar2

. Открыть любым архиватором и вытащить от туда classes.dex

3

. С помощью конвертера dex2jar преобразовать его в JAR файл. Команда:

dex2jar.bat classes.dex4

. Открыть полученный classes_dex2jar.jar файл в JD-GUI.

5

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

    public static boolean isChina()
    {
      if ((HtcBuildFlag.Htc_PROJECT_flag == 216) || (HtcBuildFlag.Htc_PROJECT_flag == 218) || (HtcBuildFlag.Htc_PROJECT_flag == 23));
      while (((HtcBuildFlag.Htc_PROJECT_flag == 1) && (2 == HtcBuildFlag.Htc_LANGUAGE_flag)) || (HtcBuildFlag.Htc_PROJECT_flag == 27))
        return true;
      return false;
    }

6

. Чтобы сделать патч, нам надо дизассемблировать сам Dalvik код. Для этого используем baksmali. Удобнее всего создать отдельную папку и положить туда три файла вместе:

HTCExtension.jarsmali.jarbaksmali.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 и смотрим код:

.method public static isChina()Z
    .registers 3

    .prologue
    const/4 v0, 0x1

    .line 276
    sget-short v1, Lcom/htc/htcjavaflag/HtcBuildFlag;->Htc_PROJECT_flag:S

    const/16 v2, 0xd8

    if-eq v1, v2, :cond_13

    sget-short v1, Lcom/htc/htcjavaflag/HtcBuildFlag;->Htc_PROJECT_flag:S

    const/16 v2, 0xda

    if-eq v1, v2, :cond_13

    sget-short v1, Lcom/htc/htcjavaflag/HtcBuildFlag;->Htc_PROJECT_flag:S

    const/16 v2, 0x17

    if-ne v1, v2, :cond_14

    .line 297
    :cond_13
    :goto_13
    return v0

    .line 283
    :cond_14
    sget-short v1, Lcom/htc/htcjavaflag/HtcBuildFlag;->Htc_PROJECT_flag:S

    if-ne v1, v0, :cond_1d

    .line 285
    const/4 v1, 0x2

    sget-short v2, Lcom/htc/htcjavaflag/HtcBuildFlag;->Htc_LANGUAGE_flag:S

    if-eq v1, v2, :cond_13

    .line 291
    :cond_1d
    sget-short v1, Lcom/htc/htcjavaflag/HtcBuildFlag;->Htc_PROJECT_flag:S

    const/16 v2, 0x1b

    if-eq v1, v2, :cond_13

    .line 297
    const/4 v0, 0x0

    goto :goto_13
.end method

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

    .prologue
    const/4 v0, 0x1

происходит присваивание переменной v0 значение 1, то есть TRUE. Далее идут всякие проверки, и если телефон не китайский, то значение переменной изменяется:

    .line 297
    const/4 v0, 0x0

    goto :goto_13 

10. Самый простой способ спасти отца русской демократии, это изменить код на следующий:

    .prologue
    const/4 v0, 0x0

, то есть поменять значение переменной с 1 на 0. То есть что бы ни было, всегда бы возвращалось значение FALSE и в JD-GUI код выглядел бы как

    public static boolean isChina()
    {
      if ((HtcBuildFlag.Htc_PROJECT_flag == 216) || (HtcBuildFlag.Htc_PROJECT_flag == 218) || (HtcBuildFlag.Htc_PROJECT_flag == 23));
      while (((HtcBuildFlag.Htc_PROJECT_flag == 1) && (2 == HtcBuildFlag.Htc_LANGUAGE_flag)) || (HtcBuildFlag.Htc_PROJECT_flag == 27))
        return false;
      return false;
    }

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

    public static boolean isChina()
    {
      return false;
    }

12. А как нам получить Dalvik код данного исходного кода? Для новичков мы сделаем небольшой трюк.

Создание dalvik кода

1. Открываем Android SDK.
2. Создаем новый проект, и в наш единственный тестовый класс пишем следующий код

package ru.habrahabr.test;

public class test
{
	public static boolean isChina()
	{
		return false;
	}
}

3. Компилируем наш проект и затем берем собранное приложение из рабочей области.
4. Кладем собранное приложение в папку, где мы с вами потрошили JAR файл.
5. Даем команду

java -Xmx512m -jar baksmali.jar -a  -d  -o test -x test .apk
6. Мы дизассемблировали только что собранное приложение в Dalvik код.
7. Открываем наш файлик test.smali и видим там код
.method public static isChina()Z .registers 1 .prologue .line 7 const/4 v0, 0x0 return v0 .end method

8. Все, код для патчинга готов.

Накатывание патча

1. Dalvik код замусорен маркерами, указывающими строку кода в оригинальном исходном файле. Это нужно при выводе ошибок, если таковые имеются в вашей программе. Без указаний строк код также прекрасно работает.
2. Удаляем строки с нумерацией строк, копируем и заменяем метод (подпрограмму) в нашем comhtcutilcontactsBuildUtils$Customization.java файле.

.method public static isChina()Z
    .registers 1

    .prologue
    const/4 v0, 0x0

    return v0
.end method

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 доступ:

adb push HTCExtension.jar /sdcard/HTCExtension.jar
adb shell
su
mount -o remount -rw /system
dd if=/system/framework/HTCExtension.jar of=/system/framework/HTCExtension.jar.back
dd if=/sdcard/HTCExtension.jar of=/system/framework/HTCExtension.jar
chmod 644 /system/framework/HTCExtension.jar
rm /data/dalvik-cache/system@[email protected]@classes.dex
reboot

1-ая команда закидывает патченный файл на флешку
2-ая команда открывает shell
3-ая команда дает root доступ
4-ая команда монтирует систему в режим чтения/записи
5-ая команда делает резервную копию файла
6-ая команда перезаписывает существующий файл новым патченным.
7-ая команда настраивает разрешения
8-ая команда удаляет кэш
9-ая команда делает перезагрузку устройства.

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

adb shell
su
mount -o remount -rw /system
dd if=/system/framework/HTCExtension.jar.back  of=/system/framework/HTCExtension.jar
rm /data/dalvik-cache/system@[email protected]@classes.dex
reboot

Эпилог

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

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

P.S. Если что-то не понятно или смущает, задавайте вопросы - всегда буду рад ответить и пояснить.

Ручное скачивание прошивки

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

  1. Подсоедините устройство, запустите iTunes.
  2. Перейдите на страницу устройства. Зажмите клавишу Shift и нажмите «Восстановить».

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

Всем привет, уважаемые пользователи замечательных устройств от компании Apple: мобильного смартфона iPhone или планшетного компьютера iPad. В сегодняшней статье я расскажу вам где хранятся прошивки для вашего мобильного гаджета, которые автоматически, при обновлении скачивает программа iTunes на ваш компьютер.

Как я уже сказал выше при обновлении прошивки (операционной системы) вашего гаджета: мобильного смартфона iPhone и планшетного компьютера iPad, программа iTunes загружает на ваш персональный компьютер свежую прошивку операционной системы iOS
. Операционная система iOS имеет размер более одного гигабайта.

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

Создание dalvik кода

1
. Открываем Android SDK.
2
. Создаем новый проект, и в наш единственный тестовый класс пишем следующий код

package ru.habrahabr.test;

public class test
{
	public static boolean isChina()
	{
		return false;
	}
}

3
. Компилируем наш проект и затем берем собранное приложение из рабочей области.
4
. Кладем собранное приложение в папку, где мы с вами потрошили JAR файл.
5
. Даем команду

java -Xmx512m -jar baksmali.jar -a  -d  -o test -x test .apk
6. Мы дизассемблировали только что собранное приложение в Dalvik код.
7. Открываем наш файлик test.smali и видим там код
.method public static isChina()Z .registers 1 .prologue .line 7 const/4 v0, 0x0 return v0 .end method

8. Все, код для патчинга готов.

Накатывание патча

1. Dalvik код замусорен маркерами, указывающими строку кода в оригинальном исходном файле. Это нужно при выводе ошибок, если таковые имеются в вашей программе. Без указаний строк код также прекрасно работает.
2. Удаляем строки с нумерацией строк, копируем и заменяем метод (подпрограмму) в нашем comhtcutilcontactsBuildUtils$Customization.java файле.

.method public static isChina()Z
    .registers 1

    .prologue
    const/4 v0, 0x0

    return v0
.end method

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 доступ:

adb push HTCExtension.jar /sdcard/HTCExtension.jar
adb shell
su
mount -o remount -rw /system
dd if=/system/framework/HTCExtension.jar of=/system/framework/HTCExtension.jar.back
dd if=/sdcard/HTCExtension.jar of=/system/framework/HTCExtension.jar
chmod 644 /system/framework/HTCExtension.jar
rm /data/dalvik-cache/system@[email protected]@classes.dex
reboot

1-ая команда закидывает патченный файл на флешку
2-ая команда открывает shell
3-ая команда дает root доступ
4-ая команда монтирует систему в режим чтения/записи
5-ая команда делает резервную копию файла
6-ая команда перезаписывает существующий файл новым патченным.
7-ая команда настраивает разрешения
8-ая команда удаляет кэш
9-ая команда делает перезагрузку устройства.

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

adb shell
su
mount -o remount -rw /system
dd if=/system/framework/HTCExtension.jar.back  of=/system/framework/HTCExtension.jar
rm /data/dalvik-cache/system@[email protected]@classes.dex
reboot

Эпилог

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

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

P.S. Если что-то не понятно или смущает, задавайте вопросы - всегда буду рад ответить и пояснить.

Создание патчей

Как я уже и рассказывал, мой телефон изначально имел запрет на использование 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

Установка стороннего recovery

Что такое Recovery и почему мы начинаем процесс прошивки именно с него? Раздел Recovery – аналог BIOS на компьютере, также именуется как «Режим восстановления». Этакая “подсистема”, которая призвана помочь в восстановлении работоспособности устройства.

Немного о том, какие бывают Recovery
Немного об ADB

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

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

Чтобы прошить новый раздел recovery, необходимо перевести телефон в особый режим загрузчика – fastboot. На большинстве устройств это делается с помощью зажатия кнопок Power и Vol- при включении телефона. Успешным входом в этот режим будет считаться черный экран смартфона с белой строкой “fastboot mode”. После этого необходимо подключить устройство к компьютеру при помощи USB-кабеля.

Для  прошивки раздела recovery нам понадобится единственная ADB-команда. Для исполнения этих самых команд, воспользуемся консолью Windows. (я полагаю, вы справились с установкой ADB). Общий формат команды прошивки файла в раздел устройства выглядит следующим образом:

fastboot flash partition PathToFile

Где

fastboot — путь к файлу fastboot.exe, поставляется вместе с ADB;

partition — доступный для прошивки раздел Android. Мы шьем recovery;

PathToFile — путь к .img-образу recovery, который вы скачали;

В моем случае, команда выглядела примерно так:

C:adbfastboot flash recovery C:recovery.img

Некоторые recovery поставляются с автоматическими установщиками и ADB — вам нужно лишь запустить bat-файл.

После того, как в консоли появилось сообщение об успешном окончании процесса прошивки recovery (2-3 секунды), можно пробовать запустить только что установленный режим Recovery – при включении телефона зажать Power и Vol до момента появления на экране лого производителя, после чего можно отпустить кнопку Power до появления логотипа выбранного вами recovery.

Оцените статью
Huawei Devices
Добавить комментарий