How do I copy over and re-register custom emoticons and backgrounds to a new account on Messenger?


#1

Problem description:

I have created a new Hotmail address for Messenger use in place of my old one which is now reserved for inquiries. In the process of migrating, I have successfully exported and imported my contact list onto the new account, but when I got to copying my custom emoticons and backgrounds from my old account onto my new one, Messenger did not register them.

Error code/error message:

None, as this doesn’t involve login problems nor does this trigger Messenger to error out.

What has been tried so far:

Restarting MSN; looking in the registry to see if emoticons were configured that way; examining the .dt2 and .id2 files themselves; the first two methods failed, and the third method returned that the .dt2 files are the images themselves, while the .id2 files are binary nonsense.

Messenger version:

Windows Live Messenger 8.5

Windows version:

Windows 7 Ultimate (x64)


#2

This is a big topic with lots of details and I’m going by my brain’s memory and a few tests, so it may not be 100% accurate with some of the versioning details.

There’s at least three versions of the Messenger objectstore.

The first version from 6.0, isn’t portable that I recall but I don’t remember why.
The second and third versions post 6.0 (maybe 6.1/6.2) are encrypted using the e-mail passport name, and can be moved to any machine but due to the encrypted are limited to that specific e-mail address, with the third version (WLM) also using the Passport ID (PUID).

One solution for non-winks is to painfully re-add them yourself using the .dt2 files. In the past I have copied them into a folder, renamed them all to PNG or GIF (ie. rename *.dt2 *.png) and then used Explorer’s thumbnails to see what each file is. The ones you can’t see can just be dragged to a browser which will figure out the file type and display it. There’s probably other good freeware image viewer applications that can do the same with less effort too.

The other solution involves using the MSN Backup tool by Leonardo Bai. It can decrypt the id2 metadata, then backup the assets into the MCO format, and then those can be reinstalled by using the COM object that the old Emoticon/Wink store used. This does result in anything reinstalled using this method will be marked as premium and the Getoption is grayed out when people right-click on them.

Here is MSN Backup 1.22 and MSN Backup 1.34. 1.34 adds WLM support but unfortunately doesn’t seem to be working now for me as it claims the PUID is wrong, although the PUID on :escargot: AFAIK is just 0. With that in mind, it’s probably best to use 1.22 for now if trying this out, but this does unfortunately mean it’s only able to decode assets added pre-WLM as it only supports the MSN version of the format. No harm in trying either though.


#3

Thank you for your hard work in finding a solution. Guess the time you spent offline on MSN really did pay off. :slight_smile:

Since I haven’t added any custom winks, I’ll just go with the manual renaming. It’s painless in the end, and besides, I don’t think that I have many emotes and BGs to re-add anyway. :stuck_out_tongue:

Hopefully, I can just restore the custom emoticons and BGs I had.

As for:

#1

Never knew M$ used yet more ActiveX controls to do the magic for their apps.

#2

Maybe it has something to do with missing msidcrl functions in @valtron’s implementation of the DLL, since the PUID is retrieved via RST authentication. Just my guess. :stuck_out_tongue:


#4

Well, using the manual method and my trusty hex editor, HxD, to determine which emoticons were PNGs or GIFs, the recovery was a success! trkhd

Same thing with the BGs.