Skip to content
Extract firmware images from an Android OTA payload.bin file
Branch: master
Clone or download
cyxx Add python 2.x version check
The update_metadata_pb2.py is generated using protoc 2.5.0. The
generated python code appears to be incompatible with python3/protobuf3
module (eg. uncode() calls).
Latest commit f36d848 Aug 29, 2018
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.gitignore Add initial version of payload.bin extraction script Jun 26, 2018
README.md Add dependencies to README Aug 29, 2018
extract_android_ota_payload.py Add python 2.x version check Aug 29, 2018
update_metadata_pb2.py

README.md

extract_android_ota_payload.py

Extract Android firmware images from an OTA payload.bin file.

With the introduction of the A/B system update, the OTA file format changed. This tool allows to extract and decompress the firmware images packed using the 'brillo' toolset.

Incremental firmware images are not supported (source_copy, source_bsdiff operations).

Usage

$ extract_android_ota_payload.py <payload.bin> [target_dir]
  <payload.bin> : file extracted from the OTA zip file or the OTA zip file
  <target_dir>  : output directory for the extracted file

Example

$ python extract_android_ota_payload.py marlin-ota-opm4.171019.021.d1-fd6998a5.zip /tmp/
Extracting 'boot.img'
Extracting 'system.img'
Extracting 'vendor.img'
...
Extracting 'modem.img'

Dependencies

python-protobuf
You can’t perform that action at this time.