otadump helps you extract partitions from Android OTA files.
Partitions can be individually flashed to your device using fastboot.
Compared to other tools, otadump is significantly faster and handles file
verification - no fear of a bad OTA file bricking your device.
| crazystylus/otadump | ssut/payload-dumper-go | vm03/payload_dumper | |
|---|---|---|---|
| Input file verification | ✔ | ✔ | |
| Output file verification | ✔ | ||
| Extract selective partitions | ✔ | ✔ | ✔ |
| Parallelized extraction | ✔ | ✔ | |
| Runs directly on .zip files | ✔ | ✔ | |
| Incremental OTA support | Partial |
Comparing the time taken to extract all partitions from a few sample files (lower is better):
Note: otadump was run with args --no-verify -c 12 and payload-dumper-go was run with args -c 12
System specifications:
- Processor: AMD Ryzen 5 5600X (12) @ 3.700GHz
- RAM: 16 GiB
- OS: Pop!_OS 22.04 / Linux 6.0.6
- SSD: Samsung 970 EVO 250GB
Install a pre-built binary:
curl -sS https://raw.githubusercontent.com/crazystylus/otadump/mainline/install.sh | bashOtherwise, using Cargo:
# Needs LZMA, Protobuf and pkg-config libraries installed.
# - On macOS: brew install protobuf xz pkg-config
# - On Debian / Ubuntu: apt install liblzma-dev protobuf-compiler pkg-config
cargo install --locked otadumpDownload the pre-built binary from the Releases page. Extract it and run the
otadump.exe file.
Run the following command in your terminal:
# Run directly on .zip file.
otadump ota.zip
# Run on payload.bin file.
otadump payload.bin