I'm trying to unpack (extract) and analyse the firmware of an IP Camera (Xiaomi mjsxj02cm).
I have this tf_recovery.img
that's supposedly a U-Boot image, but I can't unpack it either using dumpimage
or other techniques because mkimage -l
doesn't provide me with enough information.
dumpimage
does nothing:
$ dumpimage -o out tf_recovery.img
$ ls
tf_recovery.img
mkimage -l
doesn't show any useful information:
$ mkimage -l tf_recovery.img
GP Header: Size 27051956 LoadAddr 5799cfc3
file
gives some information, nothing I can use:
$ file tf_recovery.img
tf_recovery.img: u-boot legacy uImage, MVX2##I3g60b5603KL_LX318####[BR:\3757zXZ, Linux/ARM, OS Kernel Image (lzma), 1724412 bytes, Wed Jun 6 08:02:07 2018, Load Address: 0x20008000, Entry Point: 0x20008000, Header CRC: 0x5799CFC3, Data CRC: 0x2FF27A1D
What I've already tried without success
- Multiple versions of u-boot, including the latest (v2019.04-rc1) built from source.
- Tried every image type explicitly, by using
-T
parameter ofdumpimage
- Simply extracting the image like if it was a compressed archive
- Searched for, to the best of my abilities, any alternative methods online
I'd really appreciate if anyone can provide additional ideias on how to unpack this. Thank you!