Как я купил нерабочую подделку iPhone 14 Pro Max за «косарь» и портировал на неё чистый Android
- вторник, 3 декабря 2024 г. в 00:00:14
Осторожно: в отличие от других обзорных статей о китайских подделках брендовых смартфонов, в этой мы ещё и узнаем, что у устройства «под капотом», проведем диагностику, отремонтируем и доведём его до ума путём портирования чистого дистрибутива Android. В материале всё описано максимально простым и понятным языком, даже если вы не фанат такого своеобразного класса устройств, как подделки на брендовые девайсы. Будет интересно!
Пожалуй, именно такой вопрос возникнет у большинства читателей этой статьи. Китайские реплики брендовых устройств люблю с юности, поскольку сам ходил с подобными девайсами практически все школьные годы. Я помню ещё самые первые клоны айфонов, которые хоть и были очень дешевыми и недоработанными, но в целом вполне функциональными устройствами. Иногда встречались и совершенно удивительные модели!
Сейчас на маркетплейсах представлено множество подделок самых разных смартфонов, начиная от вышеупомянутых айфонов и 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 — так это вообще нонсенс ;)
Недавно я шерстил барахолки и наткнулся на подделку iPhone 14 Pro Max за 1 500 рублей с симптомами «поставила на ночь на зарядку, перестал включатся». Мы с читателями быстренько собрали необходимую сумму, за что вам огромное спасибо, и я заказал смартфон в предвкушении, что же в нём окажется нерабочим...
После получения устройства, я сразу же отклеил заднюю крышку и обнаружил следы того, что сюда кто-то лазил (и вероятно треснул заднюю крышку при расклеивании), потерял половину винтов, поплавил пластик корпуса снизу и сорвал кое-где резьбу. При подключении кабеля, потребление смартфона было по нулям. Обычно это симптом того, что 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 прост:
Берём из родного дампа раздел recovery, копируем куда-нибудь и переименовываем в recovery_original.img.
Берём TWRP от любого смартфона на таком же чипсете. В моём случае, я взял TWRP от смартфона Highscreen Power Rage с 4pda.
Создаём в директории с MtkImgTools поддиректории Unpack/Image и Pack/Image и копируем туда скачанный recovery.img и наш recovery_original.img.
Запускаем MtkImgTools, идём в Firmware -> Boot -> Unpack и распаковываем оба файла последовательно.
В директории Unpack окажется две поддиректории: recovery и recovery_original. Основная суть «портирования» в том, что нам необходимо просто перенести образ ядра Linux из нашего смартфона в то рекавери, которое мы портируем. Имейте ввиду что разделы boot и recovery взаимозаменяемы и структурно идентичные — оба содержат рамдиск, ядро и специальный заголовок. То есть при желании, вы можете прошить recovery вместо boot, а boot вместо recovery и загружать смартфон только по определенной комибнации клавиш, или, например, реализовать дуалбут.
Копируем с заменой файл recovery_original/kernel/kernel (может также называться kernel/zImage) в recovery/kernel/.
Собираем новый образ recovery используя Firmware -> Boot -> Pack image -> recovery. Обрза появится в директории Pack/Image.
Прошиваем его с помощью SP Flash Tool в соответствующий раздел и пробуем загрузиться!
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 портирован, его необходимо добавить обратно в архив, однако для полноценного запуска системы с сетью и звуком необходимо проделать ещё некоторые манипуляции:
Берём раздел system.img из нашего дампа и копируем в Unpack/Image.
Идём в System -> Unpack ext4 -> system.img и распаковываем образ системы.
Копируем из распакованного образа в архив с прошивкой файлы модема (vendor/firmware/).
Копируем библиотеки HAL (vendor/lib/hw) чтобы у нас точно заработал звук, датчики и FM-радио.
Заходим в build.prop и изменяем значение qemu.hw.mainkeys с 0 на 1, дабы появились кнопки управления снизу
Если интерфейс слишком большой/маленьий, можно скорректировать 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. Потому нагло рекомендую то, чем пользуюсь сам — вэлкам: