公司动态
Payload-Dumper-Android:3步在手机提取系统镜像,无需电脑与Root
Payload-Dumper-Android3步在手机提取系统镜像无需电脑与Root【免费下载链接】Payload-Dumper-AndroidPayload Dumper App for Android. Extract boot.img or any other partitions (images) from OTA.zip or payload.bin without PC项目地址: https://gitcode.com/gh_mirrors/pa/Payload-Dumper-Android深夜你刚下载完一个 3GB 的 OTA 包真正想要的却只是里面那个 128MB 的 boot.img——拿去做 Magisk 补丁。装上 Payload-Dumper-Android在手机上选文件、勾选分区就能提取系统镜像不用电脑不用 Root不用命令行。一句话定位它是一个分区镜像提取应用让你直接在手机上从 OTA.zip 或 payload.bin 里提取 boot.img、system.img 等 Android 系统镜像服务改 boot、备分区、分析 ROM 的人。 快速上手3 步提取第一张 boot.img第一步安装。应用上架了 IzzyOnDroid 仓库装上即可用也可以自己从源码构建 APK要求 Android 9 及以上git clone https://gitcode.com/gh_mirrors/pa/Payload-Dumper-Android # 克隆源码仓库 cd Payload-Dumper-Android # 进入项目目录 ./gradlew assembleRelease # 用 Gradle 构建 Release 版 APK第二步选文件。主页点 Select a file 选一个 OTA.zip 或 payload.bin也可以直接粘贴一个网络地址点 Fetch它会边下边解析不用先把几个 G 存进手机。第三步勾选分区。解析完成后包里的所有分区会列出来每行带大小和状态。在你要的分区旁点 Save进度条实时跳动完成即可。提取出来的文件默认保存在系统存储下以包名为前缀的目录里路径可以点列表上方的铅笔图标随时修改避免和旧备份混在一起。 功能全景按你要做的事分组把 OTA 包里的镜像全部拿出来选完文件应用把包里的分区全部解析出来boot、system、product、vbmeta……每个分区多大、是否提取完成、有没有失败一眼看清。可以只挑需要的也可以点 Save All 全部拿走。手机存储不够时边下边提取不想先下载直接把网络地址填进去点 Fetch应用按 HTTP 分片读取文件、边读边解全程不落一份完整压缩包。适合存储吃紧但网速快的场景远程读取逻辑在lib/payload-dumper-android-rs/src/reader/remote_reader.rs断点重连有重试机制兜底。验证提取出来的镜像没坏官方元数据里每个分区都带一个 SHA256 哈希。设置里打开 Verify Hash提取完成后应用自动对落盘文件校验一遍和官方声明对不上会立刻标红——坏包不用等刷进系统才发现。并行提取随时取消多个分区可以同时提取正在跑的时候还能再开新的任何任务都能随时取消失败的可以重试。Auto Delete 开关会在失败时自动清理半成品文件Overwrite 关闭后重名文件会自动改名而不是覆盖旧镜像保得住。️ 原理拆解它凭什么在手机上读镜像答案藏在 payload.bin 的文件结构里。这个文件排布非常规整开头 24 字节是文件头魔数是CrAU四个字符接着是用 protobuf 序列化的分区清单然后是签名最后才是真正的数据。清单里写明了每个分区的名字、大小、偏移和哈希——相当于把分区表直接印在了文件开头读表就能定位一切。这套协议本是 Google 为 ChromeOS 更新引擎设计的后来被 Android 的 A/B 分区更新沿袭为标准 OTA 格式协议定义在lib/payload-dumper-android-rs/update_metadata.proto。数据本体则切成一个个小块默认块大小 4096 字节用 bzip2 或 zstd 压缩后连续存放应用边读边解压、按块落盘。两个设计决策值得说。其一手写 ZIP 解析不套解压库官方 OTA.zip 里的 payload.bin 通常以不压缩方式存放应用直接从文件尾部扫描 ZIP 中央目录定位 payload.bin 在包内的偏移量之后就在 ZIP 上按偏移直读省掉一次完整落地解压也省下一份几 GB 的临时文件还支持 ZIP64 大文件实现在lib/payload-dumper-android-rs/src/reader/zip_reader.rs。其二Rust 核心加 Kotlin 外壳高频二进制读取、解压、哈希计算、并发调度这些脏活都在 Rust 里完成核心引擎位于lib/payload-dumper-android-rs/src/通过 JNI 暴露给界面层。提取任务跑在 tokio 多线程运行时上用信号量控制同时处理几个分区进度通过共享缓冲区实时更新——界面不卡内存也不失控。还有一个要知道的边界增量 OTA只含差异的小包应用能识别并明确告诉你它是增量但暂不支持提取增量包需要换对应的整包。⚙️ 进阶调优并发数与缓冲区怎么调提取速度主要受存储读写速度限制并发数和缓冲区的大小决定你能不能喂满它。设置页里 Concurrency 控制并行任务数下次会话生效Buffer Size 影响哈希计算和远程下载的分块。设备档位并发数缓冲区说明入门4GB 内存2-4128KB稳定优先别追求速度中端8GB 内存4-8256KB大多数手机的甜点值旗舰12GB 以上8-12512KB配合高速 UFS 可上调 典型用例一个常刷机的玩家新设备刷完系统想装 Magisk可手头没有现成的 boot.img。他找来同版本的完整 OTA用这个应用把 boot 提取出来传到电脑上打 Magisk 补丁再 fastboot 刷回——从下载到拿到可刷的镜像不到十分钟提取全程手机完成电脑只负责最后一步打补丁。一位 ROM 开发者凌晨分析官方更新。她把 system、product、vendor 全部提取到本地在分区详情里逐个对比大小与哈希发现 system 只涨了 30MB于是定位到具体分区去翻差异内容。详情面板给出的下载大小、实际大小和哈希值让她不用开电脑就能对账异常分区一眼就能揪出来。一位备份党在每次大版本更新前做全量备份Save All 提取所有分区镜像拷进云盘。哪天真刷坏了逐分区回刷手机从变砖变成下午就能复活。⚠️ 避坑指南问提示检测到增量包但提取不了答应用目前只支持整包提取增量 OTA 请找对应版本的完整包识别逻辑会告诉你它属于哪种。问报错 payload.bin is compressed答官方要求 ZIP 内的 payload.bin 以不压缩方式存放这个包被二次压缩过。重新下载官方原版或手动把 payload.bin 取出来再用应用打开。问提取完哈希校验不一致答多半是源文件本身损坏。核对下载时的哈希值重新下载并保持 Verify Hash 常开让问题在提取阶段就暴露而不是刷入之后。问远程 Fetch 失败或特别慢答远程读取依赖 HTTP 分片Range请求服务器不支持就会直接失败。换 Wi-Fi 再试或先把文件完整下载到本地再打开。问提取时手机发烫、变卡答并发降到 2-4、缓冲区降到 128KB清掉后台应用。提取是存储密集型任务入门机型上慢而稳比快而崩更划算。 生态与资源源码获取git clone https://gitcode.com/gh_mirrors/pa/Payload-Dumper-Android安装渠道IzzyOnDroid 仓库F-Droid 系仓库可订阅自动更新许可协议GPL-3.0协议与参考Google OTA 元数据定义与 payload-dumper-go 项目protobuf 文件位于lib/payload-dumper-android-rs/参与贡献功能建议与 Bug 反馈走仓库的 Issue 通道 下一步下次拿到 OTA 时别只顾着点安装——先把它的 boot.img 提取出来看看。从 IzzyOnDroid 装上应用或按上面的命令自己构建一个挑任意一个分区点开你会发现手机里到底装了什么这件事其实可以看得一清二楚。【免费下载链接】Payload-Dumper-AndroidPayload Dumper App for Android. Extract boot.img or any other partitions (images) from OTA.zip or payload.bin without PC项目地址: https://gitcode.com/gh_mirrors/pa/Payload-Dumper-Android创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考