安卓boot.img镜像文件提取

发布时间 2023-07-07 17:29:44作者: 遥远的相似性

环境要求:Python3

解压刷机包

解压刷机包的目录结构如下:

/home/ubuntu/94e982775c704e889534f291f5522de1
├── META-INF
│   └── com
│       └── android
│           ├── metadata
│           ├── metadata.pb
│           └── otacert
├── payload.bin
└── payload_properties.txt

安装protobuf

python3 -m pip install protobuf==3.17.3
  • 点击下载payload_dumper脚本
  • 解压下载的文件master.zip,解压后的目录结构如下:
/home/ubuntu/master
└── payload_dumper-master
    ├── Dockerfile
    ├── old
    ├── output
    ├── payload_dumper.py
    ├── __pycache__
    │   └── update_metadata_pb2.cpython-310.pyc
    ├── README.md
    ├── requirements.txt
    └── update_metadata_pb2.py

提取boot.img

  • 执行payload_dumper.py进行提取boot.img
ubuntu@VM-16-5-ubuntu:~$ python3 master/payload_dumper-master/payload_dumper.py 94e982775c704e889534f291f5522de1/payload.bin

报错:ModuleNotFoundError: No module named 'bsdiff4'解决方法,安装bsdiff4后,再次执行payload_dumper.py

python3 -m pip install bsdiff4

命令执行完成,提取的img文件,保存在output目录下

/home/ubuntu/master
└── payload_dumper-master
    ├── Dockerfile
    ├── old
    ├── output
    │   ├── abl.img
    │   ├── aop_config.img
    │   ├── bluetooth.img
    │   ├── boot.img
    │   ├── cpucp.img
    │   ├── dsp.img
    │   ├── dtbo.img
    │   ├── engineering_cdt.img
    │   ├── hyp.img
    │   ├── imagefv.img
    │   ├── keymaster.img
    │   ├── modem.img
    │   ├── my_bigball.img
    │   ├── my_carrier.img
    │   ├── my_engineering.img
    │   ├── my_heytap.img
    │   ├── my_manifest.img
    │   ├── my_region.img
    │   ├── my_stock.img
    │   ├── oplus_sec.img
    │   ├── oplusstanvbk.img
    │   ├── product.img
    │   ├── qupfw.img
    │   ├── recovery.img
    │   ├── shrm.img
    │   ├── system_ext.img
    │   ├── system.img
    │   ├── tz.img
    │   ├── uefi.img
    │   ├── uefisecapp.img
    │   ├── vbmeta.img
    │   ├── vbmeta_system.img
    │   ├── vendor_boot.img
    │   ├── vendor_dlkm.img
    │   ├── vendor.img
    │   ├── xbl_config.img
    │   ├── xbl.img
    │   └── xbl_ramdump.img
    ├── payload_dumper.py
    ├── __pycache__
    │   └── update_metadata_pb2.cpython-310.pyc
    ├── README.md
    ├── requirements.txt
    └── update_metadata_pb2.py