programmersd21/payxt

GitHub: programmersd21/payxt

基于 Python 的现代 Android OTA payload.bin 提取工具,支持流式 IO、分区选择、多压缩格式和远程 URL 提取。

Stars: 4 | Forks: 0

# payxt 基于 Python 3.12+ 的现代 Android OTA payload.bin 提取工具。 ## 截图 ### 列出分区 ![列出分区](https://static.pigsec.cn/wp-content/uploads/repos/cas/9c/9cafe5a94e73aba513f7e04d14acc853f7abb12a998317dd340d5a494359f3eb.png) ### 查看 Manifest ![查看 Manifest](https://static.pigsec.cn/wp-content/uploads/repos/cas/98/98f0cba9743a5eaa1204d3cbbb5bd5df73919f03d579bb18c81ac1ee96e2f5e3.png) ### 提取分区 ![提取分区](https://static.pigsec.cn/wp-content/uploads/repos/cas/48/48cbec921790944fbd1d282b138608562295d1e041ecf5ef629f4686f20026c7.png) ### 校验 Hash ![校验 Hash](https://static.pigsec.cn/wp-content/uploads/repos/cas/dc/dc4861feaa3b4e8607c89d5146add9f92b7a6eb7bf190bcbf3879407e0091c56.png) ## 功能 - **高性能:** 并行提取,流式 IO,内存高效。 - **Protobuf 驱动:** 使用 AOSP `DeltaArchiveManifest`。 - **流式支持:** 本地文件、ZIP 归档以及 HTTPS URL(通过 Range 请求)。 - **压缩:** 支持 `REPLACE`、`REPLACE_BZ`、`REPLACE_XZ`、`REPLACE_ZSTD`。 - **校验:** SHA256 完整性检查。 - **现代 CLI:** 使用 `rich` 和 `typer` 构建的精美 UI。 ## 安装说明 ### 克隆仓库 ``` git clone https://github.com/programmersd21/payxt.git cd payxt ``` ### 从源码安装 ``` pip install . ``` ### 或直接从 GitHub 安装 ``` pip install git+https://github.com/programmersd21/payxt.git ``` ## 用法 ``` # 提取所有 partitions payxt extract payload.bin # 从 URL 提取选定的 partitions payxt extract https://example.com/ota.zip --partitions boot,vendor # 列出 partitions payxt list payload.bin ``` ## 架构 `payxt` 遵循受 AOSP `update_engine` 启发的模块化架构: - `core/`:Payload header 和 manifest 解析。 - `operations/`:针对不同安装操作的基于策略的处理器。 - `streaming/`:用于文件、ZIP 和网络的抽象 IO。 - `protobuf/`:为 Android OTA 元数据生成的绑定。
标签:Android, DSL, OTA, Python, 数据提取, 无后门, 解包工具, 逆向工具