| Crates.io | pay10ad-dumper |
| lib.rs | pay10ad-dumper |
| version | 0.1.3 |
| created_at | 2025-07-31 13:25:31.491577+00 |
| updated_at | 2025-08-03 03:05:07.754167+00 |
| description | Feature-rich Android OTA payload dumper written in Rust |
| homepage | https://github.com/PRO-2684/pay10ad-dumper |
| repository | https://github.com/PRO-2684/pay10ad-dumper |
| max_upload_size | |
| id | 1775026 |
| size | 170,011 |
Feature-rich Android OTA payload dumper written in Rust.
What is Payload? Android payload is a file that contains ROM partitions like boot, system, vendor and others. Payload Dumper extracts these partitions from the
payload.binfile.
-p/--partitions)payload.bin or ROM zip file without decompressing the whole archivepayload.bin or zip) without downloading the whole file (Need server support)--no-parallel/--threads)binstallcargo binstall pay10ad-dumper
Navigate to the Releases page and download respective binary for your platform. Make sure to give it execute permissions.
cargo install pay10ad-dumper
payload.bin: pay10ad-dumper payload.binota.zip: pay10ad-dumper -l ota.zipboot & init_boot from <URL>: pay10ad-dumper -p boot -p init_boot <URL>Extracting init_boot.img from an online OTA zip file with specified UA:

Listing partitions from local payload.bin:

Listing partitions from remote ota.zip:

$ pay10ad-dumper --help
Usage: pay10ad-dumper <payload_path> [-o <out>] [--diff] [--old <old>] [--partitions <partitions...>] [--threads <threads>] [--list] [--metadata] [--no-parallel] [--no-verify] [-u <user-agent>]
Feature-rich Android OTA payload dumper written in Rust
Positional Arguments:
payload_path path or URL to your payload
Options:
-o, --out output directory for extracted partitions
--diff enable differential OTA mode (requires --old)
--old path to the directory containing old partition images
(required for --diff)
--partitions list of partition names to extract
--threads number of threads to use for parallel processing
--list list available partitions in the payload
--metadata save complete metadata as JSON (use --out - to write to
stdout)
--no-parallel disable parallel extraction
--no-verify skip hash verification
-u, --user-agent the User-Agent to use if extracting from URL (Defaults to a
representative browser UA)
--help, help display usage information
| Project | Lang | Zip | URL | URL + zip | Size |
|---|---|---|---|---|---|
vm03/payload_dumper |
🐍 Python | 🔴 | 🔴 | 🔴 | N/A |
5ec1cff/payload-dumper |
🐍 Python | 🟢 | 🟢 | 🟡 | N/A |
payload-dumper-go |
🐹 Go | 🟢 | 🔴 | 🔴 | ≈5.5M |
payload-dumper-rust |
🦀 Rust | 🟢 | 🟢 | 🟢 | ≈3.5M |
pay10ad-dumper |
🦀 Rust | 🟢 | 🟢 | 🟢 | ≈2M |
Zip: Whether it supports extracting partitions from ZIP archives without decompressing it first.URL: Whether it supports extracting partitions from payload.bin URLs without downloading the whole file.URL + Zip: Whether it supports extracting partitions from ota.zip URLs without downloading the whole file.Size: Executable size on Linux, decompressed.🔴: No🟢: Yes🟡: Not tested