🗒️Android系统中各image文件解压缩
2023-8-18
| 2024-11-22
字数 1124阅读时长 3 分钟
type
status
date
slug
summary
tags
category
icon
password
URL
Android系统编译之后的打包阶段,会将所有编译出来的有需要的执行文件,库文件以及各种配置文件等打包到各个镜像文件中。有时候我们需要看一下镜像文件中都打包了什么东西,那就可以通过一些方法将其挂载到一个目录,然后进行查看。

一、所用到的工具

1.1 simg2img

简述:sparse格式的image文件转化为raw格式的image文件。 编译android源码默认会生成。
路径:out/host/linux-x86/bin/simg2img
如果没有请用如下的指令编出
source build/envsetup.sh lunch miodm_topaz_native-userdebug export OUT_DIR=out && nj simg2img

1.2 lpunpack

简述:这个工具可以将system.img,product.img,vendor.img等文件从super.img解析出来。
路径:out/host/linux-x86/bin/lpunpack
如果没有请用如下的指令编出
source build/envsetup.sh lunch miodm_topaz_native-userdebug export OUT_DIR=out && nj lpunpack

1.3 unpack_bootimg

简述:专门用于解析boot.img的工具。
路径:out/host/linux-x86/bin/unpack_bootimg system/core/mkbootimg/unpack_bootimg.py
如果没有请用如下的指令编出
source build/envsetup.sh lunch miodm_topaz_native-userdebug export OUT_DIR=out && nj unpack_bootimg

1.4 mkdtimg

简述:将dtbo.img文件转化为dtb文件,一个dtbo.img会包含多个dtb文件; 编译android源码默认会生成。
路径:out/host/linux-x86/bin/mkdtimg
如果没有请用如下的指令编出
source build/envsetup.sh lunch miodm_topaz_native-userdebug export OUT_DIR=out && nj mkdtimg

1.5 dtc

简述:将dtb文件转化为可阅读的dts文件; 编译android源码默认会生成。
路径:out/host/linux-x86/bin/dtc

二、解压缩各image文件

2.1 boot.img/recovery.img/vendor_boot.img

2.1.1 解压缩

指令如下:
  1. boot.img
notion image
  1. recovery.img
  1. vendor_boot.img
notion image

2.2 dtbo.img

  1. 先从dtbo.img中解析出dtb文件
  1. 将上一步的dtb文件转化为可以阅读的dts文件
也可以使用fdtdump
fdtdump -sd dtbo.img > dtbo.txt

2.3 dtb.img

也可以使用fdtdump
fdtdump -sd dtb.img > dtb.txt

2.4 metadata.img/userdata.img

  1. 将sparse格式的metadata.img转化为raw格式的metadata_raw.img
  1. 将metadata_raw.img挂载到一个目录上,此时访问这个目录就可以访问镜像文件的内容了

2.5 super.img

  1. sparse格式转化为raw格式
  1. 使用lpunpack解析super_raw.img
  1. 挂载解析出来的镜像文件

2.6 persist.img

这个镜像是linux ext4格式的,直接挂载即可
 
  • android
  • unpack
  • images
  • 必看精选
  • Android编译原理之make编译过程Android Network validation
    Loading...