apftool-rs
RockChip 固件解包/打包工具

apftool-rs 是一个用 Rust 编写的 apftool 替代方案(可执行文件名:afptool-rs),用于解包/打包 RockChip 瑞芯微固件镜像,支持 RKFW 与 RKAF 格式。相比传统 apftool,提供更好的性能、可靠性与跨平台支持。

核心功能

全面支持瑞芯微固件解包与打包所需的一切功能

解包与打包

支持RKFW/RKAF固件的双向操作:轻松解包提取内容,或将修改后的文件重新打包。

广泛芯片支持

支持全系列瑞芯微芯片:RK29xx/30xx/31xx/32xx、RV11xx、RK33xx (PX30/3326/3399)、RK35xx (3566/3568/3588) 等。

跨平台

在Windows、macOS和Linux上无缝运行,提供自动化CI/CD构建。

快速可靠

基于Rust构建,提供最佳性能和内存安全。高效处理大型固件文件。

简易CLI

简单的命令行界面,易于使用和集成到您的工作流程中。

开源项目

完全开源,采用Apache License 2.0协议。可根据需要贡献和定制。

使用步骤

简单几步完成固件解包与打包

1

下载安装

从GitHub Releases下载对应平台的预编译二进制文件,或使用源码编译安装。

Terminal
curl -L https://github.com/suyulin/apftool-rs/releases/latest/download/afptool-rs-linux-x86_64 -o apftool-rs
chmod +x apftool-rs
2

解包固件

使用unpack命令解包RKFW固件文件,若包含嵌入镜像可对提取出的update.img再次解包。

Terminal
./afptool-rs unpack firmware.img ./output
3

打包固件

修改内容后,使用pack-rkfw或pack-rkaf命令重新打包为固件镜像。

Terminal
./afptool-rs pack-rkfw ./output ./new.img --chip RK3562 --version 1.0.0

效果展示

实际使用效果和输出示例

RKFW解包输出

apftool-rs会显示固件的详细信息,包括版本、芯片型号和分区布局:

$ afptool-rs unpack rk.img ./out
RKFW signature detected
version: 1.0.0
code: 0x02000000
date: 2025-11-06 13:33:14 (Unix timestamp: 1762435994)
family: RK3562
00000066-00072a25 BOOT (size: 469440)
00072a26-10495a29 embedded-update.img (size: 272773124)

RKAF解包输出

解包RKAF格式会提取出完整的Android固件分区:

$ afptool-rs unpack ./out/embedded-update.img ./out
Filesize: 272773124
manufacturer: RK3562
model: RK3562
00000800-000000fb ./out/package-file
00001000-0000021d ./out/parameter.txt
00001800-000729c0 ./out/MiniLoaderAll.bin
00074800-00400000 ./out/uboot.img
00474800-0000c000 ./out/misc.img
00480800-01084800 ./out/boot.img
01505000-0df1e000 ./out/rootfs.img
0f423000-00800000 ./out/oem.img
0fc23000-00800000 ./out/userdata.img
Partition metadata saved to: ./out/partition-metadata.txt

RKFW打包输出

将修改后的文件重新打包生成RKFW固件镜像:

$ afptool-rs pack-rkfw ./out ./new.img --chip RK3562 ...
Successfully packed RKFW image:
Output: ./new.img
Version: 1.0.0
Date: 2025-11-06 13:33:14
Chip: RK3562 (code: 0x32)
BOOT size: 469440 bytes
Update image size: 272773124 bytes
MD5: 9574d7cdf6f6a45bfaaad62f171fd185
Total size: 273242698 bytes

安装方式

预编译二进制

从GitHub Releases下载适用于Windows、macOS和Linux的版本

源码编译

cargo build --release

性能特点

  • 快速解包大型固件文件
  • 内存安全,无缓冲区溢出
  • 自动检测固件格式
  • 详细的解包信息输出

开源社区驱动

加入社区,共同参与项目开发

8+
星标
3
贡献者
3
发布版本

支持的格式和芯片

文件格式

  • RKFW - 瑞芯微固件包装格式
  • RKAF - 瑞芯微Android固件包格式

芯片系列

RK3588 / RK3588S0x35
旗舰八核 (8K, 6TOPS NPU)
RK3566 / RK35680x38
主流中端 AIoT
RK35620x32
入门级平板 (2023+)
RK3399 / Pro0x33
经典高性能六核
RV1109 / RV11260x19
视觉 AI 处理器 (NPU)
PX30 / RK33260x30
工控/车载/复古掌机
RK35280x39
4K 多媒体/电视盒子
RK33080x48
语音/音频专用 SoC
RK32xx0x80
32位性能旗舰
RK31xx0x70
早期四核 (28nm)
RK30xx0x60
双核时代
RK29xx0x50
早期单核