Main/News > MSN 5 API (you are here)

What is this with MSN 5 and the MSN API !?! (By Timothy - Mess.be)

Allright, the first reason that some programs still work on win 9x (that's 95, 98, ME and also 2k in this case) is that it will remove the old messenger, but it keep the reference in the registry linked to the replaced messenger. With windows XP its another case, since XP uses windows messenger and installs MSN Messenger to another dir it will keep the reference to windows messenger.

That was thing number one why it looks like MSN 5 doesn't has a API in XP. I will give a way to fix it (but doesn't seem to work yet on my own computer) after I have explained what happened with the MSN API. If you will take a look on the MSN 4.7 API you would find the following API`s in the messenger execute:

//msmsg.exe
//Messenger Type Library
//Version: 1.0
Messenger;
GUID = {218CB45F-20B6-11D2-8E17-0000F803A446};

//msmsg.exe/2
//Messenger Private Type Library
//Version: 1.0
MessengerPrivate;
GUID = {53CED51D-432B-45B2-A3E0-0CE2C24235D4};

//msmsg.exe/3
//Messenger API Type Library
//Version: 1.0
MessengerAPI;
GUID = {E02AD29E-80F5-46C6-B416-9B3EBDDF057E};

//msmsg.exe/4
//Messenger AddIns Type Library
//Version: 1.0
MessengerAddIns;
GUID = {3201590C-8C63-4558-8142-82C29FC695E9};

This was the old situation; The most common used API was the `Messenger Type Library´ this one was available from version 2.x until 4.x. The second and third one where added to MSN Messenger 4.6 and to Windows Messenger 4.5. If we take a look at msn 5 its API functions you will see the following list:

//msnmsgr.exe
//Messenger Private Type Library
//Version: 1.0
MessengerPrivate;
GUID = {53CED51D-432B-45B2-A3E0-0CE2C24235D4};

//msnmsgr.exe/2
//Messenger API Type Library
//Version: 1.0
MessengerAPI;
GUID = {E02AD29E-80F5-46C6-B416-9B3EBDDF057E};

//msnmsgr.exe/3
//Messenger Dispatch Implementation
//Version: 1.0
DispImpl;
GUID = {9071135F-52C4-4D38-A787-2C5367CB5075};

And now compare both lists... Yes, the Messenger Type Library has been removed !!! Microsoft is forcing to use the Messenger API Type Library (or as I call it version 2.0) the other API`s in MSN are about useless to normal bot creators... It still means you can create add-ons and bots... but limited to the new API (that don't give you as much flexibility as the 1.0 api)... With it you can create things like groupblockers, or contact list viewers, a little chat bot, a conversation menager... but it's all visible in MSN...

Fix for XP… kind of…

This should be the fix for XP (but it gives errors at my computer) and it will disable the windows messenger's 4.x APIs. You will have to patch the registry to msn messenger`s needs… first of all a warning… Make backups of everything you change !!!
Second of all you have to know where the computer's API is hidden in the registry. But before you go adventuring in it here it is: HKEY_CLASSES_ROOT\TypeLib\ Allright, now you have a long long long list with all your computer API GUID's . Now you have to find the right one, lets start with the Messenger Private Type Library. If you look in the info I gave in the list above you can see the GUID is {53CED51D-432B-45B2-A3E0-0CE2C24235D4}. So lets find and open this one. Now you have to know the version, and in this case it's a easy choice: 1.0 ... Now you have to open the following part called 0 and proceed to the next part called Win32. And look, we have found the main part of the MSN API. If you look at the only value it will probably be "C:\Program Files\Messenger\msmsgs.exe\2"... Do you think what I think? We could change this one ! Lets see, first we will change the application dir, on most cases it will be "C:\Program Files\MSN Messenger\msnmsgs.exe" the second thing we have to look at is the order of the api... In this case it would be the first one, so we it would be \1 but no need to define the first one. So just leave that part, and repeat this with the other 2 API's If we take a look now on what we have:

Key Name: [HKEY_CLASSES_ROOT\TypeLib\{53CED51D-432B-45b2-A3E0-0CE2C24235D4}\1.0\0\win32]
Value: "C:\Program Files\MSN Messenger\msnmsgs.exe"

Key Name: [HKEY_CLASSES_ROOT\TypeLib\{E02AD29E-80F5-46C6-B416-9B3EBDDF057E}\1.0\0\win32]
Value: "C:\Program Files\MSN Messenger\msnmsgs.exe\2"

Key Name: [HKEY_CLASSES_ROOT\TypeLib\{9071135F-52C4-4D38-A787-2C5367CB5075}\1.0\0\win32]
Value: "C:\Program Files\MSN Messenger\msnmsgs.exe\3"

Makes sense now? If you want to automate this process you can create a .reg file and put the following info in this little file (dont forget the first line ;) :

Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\TypeLib\{53CED51D-432B-45b2-A3E0-0CE2C24235D4}\1.0\0\win32]
@="C:\\Program Files\\MSN Messenger\\msnmsgr.exe"

[HKEY_CLASSES_ROOT\TypeLib\{E02AD29E-80F5-46C6-B416-9B3EBDDF057E}\1.0\0\win32]
@="C:\\Program Files\\MSN Messenger\\msnmsgr.exe\\2"

[HKEY_CLASSES_ROOT\TypeLib\{9071135F-52C4-4D38-A787-2C5367CB5075}\1.0\0\win32]
@="C:\\Program Files\\MSN Messenger\\msnmsgr.exe\\3"

And if you want to restore your MSN 4.x version's API then use the following .reg file (in case you fuck all things up ;))

Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\TypeLib\{218CB45F-20B6-11D2-8E17-0000F803A446}\1.0\0\win32]
@="C:\\Program Files\\Messenger\\msmsg.exe"

[HKEY_CLASSES_ROOT\TypeLib\{53CED51D-432B-45B2-A3E0-0CE2C24235D4}\1.0\0\win32]
@="C:\\Program Files\\Messenger\\msmsg.exe\\2"

[HKEY_CLASSES_ROOT\TypeLib\{E02AD29E-80F5-46C6-B416-9B3EBDDF057E}\1.0\0\win32]
@="C:\\Program Files\\Messenger\\msmsg.exe\\3"

[HKEY_CLASSES_ROOT\TypeLib\{3201590C-8C63-4558-8142-82C29FC695E9}\1.0\0\win32]
@="C:\\Program Files\\Messenger\\msmsg.exe\\4"

Now, just try, I will keep you informed if I find more things on this mfckng new API. If you manage to get it on please inform me.

Article By Timothy wrote on 10/26/02 for mess.be