Skype version spoofing

skypespoofingversion

Microsoft has apparently decided to terminate the skype service for older versions (before current 4.3.0.37). That's too bad because I'm needing skype for work badly.
Since I'm using an old Mandriva distribution (1) the last version that worked for me was 2.2.0.25 (2). I like this system since it's running smoothly, don't want to change it just for skype. Don't want to install a vmware machine either.
So since yesterday I get an error message when I try to log in: server connection failed.
Curiously, I briefly ran skype as root and then I could log in again, but not any longer. I then tried creating another user and ran skype from that. No luck.
I suspect the server reads out the version of the skype client I'm running and then it refuses connection.

Or what is the mechanism here and can we circumvent it somehow?
I thought immediately that one could possibly spoof version 4.3.0.37 making the server think I'm running this client and hence let me connect.
Has anyone an idea how to concretely make this a reality?
Any other ideas?

Linux version 2.6.31.13-desktop-1mnb (qateam@titan.mandriva.com) (gcc version 4.4.1 (GCC) ) #1 SMP Tue Apr 27 20:37:44 EDT 2010
skype-2.2.0.25-69.1mib2010.2.i686.rpm

PS: I need skype capability, not some other substitute service. The people I need to talk to only have skype and not the competency nor willingness to use another service.

PPS: What I've done now is build my very old desktop computer which is a duron 1 ghz machine with 386 mb sd ram. Installed Win XP on it + SP3. Installed skype which didn't work. Then another version of skype for "old pc's" was offered. Installed that and now I can place calls successfully. That's not my preferred solution though.

Best Answer

Spoof to 4.3.0.37 version by exiting Skype and running the relevant command:

4.2.0.13 --> 4.3.0.37 Spoof (Tested Working)

sudo sed -i "s/\x34\x2E\x32\x2E\x30\x2E\x31\x33/\x34\x2E\x33\x2E\x30\x2E\x33\x37/g" /usr/bin/skype

2.2.0.25 -> 4.3.0.37 Spoof (Not Tested)

sudo sed -i "s/\x32\x2E\x32\x2E\x30\x2E\x32\x35/\x34\x2E\x33\x2E\x30\x2E\x33\x37/g" /usr/bin/skype

For other versions (Not Tested)

The version number to spoof from must be in this format X.X.X.XX because we will replace it with 4.3.0.37

Run the command below, replacing 4.2.0.13 with your Skype version number. This will output the replace command which you should then copy and run in a terminal like the method above:

ver=$(echo "4.2.0.13" | xxd -p | sed 's/.\{2\}/&\\x/g;s/^/\\x/;s/\\x0a\\x//'); echo "sudo sed -i \"s/$ver/\x34\x2E\x33\x2E\x30\x2E\x33\x37/g\" /usr/bin/skype"

At the moment the Skype executable is sending the username, password and skype version to the Skype servers. If the Skype executable version is not at 4.3.0.37 then you will get the error Skype can't connect. All this fix does is replace that ASCII version number string e.g. "4.2.0.13" within the Skype executable to 4.3.0.37. Skype then allows you to login. I have only tested this on version 4.2.0.13, but I believe it should work on other versions too.

Related Question