参考

解包

payload.bin

工具:https://github.com/vm03/payload_dumper,Windows版本:https://mrzzoxo.lanzouw.com/iR65zpaueyd

system.dat.br

工具:https://github.com/google/brotli

1
brotli -d system.dat.br -o system.dat

system.dat

工具:https://github.com/xpirt/sdat2img

需要Python 2.7+环境支持

1
sdat2img.py system.transfer.list system.new.dat system.img

打包

查看原img信息

确保打包的后img包和原包格式一致,能被系统识别

1
2
file system.img                 #查看修改前system.img格式
ls -l system.img #查看修改前system.img分区大小

打包为img格式

工具:https://github.com/rendiix/make_ext4fs

1
2
3
4
5
6
7
8
make_ext4fs -s -l 3221225472 -a system system.img /system
#参数说明:
-s 表示安静处理,不输出动作,可以不带该参数
-l 表示最大的文件大小(system分区大小)单位也可以为MB
注:(其中的-l 参数3221225472数就是system.img的分区大小总字节数,需换成自己合适的参数
-a 表示Android的分区名,比如我这里是system
system.img 表示输出文件名
/system 表示被打包的输入目录

::: warning
打包完成后输入file system.img查看镜像信息,如果文件格式和原来不一样,需要转换文件格式
:::

1
simg2img system.img system_new.img        #转换为ext4格式

.img格式转.dat

工具:https://github.com/jazchen/rimg2sdat 需要Python 2.7.5+环境支持

1
rimg2sdat.py system_new.img -o /rom -v 4

成功执行后在rom目录转出system.new.datsystem.transfer.list两个文件

.dat.br

在转出的rom目录手动新建一个system.patch.dat的空文件

1
brotli -q 0 /rom/system.new.dat