In the interest of finding out which partitions are safe to share (e.g., not leaking device-specific keys) in order to create a full firmware for factory restore, here are the sizes and checksums of the partition images after my original extraction from WwR with the option that gave the most partitions (I can't remember what that was called, sorry!). It'd be great if someone with their own backup of these from the pre-OTA firmware could compare to see what's the same/different. We can then package up all the partitions that are the same between each device. TauPan? Hopefully posting checksums of the private partitions is not too much of an information leak
I can confirm I have matches on the following partitions: boot, cam_vpu{1,2,3}, dtbo, lk, lk2, logo, md1dsp, md1rom, scp1/2, spmfw, sspm, trustzone1/2
Different: boot_para, frp, metadata, nvcfg, nvdata, nvram, para, persist, proinfo, protect1/2
My preloader dump (via SP FlashTool) is clipped slightly at the end for some reason, and my system and vendor dumps are far bigger (also done via SP FlashTool). I would expect these to have only one version though because the OTA updater expects them to be the same for everybody.
Ok, I finally got around to comparing those lengths and checksums and
I was a bit surprised by the results:
That's a bit strange. I have lots of mismatches. I've truncated my
images I dumped with SP flash tool and my scatter file with this
program:
https://www.unix.com/unix-for-beginners-que...nulls-file.html(The c-programm in comment #4, not the clearly wrong tr command).
(I have backups of the untruncated versions in my Nextcloud, but I'm
very sure the program is correct and it probably hardly matters.)
Mismatches in boot_para, cache, nvdcfg, nvdata, boot_para, para,
persist are not surprising, as those are well known to contain device
specific information.
The same is probably true for expdb, frp, metadata, proinfo, protect.
sefcfg also appears to contain device specific information. (I've found a 32 byte string in the hexdump, which changes from locked to unlocked state, along with one byte which changes from 01 to 03)
Cache and userdata are highly volatile, so we don't even need to look
at them.
However my (unrooted) boot image is longer (and also has a different checksum).
I have different system and vendor images! Even the recovery is
different! Also the trustzone (tee) images differ.
The only matches I have are: cam_vpu1, 2, 3, dtbo, lk2, lk, logo,
md1dsp, md1rom, preloader, spmfw, sspm (1 and 2).
I have the following sizes and md5sums on files which would be
certainly be included in a flashable firmware:
a616f4eec2c67991587d7cedcaf7cf99 9536401 boot.img
5d684efa830778c340887ef9211db608 14789521 recovery.img
593cb99172165ed468f89ad7779d06a2 3221225472 system.img
ac95bc9994673c2e99b5d170d68474ac 897581056 vendor.img
The following are from my build.prop:
ro.product.first_api_level=28
ro.vendor.build.date=Tue Oct 29 14:01:27 CST 2019
ro.vendor.build.date.utc=1572328887
ro.vendor.build.fingerprint=Planet/Cosmo_Communicator/Cosmo_Communicator:9/PPR1.180610.011/1563439284:user/release-keys
ro.vendor.build.security_patch=2019-07-05
ro.vendor.product.cpu.abilist=arm64-v8a,armeabi-v7a,armeabi
ro.vendor.product.cpu.abilist32=armeabi-v7a,armeabi
ro.vendor.product.cpu.abilist64=arm64-v8a
# begin build properties
# autogenerated by vendor_buildinfo.sh
ro.product.board=k71v1_64_bsp
ro.board.platform=mt6771
ro.product.vendor.manufacturer=Planet
ro.product.vendor.model=Cosmo_Communicator
ro.product.vendor.brand=Planet
ro.product.vendor.name=Cosmo_Communicator
ro.product.vendor.device=Cosmo_Communicator