提醒事项
注意:本教程以在 Windows 10 平台下进行解包操作为例,并确保你拥有可以访问国际网络的能力。在阅读本篇wiki前,请确保你有一定的基础。
格式确认
在正式开始之前,你需要了解你接下来需要解包的是哪种类型的文件。本教程将介绍
payload.bin
super.img
ozip格式
br格式
dat格式(以及vivo分段dat)
img格式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 将会转换为 zipbr格式解包
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文件 将会被解压