Распаковка прошивки 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.bin | Windows, Linux, macOS |
| simg2img | Конвертация sparse-образа в обычный img | Linux, Windows (WSL) |
| lpunpack | Распаковка super.img на логические разделы | Linux, Android |
| SamFirm / Frija + 7-Zip | Работа с пакетами Samsung (.tar.md5) | Windows |
| MTK extractor | Разбор прошивок устройств на MediaTek | Windows |
Утилиты вроде payload-dumper-go и lpunpack распространяются через GitHub — скачивайте их только из официальных репозиториев проектов, чтобы не получить модифицированную версию с вредоносным кодом.
Распаковка payload.bin: пошагово
Это самый частый сценарий для современных смартфонов. Вам понадобится компьютер, скачанная прошивка и утилита payload-dumper-go. Распакуйте ZIP прошивки обычным архиватором и найдите внутри файл payload.bin.
Далее выполните команду из папки с утилитой, указав путь к файлу:
payload-dumper-go -o ./extracted payload.bin
Процесс занимает от нескольких минут до получаса в зависимости от размера прошивки и скорости диска. На выходе в папке extracted появятся образы разделов: boot.img, system.img, vendor.img и другие. Убедитесь, что на диске достаточно свободного места — распакованные образы могут занимать заметно больше исходного архива.
☑️ Проверка перед распаковкой payload.bin
⚠️ Внимание: не распаковывайте прошивку от другой модели или региона «на всякий случай» — извлечённые из неё 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 и целостность исходного архива.