环境要求: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