Skypeify! (I'm somewhat RE'ing Skype 3-4)

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 :saluting_face:

1 Like

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!

1 Like

Maybe I can contribute to SquareBracket and FulpTube

Hmmmm :thinking:

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.

2 Likes

8 posts were split to a new topic: Talking about Dark xmas mode