payload dumper
Script tested on Yandex Amber OTA's (full and incremental) under Linux (but may works on Windows too)
System requirement
- Python3, pip
- google protobuf for python
pip install protobuf
Docker
Alternatively you can use Docker:
docker run --rm -v "${PWD}":/data -it vm03/payload_dumper /data/payload.bin --out /data
or self build Docker image
# build the container image
$ docker build -t payload_dumper .
# mount current PWD and pass payload.bin
$ docker run --rm -v "${PWD}":/data -it payload_dumper /data/payload.bin --out /data
Guide
Preparation
- Make sure you have Python 3.6 or later installed.
- Download payload_dumper.py, update_metadata_pb2.py and requirements.txt
- Extract your OTA zip and place payload.bin in the same folder as these files.
- Open PowerShell, Command Prompt, or Terminal depending on your OS.
- Enter the following command: python -m pip install -r requirements.txt
Full OTA
- When that’s finished, enter this command: python payload_dumper.py payload.bin
- This will start to extract the images within the payload.bin file to the output folder you are in.
Incremental OTA
- Copy original images (from full OTA or dumped from devices) to old folder (with part name + .img, ex: boot.img, system.img)
- run python payload_dumper.py --diff payload.bin
- file extracted to the output folder you are in.