当前位置: 首页 > article >正文

Android解包super.img查看其文件信息

        在 Android 10 及更高版本上支持了"动态分区",所以 ROM 包中看不到了传统的 system.img 等镜像。在Android系统中,Super.img是一个重要的动态分区镜像文件,它包含了多个分区的镜像。为了方便管理和操作这些分区,我们需要使用一些专门的工具,其中就包括lpunpack、lpmake和lpdump。

lpunpack:Super.img的解包工具

        lpunpack是一个用于解包Super.img文件的工具。通过它,我们可以将Super.img中的各个分区镜像提取出来,以便进行进一步的分析和处理。

lpmake:Super.img的打包工具

        lpmake是一个用于将多个分区镜像打包生成Super.img文件的工具。通过它,我们可以将多个分区镜像合并成一个Super.img文件,方便管理和部署。

下面是将super.img解包的步骤:

1、首先进行sparse 格式转换

可参考(Android super.img 镜像解包-CSDN博客)

lpdump 只能解析非 sparse 格式的 image,如果是在 x86 PC 上运行 lpdum 进行解析,则需要提前使用 simg2img 将 Android 编译生成的 sparse 格式的 super.img 转换成 raw 格式

out_sys/host/linux-x86/bin/simg2img out_sys/target/product/mssi_64_cn/merged/super.img out_sys/super_raw.img
2、解压super_raw.img 

将转化格式后的super_raw.img 解压出product_a.img system_a.img vendor_a.img等文件

out_sys/host/linux-x86/bin/lpunpack out_sys/super_raw.img 
3、解压raw类型 system.img

可参考(解压system.img - 流浪_归家 - 博客园 (cnblogs.com))

利用file system.img 可知:

system_a.img: Linux rev 1.0 ext2 filesystem data, UUID=27414231-8d75-5827-8a17-5020c6eb0271 (extents) (large files) (huge files)

可以看到 ext2 filesystem data 

raw可以直接挂载。

于是执行:

mkdir system
sudo mount system.img system
4、解压ext类型 system.img

Android O/Andorid P都是这种类型:

xxxx@xxxx:# file system.img 
system.img: data
xxx#xxx ./simg2img system.img system.ext4.img
xxx#xxx file system.ext4.img 
system.ext4.img: Linux rev 1.0 ext4 filesystem data, UUID=6f8511d5-cc14-5467-8fc3-fea8427a7d8f, volume name "system" (extents) (64bit) (large files) (huge files)
xxx#xxx mount system.ext4.img system/

通过simg2img脚本,转成raw格式即可。
simg2img脚本在工程的out/host/linux-x86/bin/下,out/host/linux-x86/lib64/libc++.so这个库是必须的。


http://www.kler.cn/a/410446.html

相关文章:

  • Easyexcel(6-单元格合并)
  • 【Linux学习】【Ubuntu入门】2-3 make工具和makefile引入
  • 累积局部效应 (ALE) 图分析记录
  • 大语言模型(LLM)安全:十大风险、影响和防御措施
  • 【Flutter】搭建Flutter开发环境,安卓开发
  • 在英文科技论文中分号后面的单词首字母需不需要大写
  • React表单联动
  • 【小白学机器学习33】 大数定律python的 pandas.Dataframe 和 pandas.Series基础内容
  • react 中解决 类型“never”上不存在属性“value”。
  • 电脑开启虚拟化的方法
  • TCL嵌入式面试题及参考答案
  • kafka学习-02
  • Elmentui实现订单拆单功能
  • Golang调用MongoDB的表自动增长的 ID 永久保存在 MongoDB 中,并且每次获取的 ID 是基于上次的结果
  • 5.5 W5500 TCP服务端与客户端
  • 排序算法(四)--快速排序
  • 移动语义和拷贝语义区别、智能指针
  • 深度学习3
  • 论文笔记 网络安全图谱以及溯源算法
  • JavaScript的基础数据类型
  • 241124_基于MindSpore学习Prompt Tuning
  • 【数据分析】基于GEE实现大津算法提取洞庭湖流域水体
  • 手机无法连接服务器1302什么意思?
  • 前端预览pdf文件流
  • 【cocos creator】下拉框
  • Windows系统电脑安装TightVNC服务端结合内网穿透实现异地远程桌面