programmersd21/payxt
GitHub: programmersd21/payxt
基于 Python 的现代 Android OTA payload.bin 提取工具,支持流式 IO、分区选择、多压缩格式和远程 URL 提取。
Stars: 4 | Forks: 0
# payxt
基于 Python 3.12+ 的现代 Android OTA payload.bin 提取工具。
## 截图
### 列出分区

### 查看 Manifest

### 提取分区

### 校验 Hash

## 功能
- **高性能:** 并行提取,流式 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, 数据提取, 无后门, 解包工具, 逆向工具