Yeah, I should able to do that.
I’ll start this all off by saying: Skype is incredibly difficult to reverse engineer, and especially the desktop clients. You have:
- A bunch of binary/code obfuscation
- A whole bunch of integrity checks that prevent you from patching anything unless you patch them out (there are hundreds of these in each Skype binary)
- An incredibly complicated, security-through-obscurity, RC4 key derivation algorithm that has even more code obfuscation
- Custom-baked compression algorithms
And this is really just the start. I don’t want to discourage people from working on it, but I also want to set the standard that this is not going to be easy. There’s a reason it’s been the “gauntlet” of the IM revival community for so long. Skype tried really hard to make their platform hard to reverse engineer, and did a pretty good job at it - with the exception of a few heavily focused projects over the years.
If I’m gonna point people in any direction, it’s gonna be:
- Get familiar with C (there’s a lot of decent C code out there for the protocol), x86 Assembly (and ARM, because there’s some very clean ARM versions of Skype apps out there), and just low-level stuff as a whole. You’ll need it to understand what’s going on, especially when it comes to the obfuscation techniques.
- Learn some cryptography fundamentals (Diffie-Hellman, RSA, AES, hashing algorithms like SHA-1/MD5) - these are used heavily throughout the protocol. Probably also not a bad idea to learn about RC4.
- Have some debuggers on hand (x64dbg, IDA debugger, etc.) to step through code, log how packets are being decrypted and decompressed and processed and etc.
- Be ready to spend months, if not years, on this to get a meaningful result, especially if you’re new to RE. I was talking to someone else who is reverse engineering this and they said it took them about 4-5 years of on and off work to get a login on earlier Skype. I’m about 70-80% done with login with about the equivalent of 2-4 weeks of work, but again, I’ve done reverse engineering as a whole for about 5 years.
Good luck ![]()
Thank you for tips man.
and…. WHAT H!
I will be setting up a discord server about this.
It’s private so you cannot join without permission. ask me if you want to join.
Be aware that anyone joining without permission will be intercepted/banned.
Methods of contacting me: MessengerGeek PMs or Discord (lestercrest.001)
or you could disable the “create invites” permission, here’s a guide in case you forgot:
Thank you for your advice Chaz!
Maybe I can contribute to SquareBracket and FulpTube
Hmmmm ![]()
Why we intercept people who trespasses without permission. Cuz this project is private.
UPDATE: Working on a VBNet Skype client lol!
Epicness is right. Skype is really causing me headaches on protocols.
8 posts were split to a new topic: Talking about Dark xmas mode