{"id":13567357,"url":"https://github.com/crazystylus/otadump","last_synced_at":"2025-05-16T04:06:01.965Z","repository":{"id":152183802,"uuid":"613514503","full_name":"crazystylus/otadump","owner":"crazystylus","description":"Extract partitions from Android OTA files.","archived":false,"fork":false,"pushed_at":"2025-03-17T21:23:08.000Z","size":1713,"stargazers_count":178,"open_issues_count":6,"forks_count":19,"subscribers_count":5,"default_branch":"mainline","last_synced_at":"2025-05-09T11:51:36.784Z","etag":null,"topics":["android","hacktoberfest","rust"],"latest_commit_sha":null,"homepage":"","language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/crazystylus.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2023-03-13T18:08:46.000Z","updated_at":"2025-05-07T13:59:14.000Z","dependencies_parsed_at":"2024-01-21T20:29:17.584Z","dependency_job_id":"8b8b7acf-cf6b-4629-88c2-db80cbd0987b","html_url":"https://github.com/crazystylus/otadump","commit_stats":null,"previous_names":[],"tags_count":3,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/crazystylus%2Fotadump","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/crazystylus%2Fotadump/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/crazystylus%2Fotadump/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/crazystylus%2Fotadump/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/crazystylus","download_url":"https://codeload.github.com/crazystylus/otadump/tar.gz/refs/heads/mainline","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254464895,"owners_count":22075570,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["android","hacktoberfest","rust"],"created_at":"2024-08-01T13:02:29.483Z","updated_at":"2025-05-16T04:05:56.955Z","avatar_url":"https://github.com/crazystylus.png","language":"Rust","funding_links":[],"categories":["Rust"],"sub_categories":[],"readme":"\u003c!-- markdownlint-configure-file {\n  \"MD033\": false,\n  \"MD041\": false\n} --\u003e\n\n\u003cdiv align=\"center\"\u003e\n\n# otadump\n\n[![crates.io][crates.io-badge]][crates.io]\n\n**`otadump` helps you extract partitions from Android OTA files.** \u003cbr /\u003e\nPartitions can be individually flashed to your device using `fastboot`.\n\nCompared to other tools, `otadump` is significantly faster and handles file\nverification - no fear of a bad OTA file bricking your device.\n\n![Demo][demo]\n\n\u003c/div\u003e\n\n## Features\n\n|                              | [crazystylus/otadump] | [ssut/payload-dumper-go] | [vm03/payload_dumper]                     |\n| ---------------------------- | --------------------- | ------------------------ | ----------------------------------------- |\n| Input file verification      | ✔                     | ✔                        |                                           |\n| Output file verification     | ✔                     |                          |                                           |\n| Extract selective partitions | ✔                     | ✔                        | ✔                                         |\n| Parallelized extraction      | ✔                     | ✔                        |                                           |\n| Runs directly on .zip files  | ✔                     | ✔                        |                                           |\n| Incremental OTA support      |                       |                          | [Partial][payload_dumper-incremental-ota] |\n\n## Benchmarks\n\nComparing the time taken to extract all partitions from a few sample files\n(lower is better):\n\n![Benchmarks][benchmarks]\n\n**Note:** `otadump` was run with args `--no-verify -c 12` and `payload-dumper-go` was run with args `-c 12`\n\nSystem specifications:\n\n- Processor: AMD Ryzen 5 5600X (12) @ 3.700GHz\n- RAM: 16 GiB\n- OS: Pop!_OS 22.04 / Linux 6.0.6\n- SSD: Samsung 970 EVO 250GB\n\n## Installation\n\n### macOS / Linux\n\nInstall a pre-built binary:\n\n```sh\ncurl -sS https://raw.githubusercontent.com/crazystylus/otadump/mainline/install.sh | bash\n```\n\nOtherwise, using Cargo:\n\n```sh\n# Needs LZMA, Protobuf and pkg-config libraries installed.\n# - On macOS: brew install protobuf xz pkg-config\n# - On Debian / Ubuntu: apt install liblzma-dev protobuf-compiler pkg-config\ncargo install --locked otadump\n```\n\n### Windows\n\nDownload the pre-built binary from the [Releases] page. Extract it and run the\n`otadump.exe` file.\n\n## Usage\n\nRun the following command in your terminal:\n\n```sh\n# Run directly on .zip file.\notadump ota.zip\n\n# Run on payload.bin file.\notadump payload.bin\n```\n\n## Contributors\n\n- [Kartik Sharma][crazystylus]\n- [Ajeet D'Souza][ajeetdsouza]\n\n[ajeetdsouza]: https://github.com/ajeetdsouza\n[benchmarks]: contrib/benchmarks.svg\n[crates.io-badge]: https://img.shields.io/crates/v/otadump?logo=rust\u0026logoColor=white\u0026style=flat-square\n[crates.io]: https://crates.io/crates/otadump\n[crazystylus]: https://github.com/crazystylus\n[crazystylus/otadump]: https://github.com/crazystylus/otadump\n[demo]: contrib/demo.gif\n[payload_dumper-incremental-ota]: https://github.com/vm03/payload_dumper/issues/53\n[releases]: https://github.com/crazystylus/otadump/releases\n[ssut/payload-dumper-go]: https://github.com/ssut/payload-dumper-go\n[vm03/payload_dumper]: https://github.com/vm03/payload_dumper\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcrazystylus%2Fotadump","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcrazystylus%2Fotadump","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcrazystylus%2Fotadump/lists"}