I've poked around in some of the Mac versions' files, and although I've found various references to the things that need to be changed, just like on the Windows versions, editing them doesn't seem to make any difference.
Some of the files I've found that look like prime targets for editing:
(The .app filenames might differ, these just happen to be what I named them to identify them - I think they're probably just Microsoft Messenger.app on a fresh install)
5.1.1:
Microsoft Messenger 5.1.1.app/Contents/MacOS/Microsoft MessengerMicrosoft Messenger 5.1.1.app/SharedSupport/Microsoft Messenger Daemon.app/Contents/Microsoft Messenger Daemon
(Will add more later, but I think they're all quite similar.)
Not all doom and gloom however, I haven't had zero progress, because Messenger for Mac 3.0.0 only needs the MSNP server, so I was able to twiddle my hosts file to point it at Escargot - and it works...
If you want to test this, add the following line to /etc/hosts
35.185.201.91 messenger.hotmail.com
I don't yet know how late a version of OSX that'll run on, because I've only got Tiger to test PowerPC clients on. At a push it might work on Snow Leopard if you manually install Rosetta, but I can't verify that.
So, small victories. I'll continue poking around to see if I can figure out where it's pulling these versions are pulling their domain names from.
Edited
Designs
Child items ...
Show closed items
Linked items 0
Link issues together to show that they're related.
Learn more.
@tristanleboss Thanks for that, I've not yet looked into any of the non-MSN stuff, but I noticed a bunch of the Windows Messenger clients have multiple other connection types too. Beyond my knowledge at the moment, but might be interesting for future investigation.
Still haven't worked out where these versions are storing their server URLs, but 1.0r065 works too - once again had to edit my hosts file. Running on MacOS 9.2.2.
Dumb question, but how are you looking for the strings? grep -ri always works for me on windows when there is something to be found, but it's possible on the Mac version they're stored as UTF-16.
I'm using Hex Fiend on MacOS and HxD on Windows. I've also scanned through them manually when I've not found the strings I'm looking for, just to make sure it hasn't missed them. I don't quite understand, they're not stored in any obvious format (if they're in the executables) as far as I can tell, not byte-flipped or UTF-16 unless I've totally missed them. They must be stored somewhere though, so I'm a bit baffled at the moment.
No problem, I should upload those versions for people to play with anyway, I thought the Windows versions were probably higher priority for uploading but the Mac ones aren't very big anyway, and I don't have many of them. Will provide binaries shortly.
The earlier ones seem to be a single executable, the later ones are .app folders with a bunch of things inside them. As I mentioned before, Microsoft Messenger and Microsoft Messenger Daemon seem to contain the strings relating to the connection URLs, though I've tried changing all the ones I can find without success. The older versions seem not to contain those strings at all.
Edit: I'll upload the proper installers on Archive.org at some point, so I can link them on the forum.
Yeah, it's quite confusing, they must be in there somewhere, encoded somehow I guess, I'm a bit stuck at this point. They probably have to be domains though, because altering the host file works.
07 47 (1863 hex) appears in several locations. Can you edit each one to a different number, then run it again and see which port it tries to connect to? Then once we know which of them is the port number, the url is probably going to be near it. Repeat for each version and look for what's common...
(specifically, 1.0.0, 2.0.0, 2.1.0, 2.5.1, 3.0.0 since they're most similar)
6.0.3 is the lower version that works in Intel 32bit without Rosetta, but uses MSNP13/14 and SSLv2. I was able to replace strings using Hex Fiend, but SSL will fail because Escargot server doesn't accept SSLv2:
Using an HTTP proxy will circumvent this issue allowing Messenger talk with Escargot servers, but unable to login (maybe because it's using MSNP14):
I hope this information is useful!
Update:
MSNMS requests
> VER 8 MSNP14 MSNP13 CVR0< VER 8 MSNP14> CVR 9 0x0409 mac 10.9.4 i386 macmsgs 6.0.3 macmsgs xxxxxx@xxxx.xx< CVR 9 6.0.3 6.0.3 6.0.3 https://escargot.log1p.xyz https://escargot.log1p.xyz> USR 10 TWN I xxxxxx@xxxx.xx< USR 10 TWN S ct=1,rver=1,wp=FS_40SEC_0_COMPACT,lc=1,id=1
Nice work! And I've been trying to maneuver MSN Messenger for Mac 1.0 on SheepShaver whilst struggling with getting it to connect to a network interface.
Maybe @valtron could find out how to get SSLv2 up and running on his server, and if its a thing that can be implemented in either the Python code or the certs themselves, then people could test MSN for Mac 3.x+ with the Escargot dev server themselves.
I am trying to use the hosts file trick on my G4 with Tiger and another G4 with OS 9 with v3.0.0 and v2.5.1 respectively, but the connection attempts always time out as if the host file was not modified at all. Is there another solution that might work, like a prebuilt application with the necessary changes?
I was just playing about with MSN 6.01 on Mac OS 10.13.6. Edited the host file on Mac to "35.185.201.91 messenger.hotmail.com" and in Terminal typed 'nettop' >enter - This monitors out going connections by IP/Port. It does try to connect to 35.185.201.91 but when it fails it then tries to connect to "91.201.185.35.bc.googleusercontent.com:1863". It then says it can't sign in. Once it closes this connection the "91.201.XX.XX" one disappears. Must be 100% down to the SSLv2. Has anyone got a live SSLV2 server working anywhere that maybe this could be tried on? Give it a go yourself. Try it.
Just to clarify, SSLv2 is SSL 2.0, and @valtron's production server for Escargot is Caddy, which doesn't support any SSL or old TLS ciphers. As far as I know, he won't be switching to something more flexible in HTTPS like Apache or nginx because he doesn't want to deal with manually setting up any certificates, so don't expect support for Messenger:mac on the live server (or any MSN version from 5.0 - 7.5 working properly on old systems; those require HTTPS to authenticate) anytime soon. As for when someone runs their own Escargot server, they would have to set up a production server that supports SSL and the necessary ciphers and convert the Caddy configuration to the one of the other server for it to support Messenger:mac.
With the help of someone named "Sauce" and soem guesswork of my own, I was able to pinpoint where messenger.hotmail.com is stored for Messenger:mac 1.0.
First of all, "Sauce" suggested I use ResEdit (a Macintosh resource viewer, it seems) to look for the string in the binary. At first, I looked in the string table and had no luck. But when I found out that Mac OS has a sort of registry in the form of specialized files, I plopped MSN's in a hex editor (/System/Preferences/MSN Messenger Preferences) and searched for messenger.hotmail.com. To my surprise, it was in there as plain as day inbetween the usual binary junk, and after noticing it had a resource name (MSNp), I looked for that in the application and did the same search, which yielded the same result. After replacing the string in both locations, I opened Messenger:mac and tried to log in, which I was able to do. I was also able to send messages to one of my accounts along with receiving them, too.
@valtron If you're interested in patching Messenger:mac up to whatever was last to support MD5 auth, then locate the MSNp resource in the main program with ResEdit, replace messenger.hotmail.com with the usual (do the same in the preference file in case), and then give it a go. :p
Ghost Userchanged title from Native Mac Support for the MSN Frontend to Native Mac Support for MSN Messenger
changed title from Native Mac Support for the MSN Frontend to Native Mac Support for MSN Messenger
Now that I look back, I'm not sure if anyone who's reported on MSN:mac for OSX post-3.0 not working tried redirecting login.live.com since Escargot has an RST.srf endpoint. If anyone's willing to try that out then that'd be greatly appreciated.
EDIT: OK nvm so I forgot the person who tested 6.0.3 did try to reroute the login server to Escargot and showed the SSLv2 problem. Honestly I just forgot about that and only focused on the GitLab comments. Will probably have to leave the issue stashed until there's a change in production servers (preferably Apache :p).
This year I was able to get MSN:mac 2.0 working on Mac OS 9.2 (QEMU) with the same patching method as 1.0 and I was going to get an OS X 10.2 VM set up too to at least try to patch and test 3.0 and possibly 3.5.x, but it seems to be super laggy even with like 4 GB of RAM configured. At least I'm getting confirmation that more versions work (even if others already got them working).
Now I got around to testing 2.5.1 on 9.2 as well and it appears this is when the Mac clients started using MSNP8 (enhanox said this version used MSNP5/6, but maybe this was a fluke or he tested a different build?). This time in addition to the MSNp resource edit I had to edit the 15th string in the STR# string table, ID 1102. That particular string is the Nexus URL, and the client connects to it with either SSL 2 or 3 but for some reason on SSL 3 specifies TLS ciphers. Anyway I have reason to believe 2.5.x and up are the clients currently not supported by Escargot, not 3.5.1 (or maybe 3.0 was the MD5 version for OS X clients and Microsoft didn't exactly have a straightforward versioning system for the Mac clients...).
Testing on my iMac G4 running Mac OS X Panther 10.3.9 (and 33.6kbps dial up because why not?) - using the HOSTS file change in the wiki:
M68k MSN Messenger 1.3; can login fine, but cannot send/receive messages, have to sign out/in for contact changes to occur, no "Contact added you" request on my other account on PC. Seems to get stuck on "Verifying User" - I didnt copy the Server Chat text (can do if requested).
MSN 2.0; logs in fine, but doesn't alert other contacts to online/offline change and messages don't get sent or received.
MSN 2.1; logs in fine, can add contact and send/receive messages perfectly fine. Logging in alerted my PC I logged on/off, etc.
MSN 2.5.1 is actually for Mac OS 9 (which can run in Classic Mode) and was the last release. However, it seemed the host modification didn't work in Classic Mode and I was unable to find the host file mentioned in the wiki in my Classic System Folder.
MSN 3.0; this is the latest version I could get to work, with sending/receiving working fine from both sides.
MSN 3.5; The copy from the ZIP didn't work, but the copy I had from Office 2004 launched but fails at login (I believe it was previously mentioned this is likely due to SSL, and I have no desire to setup MITMProxy currently)
Hmm, not sure if I was able to test 2.0, but yeah 2.1 was working for me as well. Also host modification probably didn't work for 2.5.1 as that version from my testing is when they added the Tweener login (the Nexus one, to be specific). valtron as of recent has been looking at enabling support for older TLS 1 ciphers (via a fork of Caddy, although I think just using something like nginx, etc., would be infinitely less painful), so that coupled with a wildcard domain for Escargot's certificate might allow older systems to work? Have no idea right now, but lets hope it goes somewhere.
Oh, also welcome back Acer. Honestly thought you had abandoned the project after 2017 and MessengerGeek going rogue and stuff. These days most people are on the Escargot (not MessengerGeek, besides the last one was shut down) Discord since it's infinitely less of a toxic cesspool (which mind you, I can tell was purposefully enabled, but let's not get into that right now :p).
Thanks! c:
I primarily just was having personal private issues in 2017, and I recently have very little to do so why not look at fun MSN stuff?
As cool as Caddy is, is its primary benefit automatic SSL handling? Cause like... certbot will handle all the stuff for you now, it even reloads apache/nginx after the certificate has renewed itself every 20 days.
I'll find the Discord link and join shortly, hopefully :3
is its primary benefit automatic SSL handling? Cause like... certbot will handle all the stuff for you now
Exactly what I'm thinking. valtron's pretty stubborn with fully migrating from Caddy though because he keeps on bringing up how easy it is for him to have HTTPS set up with no human intervention, yet doing it on Nginx is as easy, if not more flexible. Plus that and similar software are more advanced than Caddy ever will be. Only time will tell if/when he opens up.