An analysis of the FOTA files for Samsung Galaxy Buds/Buds+ (e.g. FOTA_R175XXU0ATH7.bin).
No data inside the file, as far as known, encrypted or somehow else unreadable.
All data inside the FOTA file is little-endian, so the least significant byte comes first (e.g. 0xCAFECAFE is stored as 0xFA 0xCE 0xFA 0xCE).
Every FOTA file begins with the magic number 0xCAFECAFE
(0xFE 0xCA 0xFE 0xCA
) which also appears multiple times inside the binary file.
A 32-bit integer that contains the update file size.
In every file, this is filled with 0x07 0x00 0x00 0x00 0x01 0x00 0x00 0x00
To be further analyzed. However, there are clearly noticable patterns. Probably checksums and/or offset ranges.
In every file, this is filled with 0x02 0x00 0x00 0x04 0x20 0x00 0x00 0x00 0x00 0x00
.
Contains program data, mp3 file data as well as strings.
Different every time. Probably a checksum. To be further analyzed.