打开/关闭搜索
搜索
打开/关闭菜单
通知
打开/关闭个人菜单
查看“如何解包 Android ROM”的源代码
来自Uotan Wiki · 刷机百科
查看
阅读
查看源代码
查看历史
associated-pages
页面
讨论
更多操作
←
如何解包 Android ROM
因为以下原因,您没有权限编辑本页:
您请求的操作仅限属于该用户组的用户执行:
用户
您可以查看和复制此页面的源代码。
== 提醒事项 == 注意:本教程以在 Windows 10 平台下进行解包操作为例,并确保你拥有可以访问国际网络的能力。在阅读本篇wiki前,请确保你有一定的基础。 == 格式确认 == 在正式开始之前,你需要了解你接下来需要解包的是哪种类型的文件。本教程将介绍 # [[#Payload.bin解包|'''payload.bin''']] # [[#super.img 解包|'''super.img''']] # [[#ozip 解包|'''ozip格式''']] # [[#br格式解包|'''br格式''']] # [[#dat格式解包|'''dat格式(以及vivo分段dat)''']] # [[#img格式解包|'''img格式''']] == Payload.bin解包 == === 1. 获得所需工具 - Payload dumper go - [https://kkgithub.com/ssut/payload-dumper-go GitHub] === 请访问工具 GitHub 仓库并从 Release 内下载工具 === 2. 解包 === # 将工具解压到 payload.bin 所在目录 # 在该目录下打开 cmd 命令行 # 输入 <code>payload-dumper-go.exe payload.bin</code> # 小等一会 payload.bin 内的所有文件将会解压到 output_xxx 目录内 === 3. 进阶用法[可选] === ==== 1. 只解包某个分区 ==== # 将工具解压到 payload.bin 所在目录 # 在该目录下打开 cmd 命令行 # 输入 <code>payload-dumper-go.exe -p 所需分区名 payload.bin</code> (示例: <code>payload-dumper-go.exe -p system payload.bin</code> ) # 小等一会 所指定的文件将会解压到 output_xxx 目录内 ==== 2. 只解包部分分区 ==== # 将工具解压到 payload.bin 所在目录 # 在该目录下打开 cmd 命令行 # 输入 <code>payload-dumper-go.exe -l payload.bin</code> 以列出 payload.bin 内所有的分区文件 # 输入 <code>payload-dumper-go.exe -p 所需分区名并以英文逗号分隔 payload.bin</code> (示例: <code>payload-dumper-go.exe -p system,vendor payload.bin</code> ) # 小等一会 所指定的文件将会解压到一个名为 output_xxx 的目录内 注意:指定的顺序需要按照工具所列出的输入,否则无法正常解压指定的分区(如:system,vendor √ vendor,system ×) == super.img 解包 == === 1. 获得所需工具 - lpunpack([https://github.com/unix3dgforce/lpunpack GitHub]) === 所需环境: Python([https://www.python.org/ 官网]) 访问 lpunpack 仓库并点击 Code - Download zip 下载 === 2. 解包 === # 将工具解压到 super.img 所在目录 # 在该目录下打开 cmd 命令行 # 输入 <code>python lpunpack.py super.img output</code> # 小等一会 super.img 内的所有文件将会解压到 output 目录内 === 3. 进阶用法[可选] === ==== 1. 只想要某个分区 ==== # 将工具解压到 super.img 所在目录 # 在该目录下打开 cmd 命令行 # 输入 <code>python lpunpack.py -p 所需分区名 super.img output</code>(示例: <code>python lpunpack.py -p system_a super.img output</code>) === 特别注意 === 由于小米线刷包提供的是 sparse image(simg) 而解压 super.img 前需要转换为 raw image(rimg) 请跟随以下步骤转换 # 下载 simg2img([https://github.com/KinglyWayne/simg2img_win GitHub]) # 解压到 super.img 所在目录 # 在该目录下打开 cmd 命令行 # 输入 <code>simg2img.exe super.img super.rimg.img</code> # 小等一会 super.img 将会转换为 raw image 注: 转换之后上面教程中的 super.img 请替换为 super.rimg.img(示例: <code>python lpunpack.py super.rimg.img output</code>) == ozip 解包 == === 1. 获得所需工具 - oppo_ozip_decrypt([https://github.com/bkerler/oppo_ozip_decrypt GitHub]) === 所需环境: Python([https://www.python.org/ 官网]) 访问 oppo_ozip_decrypt 仓库并点击 Code - Download zip 下载 === 2. 解包 === # 将工具解压到 ozip 所在目录 # 在该目录下打开 cmd 命令行 # 输入 <code>pip install -r requirements.txt</code> (只需运行一次 即后续使用无需再次运行) # 输入 <code>python ozipdecrypt.py Example.ozip</code> (这里的 Example.ozip 替换为你所需要解压的 ozip 文件) # 小等一会 ozip 将会转换为 zip == br格式解包 == === 1. 获得所需工具 - brotli([https://github.com/google/brotli/releases GitHub]) === 请访问工具 GitHub 仓库并从 Release 内下载工具 === 2. 解包 === # 将工具解压到 br文件 所在目录 # 在该目录下打开 cmd 命令行 # 输入 <code>brotli.exe -d br文件</code> (示例: <code>brotli.exe -d system.new.dat.br</code>) # 小等一会 br文件 将会被解压 解压后的文件在同目录内 === 3. 进阶使用[可选] === ==== 1. 解包后删除源文件 ==== # 将工具解压到 br文件 所在目录 # 在该目录下打开 cmd 命令行 # 输入 <code>brotli.exe -j -d br文件</code> (示例: <code>brotli.exe -j -d system.new.dat.br</code>) # 小等一会 br文件 将会被解压到同目录下 同时 br文件 也会被删除 == dat格式解包 == === 1. 获得所需工具 - sdat2img([https://github.com/xpirt/sdat2img GitHub]) === 所需环境: Python([https://www.python.org/ 官网]) 访问 sdat2img 仓库并点击 Code - Download zip 下载 === 2. 解包 === # 将工具解压到 dat文件 所在目录 # 在该目录下打开 cmd 命令行 # 输入 <code>python sdat2img.py transfer.list文件 dat文件 [输出img名]</code> (示例: <code>python sdat2img.py system.transfer.list system.new.dat system.img</code>) # 小等一会 dat文件 将会被解压 解压后的文件在同目录内 注意:<code>[输出img名]</code> 为可选项 不传入此参数解压得到的 img 名称默认为 system.img === 3. vivo 分段dat 解包 === # 将工具解压到 dat文件 所在目录 # 在该目录下打开 cmd 命令行 # 输入 <code>type dat文件.* > dat文件</code> (示例: <code>type system.new.dat.* > system.new.dat</code>) # 输入 <code>python sdat2img.py transfer.list文件 dat文件 [输出img名]</code> (示例: <code>python sdat2img.py system.transfer.list system.new.dat system.img</code>) # 小等一会 dat文件 将会被解压 解压后的文件在同目录内 注意:<code>[输出img名]</code> 为可选项 不传入此参数解压得到的 img 名称默认为 system.img == img格式解包 == === 特别注意 === 本章节将分为三个部分,分别是 # ext4 格式 img 解压 # erofs 格式 img 解压 # boot/recovery类型 img 解压 === 1. ext4 格式解包 === ==== 1. 获得所需工具 - imgextractor & ext4 ==== 所需环境: Python([https://www.python.org/ 官网]) 所需工具: imgextractor - [https://github.com/ColdWindScholar/MIO-KITCHEN-SOURCE/blob/main/imgextractor.py GitHub] & ext4 - [https://github.com/ColdWindScholar/MIO-KITCHEN-SOURCE/blob/main/ext4.py GitHub] 访问对应链接 并点击 下载图标 下载文件 ==== 2. 解包 ==== # 将文件放置到 img文件 所在目录(imgextractor.py 和 ext4.py 均需要放置) # 在该目录下打开 cmd 命令行 # 输入 <code>python imgextractor.py img文件 输出目录</code> (示例: <code>python imgextractor.py system.img system</code>) # 小等一会 img文件 将会被解压 === 2. erofs 格式解包 === ==== 1. 获得所需工具 - extract.erofs([https://github.com/sekaiacg/erofs-utils GitHub]) ==== 请访问工具 GitHub 仓库并从 Release 内下载工具 ==== 2. 解包 ==== # 将工具内所有文件放置到 img文件 所在目录 # 在该目录下打开 cmd 命令行 # 输入 <code>extract.erofs.exe -i img文件 -o 输出目录</code> (示例: <code>extract.erofs.exe -i system.img -o system</code>) # 小等一会 img文件 将会被解压 === 3. boot/recovery类型 img 解压包 === ==== 1. 获得所需工具 - magiskboot([https://github.com/ookiineko/magiskboot_build GitHub]) ==== 请访问工具 GitHub 仓库并从 Release 内下载工具 ==== 2. 解包 ==== # 将工具放置到 img文件 所在目录 # 在该目录下打开 cmd 命令行 # 输入 <code>magiskboot.exe unpack -h img文件</code> (示例: <code>magiskboot.exe unpack -h boot.img</code>) # 小等一会 img文件 将会被解压
返回
如何解包 Android ROM
。