Распаковка прошивки Android: полное руководство

Распаковка прошивки Android начинается с определения формата архива: у современных устройств Xiaomi, Google Pixel и ряда других брендов внутри ZIP-пакета лежит файл payload.bin, который не открывается обычным архиватором и требует специальных утилит. Если вы скачали прошивку и не видите привычных файлов system.img или boot.img — это и есть первый признак того, что образ упакован в контейнер, который нужно предварительно извлечь.

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

Какие форматы прошивок встречаются

Прежде чем что-то распаковывать, определите тип пакета. От этого зависит весь дальнейший инструментарий. Производители используют разные способы упаковки, и универсального «открывашки» не существует.

  • 📦 payload.bin — контейнер обновлений A/B-разделов, встречается у Google Pixel, Xiaomi, OnePlus и других устройств с бесшовными обновлениями.
  • 🗜️ IMG-образы (system.img, vendor.img, boot.img) — готовые образы разделов, иногда дополнительно сжатые в формате sparse.
  • 📁 Фирменные пакеты.kdz у LG, .tar.md5 у Samsung, .ofp/.ozip у Oppo и Realme.
  • 🧩 super.img — динамический раздел, объединяющий system, vendor и product в один образ на новых устройствах.

Точный состав зависит от модели и версии Android, поэтому перед работой сверьтесь с описанием конкретной прошивки на сайте производителя или в профильной ветке форума 4PDA / XDA.

Необходимые инструменты

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

ИнструментНазначениеПлатформа
payload-dumper-goИзвлечение образов из payload.binWindows, Linux, macOS
simg2imgКонвертация sparse-образа в обычный imgLinux, Windows (WSL)
lpunpackРаспаковка super.img на логические разделыLinux, Android
SamFirm / Frija + 7-ZipРабота с пакетами Samsung (.tar.md5)Windows
MTK extractorРазбор прошивок устройств на MediaTekWindows

Утилиты вроде payload-dumper-go и lpunpack распространяются через GitHub — скачивайте их только из официальных репозиториев проектов, чтобы не получить модифицированную версию с вредоносным кодом.

📊 С какой целью вы распаковываете прошивку?
Получить boot.img для root
Извлечь стоковое рекавери
Достать системные приложения
Анализ и модификация прошивки

Распаковка payload.bin: пошагово

Это самый частый сценарий для современных смартфонов. Вам понадобится компьютер, скачанная прошивка и утилита payload-dumper-go. Распакуйте ZIP прошивки обычным архиватором и найдите внутри файл payload.bin.

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

payload-dumper-go -o ./extracted payload.bin

Процесс занимает от нескольких минут до получаса в зависимости от размера прошивки и скорости диска. На выходе в папке extracted появятся образы разделов: boot.img, system.img, vendor.img и другие. Убедитесь, что на диске достаточно свободного места — распакованные образы могут занимать заметно больше исходного архива.

☑️ Проверка перед распаковкой payload.bin

Выполнено: 0 / 4
⚠️ Внимание: не распаковывайте прошивку от другой модели или региона «на всякий случай» — извлечённые из неё boot.img и рекавери нельзя прошивать на ваше устройство, это приводит к незагружаемому смартфону.

Работа с super.img и sparse-образами

На устройствах с динамическими разделами вместо отдельных system.img вы встретите файл super.img. Его нельзя примонтировать напрямую: сначала образ конвертируется из sparse-формата, затем разбирается на логические разделы.

simg2img super.img super_raw.img

lpunpack super_raw.img ./partitions

После выполнения lpunpack в целевой папке появятся файлы system.img, vendor.img, product.img и другие логические разделы. Если утилита выдаёт ошибку о неизвестном формате — возможная причина в том, что образ уже был в raw-формате и шаг с simg2img не нужен. Проверить тип файла можно командой file super.img в Linux.

Монтирование и просмотр содержимого system.img

Полученный образ раздела — это файловая система ext4 или erofs. В Linux его можно смонтировать как обычный диск и просматривать содержимое через файловый менеджер:

sudo mount -o ro system.img /mnt/system

Ключ -o ro монтирует образ в режиме «только чтение» — так вы гарантированно не повредите структуру при просмотре. Разделы в формате erofs стандартным mount могут не открыться; для них существуют отдельные утилиты извлечения, например extract.erofs из проекта erofs-utils.

В Windows прямое монтирование ext4 недоступно — используйте WSL или программы для чтения Linux-разделов. Учтите, что поддержка конкретных файловых систем зависит от версии инструмента, поэтому при ошибках монтирования сначала проверьте тип ФС образа.

Типичные ошибки и их решение

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

  • 🚫 «Unexpected EOF» или ошибка чтения — архив прошивки скачан не полностью; сверьте контрольную сумму с указанной на странице загрузки и скачайте файл заново.
  • 💾 Нехватка места на диске — распаковка останавливается посередине; освободите место с запасом.
  • «Unknown format» — файл имеет другой формат, чем ожидалось; проверьте его командой file или откройте в HEX-редакторе и посмотрите сигнатуру.
  • 🔐 Зашифрованный пакет — часть фирменных прошивок (например, .ofp у Oppo) зашифрована, и для них нужны модель-специфичные ключи и инструменты.
⚠️ Внимание: не используйте «универсальные распаковщики прошивок» с сомнительных сайтов — такие программы нередко содержат вредоносный код. Проверенные инструменты публикуются на GitHub и профильных форумах.

Распакованные образы предназначены для анализа и извлечения файлов — повторная сборка и прошивка модифицированного образа требует разблокированного загрузчика и аннулирует гарантию у большинства производителей.

Что делать, если boot.img не найден среди извлечённых файлов

На некоторых устройствах с A/B-разделами образ загрузки называется init_boot.img (характерно для новых версий Android), а привычный boot.img может отсутствовать или иметь другое назначение. Проверьте полный список извлечённых файлов и сверьтесь с документацией по вашей модели — для root через Magisk в таких случаях патчится именно init_boot.img.

Правовые и практические ограничения

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

С практической стороны помните: любые изменения системных разделов и их прошивка обратно на устройство выполняются с разблокированным загрузчиком, что на большинстве смартфонов сопровождается сбросом данных и потерей гарантии. Если ваша цель — только получить boot.img для root или вытащить пару приложений, распаковка на ПК полностью безопасна и обратима: достаточно удалить распакованные файлы.

Частые вопросы

Можно ли распаковать прошивку прямо на смартфоне?

Частично да: на Android-устройстве с root можно запустить Linux-окружение и использовать те же утилиты. Но из-за ограничений по памяти и месту удобнее работать на компьютере.

Чем открыть payload.bin в Windows без командной строки?

Существуют графические оболочки вокруг payload-dumper, однако большинство проверенных инструментов — консольные. Это нормально: команда состоит из одной строки, а риск получить вредоносную программу с GUI-«комбайном» выше.

Зачем из прошивки извлекают boot.img?

Чаще всего — для получения root-прав: boot.img (или init_boot.img на новых версиях Android) патчится в приложении Magisk, после чего прошивается обратно через fastboot. Также образ нужен для восстановления стоковой загрузки после неудачных экспериментов.

Распаковка повредит прошивку или устройство?

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

Почему system.img не монтируется после распаковки?

Возможные причины: образ в формате sparse (нужна конвертация через simg2img), файловая система erofs вместо ext4 (нужны erofs-utils) либо файл извлечён с ошибкой. Проверьте тип командой file и целостность исходного архива.