1
1
mirror of https://github.com/ssut/payload-dumper-go.git synced 2024-04-27 02:56:53 +00:00
an android OTA payload dumper written in Go
Go to file
2023-06-26 10:24:34 +09:00
.github/workflows chore(ci):Fix fatal: unsafe repository ('...' is owned by someone else) (#32) 2022-05-31 00:50:53 +09:00
chromeos_update_engine chore: working proto 2020-10-04 02:23:33 +09:00
.editorconfig fix: indent_style in .editorconfig file (#9) 2021-04-12 19:06:13 +09:00
.gitignore chore(git): ignore DS_Store and extracted directories 2020-10-04 02:39:55 +09:00
.goreleaser.yml chore(ci): specify type of checksum (#28) 2022-05-27 08:33:27 +09:00
Dockerfile feat: add Dockerfile (#2) 2020-12-28 13:28:03 +09:00
go.mod feat: goroutine 2020-10-04 16:46:08 +09:00
go.sum feat(cli): support both long and shorthand flags, set output directory manually 2021-06-23 12:37:01 +09:00
LICENSE chore: add license 2020-10-04 02:28:15 +09:00
main.go fix(cli): add options placement to usage, reorder flags to match output (#24) 2021-12-07 13:36:04 +09:00
payload.go feat: Add support for InstallOperation_ZERO (#31) 2022-05-31 00:49:55 +09:00
reader.go feat(reader): add a reader that reads at specific offsets 2020-10-04 15:54:46 +09:00
README.md fix(docs): correct a typo in README.md (#38) 2023-06-26 10:24:34 +09:00
update_metadata.proto chore: working proto 2020-10-04 02:23:33 +09:00

payload-dumper-go

An android OTA payload dumper written in Go.

Features

screenshot

See how fast payload-dumper-go is: https://imgur.com/a/X6HKJT4. (MacBook Pro 16-inch 2019 i9-9750H, 16G)

  • Incredibly fast decompression. All decompression progresses are executed in parallel.
  • Payload checksum verification.
  • Support original zip package that contains payload.bin.

Cautions

  • Working on a SSD is highly recommended for performance reasons, a HDD could be a bottle-neck.

Limitations

  • Incremental OTA (delta) payload is not supported.

Installation

  1. Download the latest binary for your platform from here and extract the contents of the downloaded file to a directory on your system.

Linux and OSX

  1. Make sure the extracted binary file has executable permissions. You can use the following command to set the permissions if necessary:
chmod +x payload-dumper-go
  1. Run the following command to add the directory path to your system's PATH environment variable:
export PATH=$PATH:/path/to/payload-dumper-go

Note: This command sets the PATH environment variable only for the current terminal session. To make it permanent, you need to add the command to your system's profile file (e.g. .bashrc or .zshrc for Linux/Unix systems).

Windows

  1. Open the Start menu and search for "Environment Variables".
  2. Click on "Edit the system environment variables".
  3. Click on the "Environment Variables" button at the bottom right corner of the "System Properties" window.
  4. Under "System Variables", scroll down and click on the "Path" variable, then click on "Edit".
  5. Click "New" and add the path to the directory where the extracted binary is located.
  6. Click "OK" on all the windows to save the changes.

Usage

Run the following command in your terminal:

payload-dumper-go /path/to/payload.bin

Sources

https://android.googlesource.com/platform/system/update_engine/+/master/update_metadata.proto

License

This source code is licensed under the Apache License 2.0 as described in the LICENSE file.