提醒事项
注意:本教程以在 Windows 10 平台下进行解包操作为例,并确保你拥有可以访问国际网络的能力。在阅读本篇wiki前,请确保你有一定的基础。
格式确认
在正式开始之前,你需要了解你接下来需要解包的是哪种类型的文件。本教程将介绍
Payload.bin解包
1. 获得所需工具 - Payload dumper go - GitHub
请访问工具 GitHub 仓库并从 Release 内下载工具
2. 解包
- 将工具解压到 payload.bin 所在目录
- 在该目录下打开 cmd 命令行
- 输入
payload-dumper-go.exe payload.bin
- 小等一会 payload.bin 内的所有文件将会解压到 output_xxx 目录内
3. 进阶用法[可选]
1. 只解包某个分区
- 将工具解压到 payload.bin 所在目录
- 在该目录下打开 cmd 命令行
- 输入
payload-dumper-go.exe -p 所需分区名 payload.bin
(示例:payload-dumper-go.exe -p system payload.bin
) - 小等一会 所指定的文件将会解压到 output_xxx 目录内
2. 只解包部分分区
- 将工具解压到 payload.bin 所在目录
- 在该目录下打开 cmd 命令行
- 输入
payload-dumper-go.exe -l payload.bin
以列出 payload.bin 内所有的分区文件 - 输入
payload-dumper-go.exe -p 所需分区名并以英文逗号分隔 payload.bin
(示例:payload-dumper-go.exe -p system,vendor payload.bin
) - 小等一会 所指定的文件将会解压到一个名为 output_xxx 的目录内
注意:指定的顺序需要按照工具所列出的输入,否则无法正常解压指定的分区(如:system,vendor √ vendor,system ×)
super.img 解包
1. 获得所需工具 - lpunpack(GitHub)
所需环境: Python(官网)
访问 lpunpack 仓库并点击 Code - Download zip 下载
2. 解包
- 将工具解压到 super.img 所在目录
- 在该目录下打开 cmd 命令行
- 输入
python lpunpack.py super.img output
- 小等一会 super.img 内的所有文件将会解压到 output 目录内
3. 进阶用法[可选]
1. 只想要某个分区
- 将工具解压到 super.img 所在目录
- 在该目录下打开 cmd 命令行
- 输入
python lpunpack.py -p 所需分区名 super.img output
(示例:python lpunpack.py -p system_a super.img output
)
特别注意
由于小米线刷包提供的是 sparse image(simg) 而解压 super.img 前需要转换为 raw image(rimg) 请跟随以下步骤转换
- 下载 simg2img(GitHub)
- 解压到 super.img 所在目录
- 在该目录下打开 cmd 命令行
- 输入
simg2img.exe super.img super.rimg.img
- 小等一会 super.img 将会转换为 raw image
注: 转换之后上面教程中的 super.img 请替换为 super.rimg.img(示例: python lpunpack.py super.rimg.img output
)
ozip 解包
1. 获得所需工具 - oppo_ozip_decrypt(GitHub)
所需环境: Python(官网)
访问 oppo_ozip_decrypt 仓库并点击 Code - Download zip 下载
2. 解包
- 将工具解压到 ozip 所在目录
- 在该目录下打开 cmd 命令行
- 输入
pip install -r requirements.txt
(只需运行一次 即后续使用无需再次运行) - 输入
python ozipdecrypt.py Example.ozip
(这里的 Example.ozip 替换为你所需要解压的 ozip 文件) - 小等一会 ozip 将会转换为 zip
br格式解包
1. 获得所需工具 - brotli(GitHub)
请访问工具 GitHub 仓库并从 Release 内下载工具
2. 解包
- 将工具解压到 br文件 所在目录
- 在该目录下打开 cmd 命令行
- 输入
brotli.exe -d br文件
(示例:brotli.exe -d system.new.dat.br
) - 小等一会 br文件 将会被解压 解压后的文件在同目录内
3. 进阶使用[可选]
1. 解包后删除源文件
- 将工具解压到 br文件 所在目录
- 在该目录下打开 cmd 命令行
- 输入
brotli.exe -j -d br文件
(示例:brotli.exe -j -d system.new.dat.br
) - 小等一会 br文件 将会被解压到同目录下 同时 br文件 也会被删除
dat格式解包
1. 获得所需工具 - sdat2img(GitHub)
所需环境: Python(官网)
访问 sdat2img 仓库并点击 Code - Download zip 下载
2. 解包
- 将工具解压到 dat文件 所在目录
- 在该目录下打开 cmd 命令行
- 输入
python sdat2img.py transfer.list文件 dat文件 [输出img名]
(示例:python sdat2img.py system.transfer.list system.new.dat system.img
) - 小等一会 dat文件 将会被解压 解压后的文件在同目录内
注意:[输出img名]
为可选项 不传入此参数解压得到的 img 名称默认为 system.img
3. vivo 分段dat 解包
- 将工具解压到 dat文件 所在目录
- 在该目录下打开 cmd 命令行
- 输入
type dat文件.* > dat文件
(示例:type system.new.dat.* > system.new.dat
) - 输入
python sdat2img.py transfer.list文件 dat文件 [输出img名]
(示例:python sdat2img.py system.transfer.list system.new.dat system.img
) - 小等一会 dat文件 将会被解压 解压后的文件在同目录内
注意:[输出img名]
为可选项 不传入此参数解压得到的 img 名称默认为 system.img
img格式解包
特别注意
本章节将分为三个部分,分别是
- ext4 格式 img 解压
- erofs 格式 img 解压
- boot/recovery类型 img 解压
1. ext4 格式解包
1. 获得所需工具 - imgextractor & ext4
所需环境: Python(官网)
所需工具:
imgextractor - GitHub & ext4 - GitHub
访问对应链接 并点击 下载图标 下载文件
2. 解包
- 将文件放置到 img文件 所在目录(imgextractor.py 和 ext4.py 均需要放置)
- 在该目录下打开 cmd 命令行
- 输入
python imgextractor.py img文件 输出目录
(示例:python imgextractor.py system.img system
) - 小等一会 img文件 将会被解压
2. erofs 格式解包
1. 获得所需工具 - extract.erofs(GitHub)
请访问工具 GitHub 仓库并从 Release 内下载工具
2. 解包
- 将工具内所有文件放置到 img文件 所在目录
- 在该目录下打开 cmd 命令行
- 输入
extract.erofs.exe -i img文件 -o 输出目录
(示例:extract.erofs.exe -i system.img -o system
) - 小等一会 img文件 将会被解压
3. boot/recovery类型 img 解压包
1. 获得所需工具 - magiskboot(GitHub)
请访问工具 GitHub 仓库并从 Release 内下载工具
2. 解包
- 将工具放置到 img文件 所在目录
- 在该目录下打开 cmd 命令行
- 输入
magiskboot.exe unpack -h img文件
(示例:magiskboot.exe unpack -h boot.img
) - 小等一会 img文件 将会被解压