Если вы скачали OTA-прошивку для смартфона Xiaomi, Google Pixel, OnePlus или другого Android-устройства и обнаружили внутри ZIP-архива файл payload.bin вместо привычных образов boot.img или system.img — это нормально: производитель упаковал все разделы прошивки в единый бинарный контейнер. Файл payload.bin встречается в обновлениях устройств с системой A/B-разделов (seamless updates), и без специальной утилиты извлечь из него отдельные образы не получится.
В этой статье разберём, что представляет собой формат payload.bin, зачем он нужен, какие данные в нём хранятся и как безопасно распаковать его на компьютере, чтобы получить нужный раздел — например, boot.img для получения root-доступа через Magisk или vendor.img для анализа прошивки.
Что такое payload.bin простыми словами
Payload.bin — это бинарный контейнер, в котором Android упаковывает образы разделов при OTA-обновлении (over-the-air, «по воздуху»). Внутри файла находятся сжатые данные разделов boot, system, vendor, product и других, а также служебная информация о том, как именно эти данные должны быть записаны на устройство.
Формат разработан Google для механизма бесшовных обновлений (A/B updates), появившегося в Android 7.0 Nougat. Устройства с такой схемой имеют два набора разделов — слот A и слот B. Пока вы пользуетесь смартфоном на активном слоте, обновление в фоне записывается в неактивный, а после перезагрузки устройство просто переключается на обновлённый слот.
Рядом с payload.bin в архиве прошивки обычно лежат два сопутствующих файла: payload_properties.txt (контрольные данные и хеши) и care_map.pb (список областей, которые нужно сохранить при обновлении). Сам payload.bin имеет собственный заголовок с подписью, поэтому просто переименовать его в .zip или открыть архиватором нельзя.
💡Payload.bin — это не архив в привычном смысле, а бинарный контейнер формата OTA с описанием операций записи разделов. Для извлечения нужен специальный инструмент — payload dumper.