I think that, before starting throwing, code & docs, i should explain the context of these publications.
But first of all, i apologize in advance for the rough English !
So.. Back then, in 2k6, i was leading some reverse engineering projects for a french corporate, willing to establish interoperability with some proprietary technologies. Of them all, my best, more rewarding and toughest experience was the reverse of the Skype protocol.
One year later, the project was aborted, due to strategic changes of that corporate.. I left my work out in the cold, promising myself to come back to it, one day ! So here i am several years later, without any real evolution to the project..
I decided today to release the work, even in its raw form, willing that it will maybe, help anyone willing to study that very interesting protocol, fulfill someone curiosity, or be useful for anything.. I think this is better than letting, one year of work sleep in the boxes for ever.
In the state i’ve left the reverse, my proof of concept client, was able to connect to the Skype decentralized network, authenticate a user, fetch contacts list, manage user presence and even receive (and respond to) text chats.
I am going to share on this blog, briefly the difficulties i met, show out some working notes, tools (ones i’ve developed included) to help in the reverse process, and release the final code of the proof of concept client (named FakeSkype) and its event driven from scratch rewrite (discontinued, named Epyks).
As i said, that work had started in 2k6, so the context is set with the Skype v2.5 client as protocol reference.
The project had been led on Windows XP 32 bits systems.
The entry point of my investigation are the following (great) papers (Click to view Or “Save As” to download) :
- Silver Needle In The Skype : Philippe Biondi & Fabrice Desclaux
- Castle In The Skype : Fabrice Desclaux
- Vanilla Skype Part I & Vanilla Skype Part II : Fabrice Desclaux Kostya Kortchinsky
- Skype, Guide for Network Administrators : Skype Inc.
- Malicious Crypto : Frederic Raynal
Enjoy the readings !! And stay tuned..