Skype Protocol Has Been Reverse Engineered 231
An anonymous reader writes "One researcher has decided he wants to make Skype open source by reverse engineering the protocol the service uses. In fact, he claims to have already achieved that feat on a new skype-open-source blog. The source code has been posted for versions 1.x/3.x/4.x of Skype as well as details of the rc4 layer arithmetic encoding the service uses. While his intention may be to recreate Skype as an open source platform, it is doubtful he will get very far without facing an army of Microsoft lawyers. Skype is not an open platform, and Microsoft will want to keep it that way."
Microsoft Office is not an open platform either (Score:3, Interesting)
And yet we have several programs that can read/write to Office files. It seems the same could be done with MS Skype - call it OpenSkype or LibreSkype.
The only problem is the potential to be sued for theft-of-service (making calls w/o paying).
Re:Microsoft Office is not an open platform either (Score:5, Insightful)
Again, unless analysis of the protocol reveals deep, exploitable, flaws I'm guessing that MS won't care too much. The world already has at least one born-open VOIP protocol(SIP), quite possibly several, and those haven't been a deep threat to Skype because they are comparatively hard for neophytes to set up, have firewall issues, etc. Heck, Microsoft bought Skype despite having a voice chat system in MSN. Voice chat over the internet, while not trivial, just isn't some super trade secret, nor is it what makes Skype a contender.
Now, given the reports of how slimy and secretive the Skype binary can be, I'd be happy to see an open implementation; but I suspect that the possibility won't rock the boat from MS' perspective...
Re:Microsoft Office is not an open platform either (Score:5, Interesting)
Now, given the reports of how slimy and secretive the Skype binary can be, I'd be happy to see an open implementation; but I suspect that the possibility won't rock the boat from MS' perspective...
The strength of Skype is it's user base, that is why it was so expensive to MS. A messaging client is only as good as its user base. They bought skype for its users and market penetration and that it why it leaves everything else in it dust. If I could use a rival client to communicate with people on the skype network I would drop skype in a heartbeat, especially when I am using Linux as their Linux client it dire. Likewise the androids client. I will be very glad if this results in a rival client, ideally an open source one.
I do think however that Microsoft will already be screaming at an army of lawyers to shut this guy up quickly. You are entirely wrong when you say this will not rock the boat from their perspective, and you will see this in hours or days rather than weeks.
Re: (Score:2)
call it ... LibreSkype.
please don't.
Re: (Score:3, Funny)
Exactly.
Call it by it's proper, full name:
GNU-LibreSkype
Re:Microsoft Office is not an open platform either (Score:4, Funny)
Re: (Score:2)
Epyks-libre. It's Epyk!
Re: (Score:2)
And yet we have several programs that can read/write to Office files. It seems the same could be done with MS Skype - call it OpenSkype or LibreSkype.
You can't call it anything-Skype.
Replace Skype with something similar. Heavenpi, Skipole, Ski-pie, Kyte, Skate, Scalp?
Great! OpenScalp!!
Re: (Score:2)
"Call it OpenSkype or LibreSkype."
An open Skype-compatible alternative would be brilliant. But if you want to avoid getting sued, I suggest calling it something entirely different.
How about a real open protocol? (Score:5, Insightful)
Re:How about a real open protocol? (Score:5, Insightful)
Oh, wait, you needed to talk to somebody who is using Skype. Shit.
Network effects are a nuisance; but you just can't dismiss them. It would, indeed, be rather perverse to use reverse-engineered secret protocols as the basis for new systems where open ones are available(SIP, XMPP, etc, etc.); but if you want to interact with the userbase of a proprietary protocol your options are either to reverse engineer it, or to accept whatever T and Cs the proprietary software decides to impose.
Re: (Score:2)
Why not make a SIP / Skype Gateway and sell the service / product? Why not market it as "universal" VOIP client.
It might make transitioning away from Skype to SIP much easier.
Where people see a problem, I see opportunity.
Re: (Score:2)
Why not make a SIP / Skype Gateway and sell the service / product? Why not market it as "universal" VOIP client.
It might make transitioning away from Skype to SIP much easier.
Where people see a problem, I see opportunity.
So did Fring, look what happened.
Re: (Score:2)
Entertainingly, Microsoft's Netmeeting worked quite well as a voice/video SIP client back in the day. Of course, nobody* used it. Skype on the other hand is completely useless for connecting to standards-based chat/voice/video clients, but it has a huge user base.
Welcome to marketing.
Re: (Score:2)
Nobodies mentioned the excellent echo cancellation. Trust me, that matters. Plus it was clearer than anything I had tried when I first tried it several years ago. And they had cheap rates, and and and, it all for the most part just worked with all of the features.
Re: (Score:2)
Afaict skype got it's userbase because it "just worked", no worrying about firewalls or NAT types or port forwarding or other shit like that. IIRC they used some dirty tactics to acheive this like using people with fast open internet connections as router nodes (I think they later moved to routing the worst case traffic through their own servers)
Re: (Score:2)
"I would rather see an open standard become supported or used by Skype/Microsoft."
Yes, I agree, and with the knowledge of the history of Microsoft I would have to add:
"I would like to see the extinction of World hunger, end of all wars and a beautiful woman to all men, and vice versa, but ..."
that is not going to happen until Hell freezes over!
Or Microsoft runs out of money.
Re: (Score:2)
Re:How about a real open protocol? (Score:4, Insightful)
the question here is not the protocol/technology, but the userbase.
you can't use jingle to talk to all your friends running skype.
Re: (Score:2)
And when one of them says, "So what app can I use to video call you from my iPhone?", do you reply, "You shouldn't have got an iPhone!"?
Re: (Score:3)
Look, after this date, if you still want to call me, either pick up the phone or use XMPP.
And when one of them says, "So what app can I use to video call you from my iPhone?", do you reply, "You shouldn't have got an iPhone!"?
Yes. Being able to say "not my problem" is a powerful tool.
Re: (Score:2)
I believe the phrase is "not my mistake", not "not my problem", actually.
Re: (Score:3)
And when they decide maybe they don't really need to call you?
Re: (Score:2)
Being able to say "not my problem" is a powerful tool.
Jesting aside, if their response to not being able to VIDEO call me on their iPhone is to reject AUDIO calling me and decide to not speak to me altogether, I'm almost certainly better off.
Then again, I have an exceedingly low tolerance for high maintenance relationships and am prone to simply not answering my phone for days at a time anyway.
Re: (Score:2)
If they want to talk to you, they'll find a way.
I don't use Skype - not because I can't, just because I can't be bothered running yet another bloated application on my computer - and people never seem to have trouble getting in contact with me.
Re: (Score:2)
I don't use Skype - not because I can't, just because I can't be bothered running yet another bloated application on my computer
How is it 'bloated'?
Re: (Score:2)
Re: (Score:2)
And when one of them says, "So what app can I use to video call you from my iPhone?", do you reply, "You shouldn't have got an iPhone!"?
He did mention "pick up the phone", although one could be forgiven for forgetting that the iPhone actually is a phone...
(not to mention there are plenty of XMPP apps on the App Store)
The biggest hurdle will be to convince people to use them simply to talk to one oddball.
Re: (Score:2)
I'll have another look, I couldn't see one, maybe the descriptions aren't too clear. I had never heard of "Jingle", so I wasn't looking for that.
Re: (Score:3, Insightful)
Re: (Score:2)
But ... you're their techie. You say, "Hey, we're going to use X now. Here is an installer for it, and I'll help you through setting it up." That's how you got them to set up to use Skype, right? If the purpose of the tool is videoconferencing over the internet (rather than low cost international calls), it seems like that should be sufficient.
Re: (Score:2)
Re: (Score:2)
Re: (Score:2)
So you say, "Look, after this date, if you still want to call me, either pick up the phone or use XMPP." Set that date two or three months down the road so people have a transition window. By the way, this works for legacy IM systems like MSN, AIM, ICQ and Yahoo Messanger as well.
Forever Alone...
What, do you think your friends and family are just going to switch to something they don't even understand just to talk to someone who acts like he's the Queen of England? Of course not. They'll still use the phone, but if they are heavy Skype/MSN/AIM/etc. users, they simply won't do so as much. Maybe that's what you really want anyway?
Re: (Score:2)
Have to love somebody who issues ultimatums to their friends and family to fit some sort of software ideology.
Personally I bend over backward to accomodate my friends who want to talk with me, including the ones on the other side of the world for whom I maintain a SkypeIn number and am quite happy to pay for them to talk to me.
But see, that's because I value them more than I value whether or not the source code or algorithm to a service is open or not.
I can respect wherever one falls in the free softw
Re: (Score:2)
It's not like we don't have an open protocol that does the same thing. XMPP Jingle exists; reverse engineering Skype is just a pointless, useless, timewaste.
Agree that Jingle exists, plus is blessed by Google. That is where the bulk of community effort should go with the goal of building a truly open P2P voice network. Do not agree that reverse engineering Skype is a waste of time. P2P is a technically hard problem in the face of NAT endpoint difficulties. I can hardly hurt to study the details of Skype's approach.
1 major difference: XMPP isn't peer-to-peer (Score:2)
Do Facetime instead... (Score:2)
Re: (Score:3)
Facetime also isn't encrypted, just slightly obfuscated. It's just a regular SIP connection with an Apple-hosted HTTP-based lookup service that ties SIP URIs to emails or phone numbers.
Re: (Score:3)
There's no reason it can't be. In terms of consumer impact, FaceTime for Windows would be much more noticeable than an open Skype protocol.
It's really disappointing that Apple hasn't either ported FaceTime over to Windows, or done what they said last year and published the protocol so third parties could implement it. WWDC would be a good place to announce something like this, though. I guess we'll know in a few days.
Presumptious much?? (Score:2)
Re: (Score:2)
I think at first they were against it, but after they saw how it was taking off they decided to ride the PR wave.
In the case of Skype, it benefits from network effects; as more people use it, more people want to use it. So if MS ultimately doesn't want to spend resources to support a small userbase like Linux, maybe it would be beneficial for them to let a minority of people access the service through an unauthorized third party.
Re: (Score:2)
I think at first they were against it, but after they saw how it was taking off they decided to ride the PR wave.
In the case of Skype, it benefits from network effects; ...
It can also be destroyed by network effects - imagine if the second most popular skype client offered both skype and an open protocol - the world can slowly change over to the open protocol without any of the users even realising it. This is a bad thing for something that depends on lock-in, like skype
Re: (Score:2)
Try hacking the Live service protocol and tell me how Microsoft reacts.
PS I'm not actually recommending you break the law. Just trying to make people think.
Patents can be avoided and new servers created (Score:3)
This could be the Skype killer we have been wishing for. It doesn't have to work with Skype, it just has to be as good as Skype and to be open. Imagine people being able to set up their own private Skype-like servers for personal and business use... even for home-monitoring uses and more. Skype will undoubtedly kill support for Linux and probably restrict access in a variety of ways. While being able to access Skype servers and services would be desirable, I wouldn't expect that to be allowed to work and would end up as the arms race we saw previously in instant messaging. (One that I think was ultimately lost or abandoned by those trying to fight 3rd party clients.) But if a truly free and open Skype-like set of clients and servers were made available, a lot of useful things can occur.
Re: (Score:2)
Like...Vonage.
Re: (Score:2)
Vonage? *facepalm*
Or like SIP...
Re: (Score:2)
like Vonage ?
Re: (Score:2)
You can try to hack into your Vonage SIP account but it's not the same as using a regular SIP service.
Re: (Score:2)
Vonage... great idea; poor implementation (or maybe that's an inherent problem with the underlying protocols like SIP).
I was a Vonage customer when I lived in Canada. There was always terrible latency calling mobile phones, to the point where it would screw up conversations. And as somebody who travels a lot (like going to live elsewhere for four weeks or more at a time), I loved the idea of portability and location transparency offered by Vonage. Unfortunately it didn't work, which was a problem for tho
Re: (Score:2)
It doesn't have to work with Skype, it just has to be as good as Skype and to be open.
I don't think that's true - there are a number of other video conferencing products out there, some are open, others are not, but as long as Skype continues to work on Windows/Mac and is free, there's not much reason for most people to switch.
Imagine people being able to set up their own private Skype-like servers for personal and business use
I'd be surprised if significant numbers of people set up their own servers - small businesses aren't likely to have the time (or desire) to set up their own servers, large businesses don't care if they have to pay (and many probably already use OCS/Lync)
Re: (Score:2)
There are numerous open programs that can provide point to point voice or video chat. Some of them are even pretty good. But without a lot of supporting serve
Re: (Score:3)
"As good as" won't do. It would have to be much better.
Here's why:
Normally, Skype works, also, a lot of my friends use it. So, I'm quite happy with it. To get me to switch to another system (and to somehow persuade my friends to do it too, since if I'm the only one using the new system it's not very useful) the new system has to be much better than skype. Being "open" is not a high priority - Skype is available for Windows and Linux, I do not need to pay for it (legally), so I will not try to write my own c
Re: (Score:2)
Yea, if another service is much better than Skype, then people will gradually switch to it.
For example, people are ditching IE and using other browsers because they are better. Not a lot of people would use a browser that was "the same as IE, but open source".
With networks (like Skype) this is more difficult since you need to convince your friends to switch, but it can be done. There were other VoIP services before Skype, but they were worse than Skype. Also, some IM services, like ICQ are no longer used as
Re: (Score:2)
This may be harder than one might imagine.
The niche that Skype fills, for many users, is almost entirely defined at this point by what Skype does.
How would a new theoretical app/service be "better" than Skype, and how would this improvement be quantified? Let's leave out for a minute the exaggeration of any existing shortfalls that MS might cause. Yes, the new Mac interface is terrible, and MS might discontinue support for 2.8. Yes, Linux support is lacking, and MS might ignore that platform. Yes, MS might
Re: (Score:2)
Exactly. Slashdotters seem to have an irrational fear against anything touched by MS
There's nothing irrational about it. MS, like most other big companies, have proved many times that they can be both evil and incompetent.
Re: (Score:2)
Re: (Score:2)
I'm personally fine with Skype as it is. Well, as long as they don't drop support for version 2 of the Mac client, wh
Re: (Score:2)
It's the network stupid
If I have 20 friends on Skype and 1 friend on OpenSkype, I am going to get Skype. It doesn't matter if something else is more secure, open or faster if you have no one else to talk to.
The only way an open source version of Skype will be successful is if it is compatible with Skype's existing network of users.
Re: (Score:2)
If there's a choice of Skype's client or an alternative open source client, I'll probably be sticking with the Skype one, unless the open one has some other compelling reasons. Whilst Skype's UI is painful, it's generally better than the UI efforts of most open source software, and integrates better natively with whatever platform than most open source cross-platform apps. These are both areas where open source people seem to be clueless.
Re: (Score:2)
I would get both, assuming OpenSkype is lightweight and sits quietly in the background except when my one friend on OpenSkype calls me.
Most people wouldn't bother. As for you... what about when OpenSkype forks and becomes LibreSkype and OpenSkype and SINS (which of course would stand for SINS Is Not Skype)? What if those drifted apart and lost interoperability?
For lots of people, myself included, Skype may already be one of two apps used for similar purposes; Skype and a softphone, Skype and an IM client, or perhaps all three. There's a point at which adding new elements to support new networks becomes insupportable; and the smallest netwo
Re: (Score:2)
It doesn't have to work with Skype, it just has to be as good as Skype and to be open.
Yes, it has to work with Skype. What makes Skype good is its users. If you can't call any of the millions of people that have Skype, what good is it?
<sarcasm>I mean, look how fast Diaspora [wikipedia.org] took off as an open source alternative to Facebook!</sarcasm>
Re: (Score:2)
Of course any third-party clients won't have that but they might still come in handy, for inst
Reverse-Engineering for Interoperability (Score:5, Informative)
It's protected. Lawyers may bark, and pound a table or two, but ultimately, they'll fail.
Sec. 103(f) of the DMCA (17 U.S.C. 1201 (f)) says that if you legally obtain a program that is protected, you are allowed to reverse-engineer [wikipedia.org] and circumvent the protection to achieve the ability the interoperability of computer programs
Re: (Score:2)
It is, however they can sometimes shake something out that prevents the exemption from applying. Projects which rely upon reverse engineering have to be very careful that they properly shield themselves from information which might make the immunity go bye bye
Re: (Score:2)
That refers to copyright law (or at least the US's convoluted idea of it). The reverse engineer is within the DMCA, but that doesn't matter if he's violating patents -- if, in fact, he's in a country that has software patents (i.e., the US). As some redditors pointed out, his lack of fluency in English seems to suggest otherwise.
If he is in the US, he can still be sued for violating the patents Microsoft owns on the protocol, although I think Microsoft is less likely to be evil about it than the other forme
Re: (Score:2)
If he is in the US, he can still be sued for violating the patents Microsoft owns on the protocol
You mean Skype.
Re: (Score:2)
Re: (Score:2)
Don't you have to do this in a prescribed fashion involving two teams, one to write a formal spec (with access to the original) and then hand that spec off to a second group that must work entirely off the spec? If this procedure was not followed the results would be tainted.
Re: (Score:2)
AIUI you don't HAVE to but if you do it's much easier to avoid inadvertantly violating copyright and/or mount a defense against accusitions of doing so if you do it that way. In particular there may be some things that only have one or two reasonable ways to implement them but are nonetheless complex enough that a court may consider them eligible for copyright.
Re: (Score:2)
(il)legality has nothing to do with it (Score:2)
The real question is does the "offender" has the financial resource to defend it. Large corporations have very deep pocket and army of lawyers. Does (s)he?
FTFA (Score:5, Insightful)
The remaining question to ask is what’s the point of doing this reverse engineering? Skype is a free-to-use service for the most part. You do pay for non Skype-to-Skype calls, and have to use the official software, but is that really enough to make users desire an alternative?
Yes.
Re: (Score:2)
There is much more to that. The skype protocol being unknown made people wonder what is actually going through the network. Some institute such as INRIA (A french research institute in computer science) forbid the use of skype partly for this reason. As far as we knew, skype might piggyback some request for computation and "steal" some CPU time to sell it. Knowing the protocol should clear that out.
Re: (Score:2)
That's France, nobody really care about such a restriction :) When I was working for INRIA, I was using skype when necessary.
In the same way, INRIA researcher should not use gmail professionaly. Once again, people don't care too much. But that's the policy...
Re: (Score:2)
In the words of Sir Edmund Hillary, the reason is, "because it's there."
Re:FTFA (Score:4, Funny)
Not Christ, RMS. There's a difference.
Re: (Score:2)
Bravo.
Torrent here (Score:4, Informative)
Just the facts, man. (Score:2)
To me it seems MS will simply follow their standard procedure of "Embrace (purchase and/or adopt a standard), Extend (introduce incompatibilities), and thereby Extinguish." to thwart any sort of open source implementations.
Similar to their Zune device, which has embraced a standard USB interface and media protocol, but has been extended with a DRM challen
Pidgin plugin (Score:2)
I would like to see a Pidgin plugin for Skype!
Re: (Score:2)
Suspect (Score:3)
The third zipfile contains no less than 443,000 lines of code (not counting a number of duplicates under _old), including ports to Virtual C++, Borland C and Gcc under Unix, different versions of the protocol parser, and so on. The few bits I've looked at are written competently and with confidence, there's none of the "this byte is 42 in all messages, I don't know why" that you'd expect in reverse-engineered code.
It's either a leak of Skype's code, or a decompilation; it's certainly not a reimplementation. --jch
Re:Suspect (Score:4, Interesting)
Based on the fact that the code contains addresses in the names of some functions (mysub_SessionManager_CMD_RECV_Process_00788E80 for example) and based on the mentions of "Hexrays" in the source, this was most likely reverse engineered using IDA pro and the HexRays decompiler. (HexRays is a great tool, I use it myself for some things)
Microsoft will fight back... (Score:2)
Re: (Score:2)
Re: (Score:3)
What? Whatever you're smoking, please share.
The ease of developing a tool has nothing to do with whether or not it is popular. They're completely unconnected. Ease of use might have something to do with it, but ease of development is entirely unrelated. VOIP apps ARE easy to develop. Encrypted voice apps ARE easy to develop (once you've converted the analog audio to digital audio you can apply any encryption algorithm you like with whatever key-exchange protocol you like). Getting a large userbase on
Re:Why I hate patents (Score:5, Insightful)
Ease of use might have something to do with it, but ease of development is entirely unrelated.
Thank you for so succinctly summing up the single greatest problem with Linux and most other open source software.
Ease of use *IS* part of development. It's just as much a requirement as any other technical aspect.
Also, like most nerds, you have vastly underestimated the difficulty in developing an application. It's easy to whiteboard a simple voice chat app, and *fairly* simple to create some sort of intercom-type chat program. But once you start adding things like central directories, low-latency variable bandwidth calling over the internet, and the like, you end up with difficulty even coming up with a reasonable whiteboard outline, and the actual implementation becomes quite difficult. By no means impossible, but it's not something you'll bang out over a weekend and be on par with something like Skype.
As awful as Skype may be, just because you understand the idea behind how it works doesn't mean it's easy to duplicate. This is a classic nerd mistake.
Re: (Score:2)
This is a perfect example of how little effort it takes to develop something like this and how easily a community could maintain it for the world to use but companies have to protect their billions
No it isn't, breaking the lock on an existing house is a hell of a lot easier than building a house.
Re: (Score:2)
Reverse engineering in itself is no easy task, and once you have the protocol reverse engineered you still need to build a program to use it. 1 guy did this where it takes a multibillion dollar company to screw up the technology (skype has been steadily getting worse in terms of quality, reliability, and usability).
An example of how it works well is mIRC - one guy built it, others expanded on it, there's various flavours from stand alone programs to browser plugins, to website integration and it's been fre
Re: (Score:2)
Reverse engineering in itself is no easy task
Im not saying it is, but it isn't an example of the ease of building a system in the first place.
and once you have the protocol reverse engineered you still need to build a program to use it. 1 guy did this
errr...I take it you haven't actually looked a this then.
An example of how it works well is mIRC - one guy built it, others expanded on it, there's various flavours from stand alone programs to browser plugins, to website integration and it's been free and is to this day one of the best chat room programs available.
Are you sure you know what mIRC is? Because mIRC is an IRC client application and I can't say i've seen the mIRC client integrated as a browser plugin or into a website.
Anyway the difference with Skype is that it is used by people from tech professionals to mom & pop end users, open source is traditionally not very good at the latter level of usabilit
Re: (Score:2)
This is a perfect example of a community that again proves itself incapable of actually inventing anything, and instead just copies what someone else has done.
Because there's never been an open source voice protocol.
The issue with open source VOIP is not technical, but financial. You can easily set up voice calls over the Internet, but once you want to hook that into the telephone system it becomes much more complex and expensive.
Re: (Score:2)
Haha you just showed your ignorance about VoIP protocols!
Re: (Score:2)
This is a perfect example of a community that again proves itself incapable of actually inventing anything, and instead just copies what someone else has done.
Exactly which "community" do you mean?
Re: (Score:3)
No. You do realize most encryption algorithms are published for all to see, right? Unless Skype is doing something very stupid in the key exchange, it's just as secure as before.
Re: (Score:2)
Please stop calling every single person who is tinkering with code a 'researcher'...
Researcher [answers.com]: One who conducts research.
Did he conduct research? Yes.
Then he is a researcher.
Re: (Score:3)
Reverse engineering is an absolute necessity for compatibility, and compatibility is often an absolute necessity for success. Being the best product often isn't enough.
Re: (Score:3)
Emerson was the first one to popularize the myth that if one were to "Build a better mousetrap, and the world will beat a path to your door", and yes for the pedants out there I realize this is a misquotation of what Emerson really said, but the juice of it is a maxim that many individuals use to understand the process of innovation. Unfortunately, when observed through the lens of history, the maxim does not hold water.
The truth about innovation is that it occurs when the right mix of entities are brought
Re: (Score:2)
Re: (Score:2)