<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.nina.chat/index.php?action=history&amp;feed=atom&amp;title=Protocols%2FMSNP%2FMSNC%2FMSN_Object</id>
	<title>Protocols/MSNP/MSNC/MSN Object - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.nina.chat/index.php?action=history&amp;feed=atom&amp;title=Protocols%2FMSNP%2FMSNC%2FMSN_Object"/>
	<link rel="alternate" type="text/html" href="https://wiki.nina.chat/index.php?title=Protocols/MSNP/MSNC/MSN_Object&amp;action=history"/>
	<updated>2026-06-26T15:39:14Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.41.1</generator>
	<entry>
		<id>https://wiki.nina.chat/index.php?title=Protocols/MSNP/MSNC/MSN_Object&amp;diff=2364&amp;oldid=prev</id>
		<title>AD: Created page with &quot;&lt;div id=&quot;text&quot;&gt; This section tries to explain what the MSN Object is, what it is being used for and how to create your own MSN Object. The MSN Object was introduced in MSN Mes...&quot;</title>
		<link rel="alternate" type="text/html" href="https://wiki.nina.chat/index.php?title=Protocols/MSNP/MSNC/MSN_Object&amp;diff=2364&amp;oldid=prev"/>
		<updated>2020-05-29T00:09:56Z</updated>

		<summary type="html">&lt;p&gt;Created page with &amp;quot;&amp;lt;div id=&amp;quot;text&amp;quot;&amp;gt; This section tries to explain what the MSN Object is, what it is being used for and how to create your own MSN Object. The MSN Object was introduced in MSN Mes...&amp;quot;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;&amp;lt;div id=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
This section tries to explain what the MSN Object is, what it is being used for and how to create your own MSN Object. The MSN Object was introduced in MSN Messenger 6.0 and has since then been expanded to meet new features of newer client versions. The reason why it was introduced was to identify Backgrounds, Custom Emoticons, (Dynamic) Display Pictures and Winks (introduced in MSN Messenger 7.0).&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
In this section we will use the data of the following example to discuss how it has to be made. As you can see the MSN Object is just a custom XML tag.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;example&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;div class=&amp;quot;title&amp;quot;&amp;gt;Example 1&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
	&amp;lt;div class=&amp;quot;body&amp;quot;&amp;gt;&lt;br /&gt;
A typical MSN Object:&lt;br /&gt;
		&amp;lt;div class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
&amp;amp;lt;msnobj Creator=&amp;quot;buddy1@hotmail.com&amp;quot; Size=&amp;quot;24539&amp;quot; Type=&amp;quot;3&amp;quot; Location=&amp;quot;TFR2C.tmp&amp;quot; Friendly=&amp;quot;AAA=&amp;quot; SHA1D=&amp;quot;trC8SlFx2sWQxZMIBAWSEnXc8oQ=&amp;quot; SHA1C=&amp;quot;U32o6bosZzluJq82eAtMpx5dIEI=&amp;quot;/&amp;amp;gt;&lt;br /&gt;
		&amp;lt;/div&amp;gt;&lt;br /&gt;
	&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The MSN Object always consists of the following fields:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
	&amp;lt;li&amp;gt;&lt;br /&gt;
		&amp;lt;div class=&amp;quot;title&amp;quot;&amp;gt;Creator&amp;lt;/div&amp;gt;&lt;br /&gt;
		&amp;lt;div class=&amp;quot;content&amp;quot;&amp;gt;&lt;br /&gt;
The Creator field contains the e-mail address of the person who uses (or sends) the file.&lt;br /&gt;
		&amp;lt;/div&amp;gt;&lt;br /&gt;
	&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
	&amp;lt;li&amp;gt;&lt;br /&gt;
		&amp;lt;div class=&amp;quot;title&amp;quot;&amp;gt;Size&amp;lt;/div&amp;gt;&lt;br /&gt;
		&amp;lt;div class=&amp;quot;content&amp;quot;&amp;gt;&lt;br /&gt;
The Size field contains the size of the file in bytes.&lt;br /&gt;
		&amp;lt;/div&amp;gt;&lt;br /&gt;
	&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
	&amp;lt;li&amp;gt;&lt;br /&gt;
		&amp;lt;div class=&amp;quot;title&amp;quot;&amp;gt;Type&amp;lt;/div&amp;gt;&lt;br /&gt;
		&amp;lt;div class=&amp;quot;content&amp;quot;&amp;gt;&lt;br /&gt;
The Type field indicates the type of the file. If the value of the field is &amp;lt;code&amp;gt;2&amp;lt;/code&amp;gt; we are dealing with a Custom Emoticon, when it's &amp;lt;code&amp;gt;3&amp;lt;/code&amp;gt; a Display Picture, &amp;lt;code&amp;gt;5&amp;lt;/code&amp;gt; for a Background image, &amp;lt;code&amp;gt;7&amp;lt;/code&amp;gt; for a Dynamic Display Picture and &amp;lt;code&amp;gt;8&amp;lt;/code&amp;gt; for an Wink. The meaning of &amp;lt;code&amp;gt;1&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;4&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;6&amp;lt;/code&amp;gt; is still unknown.&lt;br /&gt;
		&amp;lt;/div&amp;gt;&lt;br /&gt;
	&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
	&amp;lt;li&amp;gt;&lt;br /&gt;
		&amp;lt;div class=&amp;quot;title&amp;quot;&amp;gt;Location&amp;lt;/div&amp;gt;&lt;br /&gt;
		&amp;lt;div class=&amp;quot;content&amp;quot;&amp;gt;&lt;br /&gt;
The Location field contains the name of the file under which it is stored on the creators computer.&lt;br /&gt;
		&amp;lt;/div&amp;gt;&lt;br /&gt;
	&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
	&amp;lt;li&amp;gt;&lt;br /&gt;
		&amp;lt;div class=&amp;quot;title&amp;quot;&amp;gt;Friendly&amp;lt;/div&amp;gt;&lt;br /&gt;
		&amp;lt;div class=&amp;quot;content&amp;quot;&amp;gt;&lt;br /&gt;
The Friendly field can contain a friendly name for the file in Unicode format and is encoded with Base64. At the moment it is only being used with background images, Winks and display pictures which you can buy and download.&lt;br /&gt;
		&amp;lt;/div&amp;gt;&lt;br /&gt;
	&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
	&amp;lt;li&amp;gt;&lt;br /&gt;
		&amp;lt;div class=&amp;quot;title&amp;quot;&amp;gt;SHA1D&amp;lt;/div&amp;gt;&lt;br /&gt;
		&amp;lt;div class=&amp;quot;content&amp;quot;&amp;gt;&lt;br /&gt;
The SHA1D field contains the SHA-1 hash from the data of the file which is later encoded with Base64. This value can be used to check if the file sent has been received without errors and that it is the file you expected. This field can also be called the &amp;lt;b&amp;gt;SHA-1 Data&amp;lt;/b&amp;gt; field.&lt;br /&gt;
		&amp;lt;/div&amp;gt;&lt;br /&gt;
	&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
	&amp;lt;li&amp;gt;&lt;br /&gt;
		&amp;lt;div class=&amp;quot;title&amp;quot;&amp;gt;SHA1C&amp;lt;/div&amp;gt;&lt;br /&gt;
		&amp;lt;div class=&amp;quot;content&amp;quot;&amp;gt;&lt;br /&gt;
The SHA1C field contains the SHA-1 hash of all the previous fields and is later encoded with Base64 as well. Though be aware that not everything is being used, only the names and values. You have to append the field value to the field name and the next pair to that one, demonstrated in the following example. This field can also be called the &amp;lt;b&amp;gt;SHA-1 Checksum&amp;lt;/b&amp;gt; field.&lt;br /&gt;
		&amp;lt;/div&amp;gt;&lt;br /&gt;
	&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;example&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;div class=&amp;quot;title&amp;quot;&amp;gt;Example 2&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
	&amp;lt;div class=&amp;quot;body&amp;quot;&amp;gt;&lt;br /&gt;
Input for the SHA-1 hash for the given MSN Object:&lt;br /&gt;
		&amp;lt;div class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
Creatorbuddy1@hotmail.comSize24539Type3LocationTFR2C.tmpFriendlyAAA=SHA1DtrC8SlFx2sWQxZMIBAWSEnXc8oQ=&lt;br /&gt;
		&amp;lt;/div&amp;gt;&lt;br /&gt;
	&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;subtitle&amp;quot;&amp;gt;Downloadable content&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
As with MSN Messenger 7.0 not only were Winks added, but downloadable content as well. This allows you to buy backgrounds, (dynamic) display pictures or emoticons and then download it directly to your computer. However, if you have paid for it, your contact can't add the emoticon to his own list. This is the result of some minor adjustments of the MSN Object.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Therefore, the following fields has been added:&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
	&amp;lt;li&amp;gt;&lt;br /&gt;
		&amp;lt;div class=&amp;quot;title&amp;quot;&amp;gt;contenttype&amp;lt;/div&amp;gt;&lt;br /&gt;
		&amp;lt;div class=&amp;quot;content&amp;quot;&amp;gt;&lt;br /&gt;
The contenttype field indicates what type of content the file is. If it's free to download the value is &amp;lt;code&amp;gt;D&amp;lt;/code&amp;gt;, but if you need to pay for it, the value is &amp;lt;code&amp;gt;P&amp;lt;/code&amp;gt;. If the value is &amp;lt;code&amp;gt;P&amp;lt;/code&amp;gt;, it will prevent the official client from adding it to the other users list.&lt;br /&gt;
		&amp;lt;/div&amp;gt;&lt;br /&gt;
	&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
	&amp;lt;li&amp;gt;&lt;br /&gt;
		&amp;lt;div class=&amp;quot;title&amp;quot;&amp;gt;contentid&amp;lt;/div&amp;gt;&lt;br /&gt;
		&amp;lt;div class=&amp;quot;content&amp;quot;&amp;gt;&lt;br /&gt;
The contentid field contains the identifier of the item which the Content Partner gave it.&lt;br /&gt;
		&amp;lt;/div&amp;gt;&lt;br /&gt;
	&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
	&amp;lt;li&amp;gt;&lt;br /&gt;
		&amp;lt;div class=&amp;quot;title&amp;quot;&amp;gt;partnerid&amp;lt;/div&amp;gt;&lt;br /&gt;
		&amp;lt;div class=&amp;quot;content&amp;quot;&amp;gt;&lt;br /&gt;
The partnerid field contains the name of the Content Partner. American Greetings/Blue Mountain for example, is identified by &amp;lt;code&amp;gt;AG&amp;lt;/code&amp;gt;. This field applies only for &amp;lt;b&amp;gt;Custom Emoticons&amp;lt;/b&amp;gt;. But if this field is not present in the Content XML file when it was downloaded, the value of this field is &amp;lt;code&amp;gt;-1&amp;lt;/code&amp;gt;.&lt;br /&gt;
		&amp;lt;/div&amp;gt;&lt;br /&gt;
	&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
	&amp;lt;li&amp;gt;&lt;br /&gt;
		&amp;lt;div class=&amp;quot;title&amp;quot;&amp;gt;stamp&amp;lt;/div&amp;gt;&lt;br /&gt;
		&amp;lt;div class=&amp;quot;content&amp;quot;&amp;gt;&lt;br /&gt;
The stamp field contains the Base64 encoded signature of the file. It is a S/MIME signature of the Base64 encoded hash of the Content cabinet file and is signed by the MSN Content Authority. The stamp field is used in the Content XML file to make sure that the file isn't modified. Currently, it's only being included in the MSN Object for dynamic (Flash) contents like Winks and Dynamic Display Pictures.&lt;br /&gt;
		&amp;lt;/div&amp;gt;&lt;br /&gt;
	&amp;lt;/li&amp;gt;&lt;br /&gt;
		&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Note that all extra fields are &amp;lt;b&amp;gt;NEVER&amp;lt;/b&amp;gt; part of the data which is used to create the &amp;lt;b&amp;gt;SHA-1 Checksum&amp;lt;/b&amp;gt;. &amp;lt;!-- If you want to experience how it works, you should check the &amp;lt;a href=&amp;quot;exp_msnobject.html&amp;quot;&amp;gt;Experience - MSN Object&amp;lt;/a&amp;gt; section, in which you can create and check an custom made MSN Object. --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;example&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;div class=&amp;quot;title&amp;quot;&amp;gt;Example 3&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
	&amp;lt;div class=&amp;quot;body&amp;quot;&amp;gt;&lt;br /&gt;
A typical MSN Object for a Wink (note that the stamp is truncated):&lt;br /&gt;
		&amp;lt;div class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
&amp;amp;lt;msnobj Creator=&amp;quot;buddy1@hotmail.com&amp;quot; Size=&amp;quot;124830&amp;quot; Type=&amp;quot;8&amp;quot; Location=&amp;quot;TFR1B9.dat&amp;quot; Friendly=&amp;quot;AAA=&amp;quot; SHA1D=&amp;quot;iO7E1HrpNXW+aUjtQQaYeNWNOlo=&amp;quot; SHA1C=&amp;quot;FKm7FTcpo5IrvfLkK8j5jJ9+y2w=&amp;quot; contenttype=&amp;quot;P&amp;quot; contentid=&amp;quot;W3079287&amp;quot; stamp=&amp;quot;MIIIngYJKoZIhvcNAQcCoIIIjzCCCIsCAQ...&amp;quot;/&amp;amp;gt;&lt;br /&gt;
		&amp;lt;/div&amp;gt;&lt;br /&gt;
	&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;subtitle&amp;quot;&amp;gt;Dynamic display pictures&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Dynamic display pictures in MSN Messenger 7.0 consists of two files, a so-called &amp;quot;downlevel&amp;quot; image and the flash file. The reason why downlevel image is being used is that if a client doesn't support a dynamic display picture, it still can view a display picture. But if the client does support it, it should use the value of the &amp;lt;code&amp;gt;avatarcontentid&amp;lt;/code&amp;gt; field from the &amp;quot;downlevel&amp;quot; MSN Object to get the MSN Object for the Dynamic Display Picture.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
The extra fields for the &amp;quot;downlevel&amp;quot; MSN Object are:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
	&amp;lt;li&amp;gt;&lt;br /&gt;
		&amp;lt;div class=&amp;quot;title&amp;quot;&amp;gt;avatarid&amp;lt;/div&amp;gt;&lt;br /&gt;
		&amp;lt;div class=&amp;quot;content&amp;quot;&amp;gt;&lt;br /&gt;
The avatarid field indicates what type of avatar is being referenced to. This field is currently only being seen with &amp;lt;code&amp;gt;{6AD16E96-BC60-401B-89E2-5BB545DD2BF0}&amp;lt;/code&amp;gt; as value and is probably being used as a reference to the Shockwave Flash player. The Base64 encoded variant of this value is being sent as Context parameter if a client wants to receive the Shockwave Player XML object with the MSN Object for the dynamic display picture in it.&lt;br /&gt;
		&amp;lt;/div&amp;gt;&lt;br /&gt;
	&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
	&amp;lt;li&amp;gt;&lt;br /&gt;
		&amp;lt;div class=&amp;quot;title&amp;quot;&amp;gt;avatarcontentid&amp;lt;/div&amp;gt;&lt;br /&gt;
		&amp;lt;div class=&amp;quot;content&amp;quot;&amp;gt;&lt;br /&gt;
The avatarcontentid field contains the SHA-1 hash of the cabinet file which contains the content and is later encoded with Base64 as well.&lt;br /&gt;
		&amp;lt;/div&amp;gt;&lt;br /&gt;
	&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;example&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;div class=&amp;quot;title&amp;quot;&amp;gt;Example 4&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
	&amp;lt;div class=&amp;quot;body&amp;quot;&amp;gt;&lt;br /&gt;
A typical &amp;quot;downlevel&amp;quot; MSN Object for a Dynamic Display Picture:&lt;br /&gt;
		&amp;lt;div class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
&amp;amp;lt;msnobj Creator=&amp;quot;buddy1@hotmail.com&amp;quot; Size=&amp;quot;7449&amp;quot; Type=&amp;quot;3&amp;quot; Location=&amp;quot;TFR15A.dat&amp;quot; Friendly=&amp;quot;AAA=&amp;quot; SHA1D=&amp;quot;Ean0sx1KfEzJNCInKi/pPd4QRRA=&amp;quot; SHA1C=&amp;quot;sHQUW0XyGV2nl7EjindApWPHyHI=&amp;quot; avatarid=&amp;quot;{6AD16E96-BC60-401B-89E2-5BB545DD2BF0}&amp;quot; avatarcontentid=&amp;quot;m6T1/vaLR3dV1PflhuybYj4q9V8=&amp;quot;/&amp;amp;gt;&lt;br /&gt;
		&amp;lt;/div&amp;gt;&lt;br /&gt;
	&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;example&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;div class=&amp;quot;title&amp;quot;&amp;gt;Example 5&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
	&amp;lt;div class=&amp;quot;body&amp;quot;&amp;gt;&lt;br /&gt;
A typical MSN Object for a Dynamic Display Picture (note that the stamp is truncated):&lt;br /&gt;
		&amp;lt;div class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
&amp;amp;lt;msnobj Creator=&amp;quot;buddy1@hotmail.com&amp;quot; Size=&amp;quot;64903&amp;quot; Type=&amp;quot;7&amp;quot; Location=&amp;quot;TFR15A.dat&amp;quot; Friendly=&amp;quot;AAA=&amp;quot; SHA1D=&amp;quot;m6T1/vaLR3dV1PflhuybYj4q9V8=&amp;quot; SHA1C=&amp;quot;jn8Vlq5B/u8HhRz6kP5POrq65Zs=&amp;quot; stamp=&amp;quot;MIIIngYJKoZIhvcNAQcCoIIIjzCCCIsCAQ...&amp;quot;/&amp;amp;gt;&lt;br /&gt;
		&amp;lt;/div&amp;gt;&lt;br /&gt;
	&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
		&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:MSN]]&lt;br /&gt;
[[Category:Protocols/MSNP]]&lt;br /&gt;
[[Category:Work_In_Progress]]&lt;/div&gt;</summary>
		<author><name>AD</name></author>
	</entry>
</feed>