При разборке официальной прошивки update.app вы обнаружите множество файлов с расширением .bin, каждый из которых отвечает за отдельный системный раздел смартфона или модема. Эти бинарные образы содержат низкоуровневый код загрузчиков, модемных прошивок, ядра Linux и зашифрованных разделов vendor или dtbo. Понимание их структуры критически важно для ручного восстановления устройства через EDL-режим или Fastboot, когда стандартное OTA-обновление недоступно.

В файловой системе Android на устройствах Huawei каталог /system/bin выполняет иную функцию — там хранятся исполняемые системные утилиты и демоны (например, logd, vold, hwservicemanager). Не путайте системные бинарники в памяти телефона с файлами прошивки на компьютере: первые работают в запущенной ОС, вторые — это образы для перезаписи разделов флеш-памяти. Ошибка в терминологии часто приводит к неверным действиям при ремонте.

Основные типы .bin файлов в прошивках Huawei

Состав набора .bin-файлов зависит от модели и версии EMUI/HarmonyOS, но базовый набор неизменен с эпохи Kirin 960. Каждый файл имеет строгое назначение и подписан закрытым ключом Huawei, что не позволяет заменить его на сторонний без разблокировки загрузчика или использования эксплойтов. Ниже перечислены ключевые образы, встречающиеся в 99% полных пакетов прошивки (Full OTA).

  • 📦 boot.bin — образ раздела загрузки, содержит ядро Linux (Image.gz), ramdisk и device tree blob (dtb). Отвечает за инициализацию железа и монтирование системных разделов.
  • 📡 modem.bin / modem_n1.bin / modem_n2.bin — прошивки базового процессора (Baseband) для работы с сетями 2G/3G/4G/5G. Часто разбиты на несколько файлов по технологиям.
  • 🔧 vendor.bin — образ vendor-раздела с проприетарными библиотеками HAL, драйверами камеры, GPU и аудио. В новых версиях может быть динамическим (Dynamic Partitions).
  • 🛡️ tee.bin / trustzone.bin — образ Trusted Execution Environment (TEE), хранит ключи DRM, биометрию и защищенные ключи оплаты.
  • 🔄 recovery.bin — образ восстановления (stock recovery), используется для установки OTA и сброса настроек. В отличие от кастомного TWRP, подписан официальным ключом.
  • 💾 dtbo.bin — Device Tree Blob Overlay, содержит аппаратные конфигурации для разных ревизий платы (HW version) одной модели телефона.

⚠️ Внимание: Прошивка modem.bin несовместимой версии или от другой модели (даже похожей, например P40 на P40 Pro) гарантированно приведет к потере IMEI и отсутствию связи. Восстановление требует авторизованного сервиса или EDL-режима с полным дампом флеш-памяти.

Структура update.app и извлечение .bin образов

Файл update.app — это контейнерный формат Huawei, упаковывающий десятки .bin-образов с метаданными (CRC, версия, размер раздела). Для извлечения используется утилита split_updata.pl (Perl-скрипт) или современные Python-инструменты вроде HuaweiUpdateExtractor. Результат работы — папка с исходными .bin файлами и filelist.xml, описывающим порядок прошивки.

Важно: в новых прошивках (EMUI 12+/HarmonyOS 3+) разделы super (super.bin) заменяют отдельные system/vendor/product. Этот образ является логическим контейнером динамических разделов и требует инструмента lpunpack для распаковки на отдельные образы. Прямая прошивка super.bin через fastboot flash super возможна только на разблокированном загрузчике.

Как извлечь .bin файлы из update.app на Windows

Скачайте HuaweiUpdateExtractor (GUI-версию) с GitHub. Запустите, укажите путь к update.app и папку для результата. Нажмите Extract. В выходной директории появятся все .bin файлы и filelist.xml. Для старых прошивок (до 2018 года) используйте split_updata.pl в среде Strawberry Perl.

Прошивка .bin файлов через Fastboot и EDL

Стандартный путь установки отдельных .bin-образов — режим Fastboot (Bootloader). Требуется разблокированный загрузчик (fastboot oem unlock с кодом от Huawei, актуально для устройств до 2018 года) или использование уязвимостей в загрузчике старых чипсетов. Команды прошивки выглядят стандартно, но порядок важен: сначала загрузчик/tee, затем модем, потом загрузка и vendor.

fastboot flash boot boot.bin

fastboot flash dtbo dtbo.bin

fastboot flash modem modem.bin

fastboot flash vendor vendor.bin

fastboot reboot

Для устройств с заблокированным загрузчиком или «кирпичам» используется EDL-режим (Emergency Download) через Qualcomm/QDLoader или HiSilicon Balong. Здесь прошивка идет через инструменты вроде QFIL (для Kirin на базе Cortex-A с модемом Balong) или HiSuite Proxy с модифицированными скриптами flash.xml. В EDL прошивается полный дамп (rawprogram_unsparse.xml + patch.xml), а не отдельные .bin.

☑️ Чек-лист перед прошивкой .bin через Fastboot

Выполнено: 0 / 7

Различия между .bin прошивки и системными бинарниками /system/bin

Частая путаница возникает из-за одинакового расширения. В запущенной системе Android каталог /system/bin (и /system/xbin, /vendor/bin) содержит ELF-исполняемые файлы — утилиты командной строки, системные сервисы и демоны. Они не являются образами разделов и не прошиваются через Fastboot. Их модификация (патчинг) требует root-доступа и перемонтирования системного раздела в RW, что на современных Huawei с dm-verity и vbmeta практически невозможно без разблокировки загрузчика.

Пример: файл /system/bin/hwservicemanager управляет HIDL-сервисами, а boot.bin на ПК — это образ раздела /dev/block/by-name/boot. Если вы хотите поправить системную утилиту, вы работаете с файловой системой. Если хотите обновить ядро или модем — с образом раздела (.bin). Не пытайтесь загрузить hwservicemanager через fastboot flash — раздел не примет некорректный образ.

⚠️ Внимание: Удаление или замена файлов в /system/bin без понимания их роли приведет к bootloop'у. Восстановление возможно только перепрошивкой полного пакета update.app или образом super.bin через EDL/Fastboot.

Таблица соответствия .bin файлов и разделов флеш-памяти

Имя .bin файла Раздел (by-name) Содержимое Критичность ошибки
boot.bin boot / boot_a / boot_b Ядро + Ramdisk + DTB Высокая (не загрузится ОС)
modem.bin modem / modem_a Baseband Firmware Критическая (нет связи, IMEI 0)
vendor.bin vendor / vendor_a HAL, драйверы, fw Высокая (сбои камеры, звука, GPU)
tee.bin tee / tee_a TrustZone OS Критическая (нет оплаты, биометрии)
dtbo.bin dtbo / dtbo_a Device Tree Overlays Средняя (не инициализируется железо)
super.bin super Dynamic Partitions Container Критическая (структура логических разделов)

Распространенные ошибки при работе с .bin образами

Самая частая ошибка новичков — попытка прошить boot.bin от другой региональной версии прошивки (например, C432 на C636) или от другого устройства с тем же чипсетом. Даже при идентичном процессоре (Kirin 990) конфигурация памяти, панели, сенсоров и модемных каскадов отличается. Результат — черный экран, перегрев модемом или бесконечная перезагрузка на логотипе.

Вторая проблема — игнорирование слотов A/B (Seamless Updates). На устройствах с Android 10+ (P40, Mate 40, Nova 8 и новее) прошивка должна идти в активный слот (fastboot getvar current-slot). Прошивка в неактивный слот без переключения fastboot set_active не даст результата после ребута. Третья ошибка — пропуск vbmeta при кастомном ядре: без fastboot flash vbmeta vbmeta.img --disable-verity --disable-verification устройство не загрузится с модифицированным boot.bin.

💡

Всегда сверяйте версию прошивки (Build Number) в имени пакета и в filelist.xml. Пример: 10.1.0.150(C432E10R1P3) — C432 означает регион Global, E10 — EMUI 10, R1P3 — ревизия. Прошивка файлов от C185 (China) на Global-устройство часто ломает VoLTE/VoWiFi и DRM (Widevine L1).

Инструменты для анализа и редактирования .bin образов

Для реверс-инжиниринга .bin файлов используют набор утилит: binwalk (поиск встроенных архивов, файловых систем), mkbootimg/unmkbootimg (разборка boot/recovery), extract-dtb (выделение device tree), lpunpack (распаковка super.bin). Модемные прошивки (modem.bin) часто имеют проприетарную структуру и требуют специфических парсеров (например, balong-usbdload для старых модемов Balong).

Редактирование vendor.bin или system.bin (ext4/f2fs образы) выполняется через монтирование: mkdir mnt && sudo mount -t ext4 -o loop vendor.bin mnt. После изменений образ собирается обратно через make_ext4fs или mke2fs с сохранением SELinux-контекстов (file_contexts). Неподписанный измененный образ не прошьется на залоченном загрузчике — проверка подписи AVB (Android Verified Boot) выдаст ошибку Verification failed.

💡

Главный вывод: .bin в Huawei — это образы разделов для прошивки, а не системные утилиты. Работа с ними требует точного соответствия модели, региона, версии и понимания механизма верификации AVB. Ошибка в выборе файла стоит неработающего устройства.

FAQ: Частые вопросы про .bin файлы Huawei

Можно ли прошить только modem.bin для исправления связи?

Технически да, через fastboot flash modem modem.bin на разблокированном загрузчике. Но версия модемной прошивки должна строго соответствовать версии сборки ОС (Build Number). Несовпадение версий приведет к нестабильности регистрации в сети или ошибке авторизации SIM. Лучше прошивать полный пакет update.app.

Что такое super.bin и зачем он нужен?

super.bin — это образ супер-раздела (Super Partition), введённый в Android 10 (Dynamic Partitions). Он содержит логические разделы system, vendor, product, odm внутри себя. Прошивается целиком командой fastboot flash super super.bin или распаковывается утилитой lpunpack для работы с отдельными образами.

Почему после прошивки boot.bin телефон не включается?

Причины: 1) Несоответствие dtbo.bin (нужен от той же прошивки). 2) Заблокированный загрузчик и отсутствие подписи AVB (нужен vbmeta с флагами disable-verity). 3) Файл boot.bin поврежден при скачивании/распаковке (проверьте SHA256). 4) Несовпадение слота A/B — прошили в неактивный слот.

Где скачать оригинальные .bin файлы для моей модели?

Официально Huawei не распространяет отдельные .bin файлы. Их извлекают из полных пакетов прошивки (Full OTA / Firmware) формата update.app, которые можно найти на ресурсах вроде FirmwareFile, Hupdate или через поиск по Build Number. Качайте только полные пакеты под ваш регион (C432, C185, C605 и т.д.).

В чем разница между boot.bin и recovery.bin?

boot.bin загружает основную ОС (Android). recovery.bin загружает минимальную среду восстановления (Stock Recovery) для установки OTA, вайпа данных и перезагрузки в Fastboot. На современных Huawei они часто идентичны по ядру, но имеют разные ramdisk и флаги загрузки. Прошивка recovery.bin не влияет на обычную загрузку системы.

📊 С какой задачей вы чаще всего сталкиваетесь при работе с .bin файлами Huawei?
Ручная прошивка boot/modem через Fastboot
Восстановление кирпича через EDL/QFIL
Распаковка update.app для получения образов
Анализ/модификация vendor.bin (порт модов)
Просто хотел понять, что это такое