habrahabr

Как я купил нерабочую подделку iPhone 14 Pro Max за «косарь» и портировал на неё чистый Android

  • вторник, 3 декабря 2024 г. в 00:00:14
https://habr.com/ru/companies/timeweb/articles/861324/

Осторожно: в отличие от других обзорных статей о китайских подделках брендовых смартфонов, в этой мы ещё и узнаем, что у устройства ‭«под капотом‭», проведем диагностику, отремонтируем и доведём его до ума путём портирования чистого дистрибутива Android. В материале всё описано максимально простым и понятным языком, даже если вы не фанат такого своеобразного класса устройств, как подделки на брендовые девайсы. Будет интересно!

❯ Зачем вообще покупать китайский айфон?

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

Да, глаза вас не обманывают, это уникальный айфон... с QWERTY-клавиатурой! Причём чехол можно отстегнуть и получить обычный тачфон. Стрелки клавиатуры работают и в Java-играх!
Да, глаза вас не обманывают, это уникальный айфон... с QWERTY-клавиатурой! Причём чехол можно отстегнуть и получить обычный тачфон. Стрелки клавиатуры работают и в Java-играх!

Сейчас на маркетплейсах представлено множество подделок самых разных смартфонов, начиная от вышеупомянутых айфонов и Galaxy S, заканчивая дорогими подделками Galaxy A серии, Xiaomi и даже POCO (продаваемые как «PQCQ», об этом у меня есть отдельная статья), которые иногда впаривают почти по цене оригинала. Несмотря на обилие дизайнов, роднит их одно — общая аппаратная платформа, а вернее набор из двух платформ, которые используется почти в неизменном виде более пяти лет.

Характеристики подобных устройств обычно следующие:

  • Легендарный бюджетный 3G-чипсет MediaTek MT6580, вышедший в далеком 2015 году, предлагающий пользователю 4 ядра Cortex-A9, Mali-400 в качестве GPU и способный запустить Android вплоть до 8.1. Конфигурация памяти — 1/8, 1/16, иногда 2/16 или 2/32, дисплей TN (в устройствах попроще) или IPS (в копиях айфона) с разрешением от 800x480 до 900x1600. Встречается в устройствах примерно до 8 тысяч рублей и да, не удивляйтесь, всё ещё есть новые смартфоны с 1Гб ОЗУ!

  • LTE-чипсет MediaTek MT6753 (встречается в остальных устройствах), вышедший в том же 2015, предлагающий 8 ядер Cortex-A53, Mali T720 в качестве GPU и в общем-то, являющийся в некоторой степени братом относительно свежего и не совсем уж слабого Helio A25. Конфигурация памяти — 2/16, 2/32, 3/32. Больший объём оперативной памяти чипсет не поддерживает, но это уже вполне неплохой и юзабельный объём даже в 2024. В качестве дисплеев видел только IPS-матрицы с разрешением HD+ (900x1600), что в общем-то неплохо. Но 10+ тысяч рублей за смартфон на 6753 — это очень дорого, ведь за эти деньги можно взять аппарат на свежем процессоре от MediaTek или Unisoc.

Обычно на таких смартфонах пытаются коряво скопировать интерфейс оригинального смартфона (например,OneUI в китайских репликах Samsung не имеет ничего общего с оригинальным OneUI) и такая самопальная оболочка использует ресурсы смартфона... не очень оптимально. Учитывая то, что службы Google и часть приложений окончательно растолстели последние несколько лет, смартфон начинает ужасно тормозить почти сразу после покупки. Даже вход в Google-аккаунт и установка WhatsApp — большая ошибка... Но всё ли так плохо?

Кто-то покупает китайские реплики ради понтов, кто-то ради дизайна, ну а я ради возможности поколупаться и замоддить их под себя, доведя до юзабельного состояния вместо производителя! Ведь для других смартфонов с вышеупомянутыми чипсетами уже давно есть кастомные прошивки LineageOS, AOSP и т. д., а значит, их можно портировать на наше устройство и потенциально получить вполне юзабельный аппарат. А ещё я люблю дизайн iPhone, но не очень люблю iOS и поэтому возможность гонять с ‭«айфоном‭» на андроиде меня привлекала всегда. А уж с ‭«айфоном‭» на чистом андроиде без маскировки под iOS — так это вообще нонсенс ;)

Две няшки. Справа — копия Galaxy S4 Mini 2013 года на процессоре SC6820. Такие устройства я очень ценю, люблю и коллекционирую. Жаль что многие уже сдали в цветмет :(
Две няшки. Справа копия Galaxy S4 Mini 2013 года на процессоре SC6820. Такие устройства я очень ценю, люблю и коллекционирую. Жаль что многие уже сдали в цветмет :(

Недавно я шерстил барахолки и наткнулся на подделку iPhone 14 Pro Max за 1 500 рублей с симптомами ‭«поставила на ночь на зарядку, перестал включатся‭». Мы с читателями быстренько собрали необходимую сумму, за что вам огромное спасибо, и я заказал смартфон в предвкушении, что же в нём окажется нерабочим...

Luxury Apple iPhone 14 Pro Max
Luxury Apple iPhone 14 Pro Max

‭❯ Ремонтируем

После получения устройства, я сразу же отклеил заднюю крышку и обнаружил следы того, что сюда кто-то лазил (и вероятно треснул заднюю крышку при расклеивании), потерял половину винтов, поплавил пластик корпуса снизу и сорвал кое-где резьбу. При подключении кабеля, потребление смартфона было по нулям. Обычно это симптом того, что 5В по каким-то причинам не приходят в КП.

Аккумулятор был севший в ноль — в такой ситуации, контроллер питания переходит в особый режим Precharge (без какого либо изображения на дисплее, на некоторых смартфонах есть индикация в виде светодиода) и начинает заряжать АКБ малым током, обычно на MTK это от 0.07А до ~0.15А-0.2А. Смартфоны на чипсетах MediaTek начинают подавать признаки жизни, когда на АКБ есть хотя бы 3.4В (появляется анимация зарядки), при этом полноценно включаются только при 3.5В. Когда я растолкал аккумулятор от внешнего источника питания до вышеупомянутых 3.5В, я увидел заветное яблочко... и зависание устройства на заставке.

‭«Комбо!‭» — подумал я, возможно помимо проблем с чарджером здесь ещё и eMMC ушла в read-only. Осмотрев плату, я пришёл к выводу, что все китайские реплики iPhone за последние 4 года построены не просто на базе одной и той же аппаратной платформы, но и одной и той же платы в целом — отличаются лишь ревизии (у одной из ревизий иной процессор, у второй стоит eMMC в другом корпусе)!

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

У меня была нижняя плата от другого китайского 14 Pro Max с той же маркировкой, которая была идентична той, что стоит в этом ‭«айфоне‭» и после её замены девайс начал заряжаться. Я пока не диагностировал старую плату, но почти уверен что проблемы либо в китайском разъеме, либо выбило ключ/диод на входе зарядки.

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

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

❯ Портируем

Перед любыми действиями с родной прошивкой на неизвестном устройстве, обязательно сделайте полный дамп eMMC, дабы в случае чего восстановить систему до заводского состояния. В случае чипсетов MediaTek, сделать это проще простого. Сначала нам необходимо узнать что за процессор используется в нашем смартфоне (сделать это можно с помощью CPU-Z), затем скачиваем любой файл scatter (таблица разделов) для этого процессора (гуглим MT6580 scatter, MT6753 scatter, MT6592 scatter), открываем фирменный прошивальщик SP Flash Tool, выбираем scatter и переходим в вкладку Readback.

Далее добавляем два раздела для чтения: BOOT0 (первый аппаратный раздел eMMC, там лежит Preloader) и USER (второй аппаратный раздел eMMC, там лежит всё остальное — в том числе GPT, копия прелоадера и вся остальная система с пользовательскуими данными). Раздел BOOT0 можно оставить 4096000, в то время как из USER в идеале нужно читать всю флэшку. Её объём можно узнать перейдя в вкладку Test и нажав Start (обязательно сняв галки на тесте NAND/eMMC, вам нужен только режим тестирования DRAM) — в логах появится идентификация флэшки и её размер в байтах.

Однако есть небольшая хитрость — читать разделы cache и userdata необязательно, а они самые большие в дампе. Поэтому можно вычислить смещение окончания раздела перед userdata и читать только до него. Нажимаем Read Back, подключаем смартфон к ПК и видим что пошёл процесс вычитывания дампа.

Теперь у нас есть полный или частичный дамп eMMС. Его можно разобрать вручную, анализировав таблицу разделов GPT (находится почти в самом начале дампа), а можно с помощью специальной бесплатной сервисной программы WwR MTK (на 4pda необходима регистрация для скачивания файлов, иначе будет 404). Открываем наш дамп, выделяем разделы, жмём по ним правой кнопкой мыши и сохраняем разделы в отдельные файлы. Также из WwR MTK можно сгенерировать scatter, дабы нашу сдампленную прошивку потом можно было прошить как обычную в Flash Tool. Хорошим тоном считается публикация прошивок для неизвестных смартфонов на файлообменники и выкладывание ссылок на них на 4pda.

Далее необходимо установить так называемую ‭«кухню‭» для работы с образами (я использую MtkImgTools) и портировать кастомное recovery, через которое мы будем устанавливать новую прошивку. Процесс портирования на чипсетах MediaTek прост:

  1. Берём из родного дампа раздел recovery, копируем куда-нибудь и переименовываем в recovery_original.img.

  2. Берём TWRP от любого смартфона на таком же чипсете. В моём случае, я взял TWRP от смартфона Highscreen Power Rage с 4pda.

  3. Создаём в директории с MtkImgTools поддиректории Unpack/Image и Pack/Image и копируем туда скачанный recovery.img и наш recovery_original.img.

  4. Запускаем MtkImgTools, идём в Firmware -> Boot -> Unpack и распаковываем оба файла последовательно.

  5. В директории Unpack окажется две поддиректории: recovery и recovery_original. Основная суть ‭«портирования‭» в том, что нам необходимо просто перенести образ ядра Linux из нашего смартфона в то рекавери, которое мы портируем. Имейте ввиду что разделы boot и recovery взаимозаменяемы и структурно идентичные — оба содержат рамдиск, ядро и специальный заголовок. То есть при желании, вы можете прошить recovery вместо boot, а boot вместо recovery и загружать смартфон только по определенной комибнации клавиш, или, например, реализовать дуалбут.

  6. Копируем с заменой файл recovery_original/kernel/kernel (может также называться kernel/zImage) в recovery/kernel/.

  7. Собираем новый образ recovery используя Firmware -> Boot -> Pack image -> recovery. Обрза появится в директории Pack/Image.

  8. Прошиваем его с помощью SP Flash Tool в соответствующий раздел и пробуем загрузиться!

FAQ
  • Q: Рекавери не загружается. Смартфон просто уходит в ребут или сыпется артефактами.

  • A: Проверьте скопировали ли вы ядро?

  • Q: Я вижу лишь стандартное рекавери, а не TWRP.

  • A: Проверьте что прошиваете не стандартный образ recovery, а именно собранный в Pack/Image/.

  • Q: Рекавери не видит разделы.

  • A: Перенесите файл fstab из рутфс вашего образа recovery в донорский.

После портирования и прошивания кастомного рекавери, пробуем загрузится в него, нажав на выключеннном телефоне ‭«Громкость вверх + Включение‭» и выбрав Recovery. Видим такую картину:

Далее можно перейти к выбору ‭«донора‭» для портирования прошивки. Для популярных чипсетов есть даже отдельные темы на 4pda, в моём случае посвященная портированию прошивок на MT6580. Нам необходимо найти прошивку, предназначенную для той же версии ядра Linux, что и у нашего смартфона, при этом сама версия Android значения не имеет. Если для вашего чипсета и версии ядра есть, например, Android 8, а с завода стоит 7, то можно сделать и апгрейд! Узнать версию ядра можно в CPU-Z, либо написав в терминале cat /proc/version.

В моём смартфоне используется ядро версии 3.18.35, из предложенных на 4pda ‭«доноров‭» я выбрал прошивку от смартфона X-BO. Качаем zip-файл, распаковываем boot.img из архива в Unpack/Image/ и проделываем всё те же манипуляции, что и с рекавери за исключением прошивки раздела в SP Flash Tool. При этом ядро можно взять уже от распакованного родного рекавери — образы ядер идентичны.

boot.img портирован, его необходимо добавить обратно в архив, однако для полноценного запуска системы с сетью и звуком необходимо проделать ещё некоторые манипуляции:

  1. Берём раздел system.img из нашего дампа и копируем в Unpack/Image.

  2. Идём в System -> Unpack ext4 -> system.img и распаковываем образ системы.

  3. Копируем из распакованного образа в архив с прошивкой файлы модема (vendor/firmware/).

  4. Копируем библиотеки HAL (vendor/lib/hw) чтобы у нас точно заработал звук, датчики и FM-радио.

  5. Заходим в build.prop и изменяем значение qemu.hw.mainkeys с 0 на 1, дабы появились кнопки управления снизу

  6. Если интерфейс слишком большой/маленьий, можно скорректировать ro.sf.lcd_density (DPI) в всё том же build.prop.

Теперь наш архив с прошивкой кидаем на MicroSD-флэшку, вставляем в устройство и прошиваем используя GUI-интерфейс в recovery. Далее обязательно делаем вайпы data и cache и пробуем перезагружаться в систему...

Ура! Мы видим бут-анимацию! Через 5 минут смартфон полностью загрузился и мы можем считать эксперимент с портированием чистого Android на китайский iPhone успешным. Но на что такой смартфончик способен на практике?

❯ Тестируем

После установки чистого дроида, смартфон наконец-то начал летать. Теперь анимации достаточно плавные, всё работает шустро и никаких проблем в использовании смартфона как звонилки больше нет. Однако как смартфон на Android 7 проявит себя на практике? Давайте узнаем!

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

Начинаем с осмотра характеристик устройства. Как я и говорил, под капотом трудится MT6580, Я немножко пошалил в build.prop, поэтому не удивляйтесь названию устройства :)

Переходим к мессенджерам. Мой стандартный набор — Telegram и ВК, однако в качестве клиента последнего я использую не официальное приложение (оно дико тормозящее даже на свежих бюджетниках), а Kate Mobile. В качестве клиента ‭«телеги‭» я использую официальный, который здесь может и не летает, но работает вполне сносно и особо не тормозит. С WhatsApp проблем также нет.

Переходим к серфингу сети. Здесь ситуация сложная: современный веб достаточно тяжелый, поэтому смартфончику уже тяжеловато на некоторых сайтах с большим числом интерактива. Но почитать Хабр или Пикабу можно без особых проблем. Можно использовать как стандартный браузер (легче, но многие сайты не грузит), так и Chrome/FireFox, благо они пока поддерживают Android 7.

С почтой тоже проблем нет, в ранних версиях Android был очень удобный встроенный клиент почты вместе с Gmail'ом. Работает очень шустро, но авторизовываться нужно с паролем для приложений.

В качестве клиента YouTube лучше использовать не официальное приложение (у которого тоже тяжелый фронтэнд), а Skytube. Однако стоит учесть, что для MT6580 максимальное разрешение видео — 720p/30, 60 FPS видеодекодер не умеет.

Ну и конечно же игры! Накатывать сюда современные версии игр я бы не стал, в этом нет смысла, но найти Subway Surfers от 2015 года, или например, накатить эмулятор NES и SEGA и погонять в любимые ретро-игры — почему бы и нет? Смартфон с этим без проблем справится! Впрочем, в Subway Surfers были некоторые микрофризы :)

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

❯ Заключение

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

Ну а если у вас есть ненужные подобные девайсы (в том числе нерабочие и старенькие — интересны устройства и 2009, и 2014 года) и вам хотелось бы увидеть о них отдельную статью — пишите в комменты или мне в Telegram @monobogdan. Также может у кого-то остались самые первые смартфоны Xiaomi (серии Mi), Meizu (ещё на Exynos) или телефоны Motorola на Linux (например, EM30, RAZR V8, ROKR Z6, ROKR E2, ROKR E5, ZINE ZN5 и т.п, о них я хотел бы подготовить специальную статью и видео т.к на самом деле они работали на очень мощных для своих лет процессорах, поддавались серьезному моддингу и были способны запустить даже Quake!)

В любом случае, надеюсь вам было интересно! Если вам интересен ремонт, моддинг и программирование для различных гаджетов, то можете подписаться на мой Telegram-канал ‭«клуб фанатов балдежа‭», где я публикую информацию, анонсы и бэкстейджи статей, ну и немножко блогерского щитпоста ;) Также можете подписаться на мой паблик в ВК и мой YouTube, если вас интересуют мои видеоролики на ту же тематику. Также на Ютубе я провожу стримы.

А ещё я держу все свои мобилы в одной корзине при себе (в смысле, все проекты у одного облачного провайдера) — Timeweb. Потому нагло рекомендую то, чем пользуюсь сам — вэлкам:

Перейти ↩

Только зарегистрированные пользователи могут участвовать в опросе. Войдите, пожалуйста.
Стал ли i14 Pro Max юзабельным?
49.19% Да! Пусть не слишком шустрый, но вполне бодренький.61
50.81% Нет.63
Проголосовали 124 пользователя. Воздержались 20 пользователей.
Только зарегистрированные пользователи могут участвовать в опросе. Войдите, пожалуйста.
Что вы можете сказать о моем увлечении китайскими репликами?
20.38% Я увидел на фото руль и приборку ВАЗ 2110. Всё просто — автор тазовод, а китайские подделки для него своеобразные «тазы», только в виде телефонов :)32
51.59% Классное гиковское увлечение!81
5.73% Я увидел что автор ездит на десятке и понял что он просто бомж понторез, который не может себе позволить оригинальную премиум технику Apple и ему остаётся лишь брать китайцев по низу рынка.9
22.29% Вот кому-то делать нефиг!35
Проголосовали 157 пользователей. Воздержались 25 пользователей.
Только зарегистрированные пользователи могут участвовать в опросе. Войдите, пожалуйста.
Понятен ли вам гайд по портированию прошивок?
34.71% Угу, был опыт в прошлом :)42
23.97% Относительно понятен. Возникли вопросы, которые я задам в комментариях.29
31.4% Сложен для понимания. Но вины автора нет, проблематично сжать такую специфическую информацию в небольшую статью.38
9.92% Сложно, я ничего не понял.12
Проголосовал 121 пользователь. Воздержался 31 пользователь.