The MSNObject is the way of MSNP to identify contents: Display Pictures, Custom Emoticons, Backgrounds, Voice Clips, etc.
The MSNObject has always the following format
<msnobj Creator="firstname.lastname@example.org" Size="24539" Type="3" Location="TFR2C.tmp" Friendly="AAA=" SHA1D="trC8SlFx2sWQxZMIBAWSEnXc8oQ=" SHA1C="U32o6bosZzluJq82eAtMpx5dIEI="/>
This field specify the person who made the object, in other words, the sender. Typically is the address of the buddy.
The total size of the data the object represents, in bytes.
Indicates which kind of transaction this object describes.
The known types are documented in the Reference page.
Contains the filename under which the filename will be, or has been stored.
Contains the name of the picture in Unicode (UTF-16 Little Endian) format. The string is encoded with Base64. For most types of descpritors this field is a null character or 'AAA=' when encoded.
The SHA1D field contains the SHA1 hash of the images data encoded in Base64. It's also known as the Data Hash or the SHA1 Data Field.
Contains all previous fields hashed with SHA1, and then encoded in Base64. This field is better known as the Checksum or SHA1 Checksum Field. The string format must be hashed to get the resulting SHA1C value looks similar to:
It is suspected, but not verified, that the order in which the fields are hashed must be the same as the order of the fields in the XML format.