Tidbits on Skype

I’m a hobbyist reverse engineer for over 5 years, a developer for longer, and the person working on Skype for CrossTalk. I’ve created this thread mostly for “fun facts” on Skype - tidbits of information that I think are interesting but not exactly worthy of a full technical writeup. (Others are free to contribute/discuss - I’d like to keep this thread free of “ETA”/progress discussion though, this is meant to be a fun thread.)

I guess I’ll start with my first one. Certain versions of Skype for iOS have a developer credits easter egg (implemented through the SKPSkypers class) - I believe this is triggered through the About page somehow. I don’t know how to trigger this, but I have extracted the credits for your viewing pleasure:

alexdrone - Alex - Alex Usbergo - you might not be able to expense it but you will always be a VIP
andrsoze - Anders - Anders Persson - we'll rewrite everything again during your next parental leave
andreaskoller - Andreas - Andreas Koller - hope your leg has recovered from the ping pong!
andy.wassyng - Andy - Andy Wassyng - right now get growing that beard for iPad. Starting now!
antonio.p.rezende - Antonio - Antonio Pedro Rezende
axelandersson - Axel - Axel Andersson - sorry this easter egg didn't include Nyan Cat
bjrwork - Ben - Ben Rickert - Thanks for the balanced counsel to keep us moving forward safely.
conrad.ciobanica - Conrad - Conrad Ciobanica - because you are electric!
mancdan - Daniel - Daniel Winston - As clerkes be full subtle and full quaint. And privily he caught her by the queint.
d.pizziconi - Nenne - Daniele Pizziconi - https://jira.skype.net/browse/IOS-2295
david.ronnqvist - David - sorry, no SceneKit code in this one
hisagi__ - Dmitri - Dmitri Sidorenko - even though you've been raised as a human, you are not one of them.
edwinkhoo23 - Edwin - Edwin Khoo - tanks 4 teh kopy revuw skilz. U did ded good!!!!
eldar.markov - Eldar - Eldar Markov - we hope you enjoyed your time in Stockholm! Thanks for the amazing help to re-master Skype for iOS app.
findericnow - Eric - Eric Lin - Always smiling. Always helpful. We're excited to have you back on the team.
ervins.grinfelds - Ervins - Ervins Grinfelds - keep calm, it's almost ready
gogota.florin - Florin - Florin Gogota - You got pumped. You got Skype remastered. Now get some sleep.
garysfw - Gary - Gary Wong - Short time. Big impact. Looking forward to more big releases together. New video each time?
guilhermeschneider - Guilherme - Guilherme Schneider - biiiiiiiiiiiittttttchessssssss
jaak - Jaak - Jaak Parik - turn the heat up in the sauna jaak!
jacob.wallstrom - Jacob - this application also works well as a baby toy
jonas.salling - Jonas - Jonas Salling - we heard you liked working on the weekend, so we did and made this
joestanphil - Joe - Joe Phillips - I think the toolbar animation is not good enough. Can we please change it?
jossif.tomash - Jossif - Jossif Tomash - thank you for both scrum mastering and managing this awesome release!
katena-lapochka - Kate - Kate Veshtort - it shows you've been testing for two
krissell - Kristel - Kristel Saarepuu - we're sorry for not releasing this before your long leave
maciekelorap - Maciek - Maciek Janicki
martinwennerberg - Martin - Martin Wennerberg - perhaps, this is the best iOS application ever thanks to you. 
corodent - Matt - Matt Kendall 
peter.christopher - Peter - Peter Christopher - a man of many talents, along with sarcasm 
peter.hanspers - Peter Hanspers - nice implementation of the blabla algorithm
piotr.poletajew - Piotr - Piotr Poletajew - this application requires additional pylons
astrofaes - Rohit - Rohit Mistry - now have a celebratory burrito
sallynutt - Sally - Sally Nutt - let's hope they get the swipe!
s.abey27 - Sam - Sam Abey
stefans256 - Stefan - Stefan Sik - thank you for enabling all our users to buy Skype credit and receive calls
stuartbayston - Stuart - Stuart Bayston - cheers crumps! There's one misaligned pixel on the hub, we aren't telling you where!
tlyall - Trevor - Trevor Lyall - please present this at Systembolaget for your complimentary whiskey bottle
katzenwiege - Triin
imvjhere - Vijay - Vijay Ganesh - we did some measurements and this application is 110% better
nichisai - Willem - Willem Frishert - the unit test for this did not use your name as mock

Gonna try to come up with more things soon, but here’s a start at least :slight_smile:

7 Likes

ooooooo :slight_smile:

Very cool! :slight_smile:

More tidbits!

I was able to figure out how to deobfuscate Skype for Mac (more on that coming soon). With that came a version of Skype 1.4 with full debug symbols - probably the best version of Skype for reverse engineering.

The Skype developers have fun function naming conventions:

Chat::implode_chain()
Chat::onChainThisDude(...)
Chat::onSendMeSomeDudes(...)
Chat::onHereAreSomeDudes(...)
Chat::onABDudeIsDead(...)
Chat::onABDudeIsAlive(...)
ChatBase::homeless_add(...)

And also, here’s some fun debug log strings as a bonus:

Too many sign in attempts. Cool down, dude!
onHereAreSomeDudes: assimilated %u/%u dudes
incoming_backup_peer(%u): not a dude
he requested for credentials, but I don't have any :(
onWeAreSyncBuddies: he thinks neither us or him is subscribed, go away icky partner
onHereAreMyCredentials: acquired chat acceptadd broadcast, we're very happy now :)
!him->is_subscribed() && "something is seriously lucked up" || haddl.is_member(handle.b_str())
0 && "something that should never happen"
Invalid WHAT
6 Likes

This is official confirmation that Skype contacts are dudes :stuck_out_tongue: (which is gender neutral).
(Messenger contacts were referred to as pawns at times, but I don’t believe that ever showed up in code.)

Since re-reading those credits, I have another thought, I wonder if those credits are intended as a personal message for each user, since the list includes their username. The idea being that when they logged in next under that username, they’d get a popup with that message, or something like that. As opposed to a message everyone could see.

From what I remember last I looked, it might’ve been added to the contacts/recent list somehow? I have an iOS device now and with some Substrate tweak foolery I could probably trigger it without a login but lol

I’m pretty sure there’s an entire ChatDude class now that I think about it. Contacts are still called contacts internally, I believe, but members of a chat are referred to as 'dudes".

Internally it’s Buddy for a user on the forward list, as in Microsoft Buddy List (MSBL, the actual internal name of what’s known as the “MSMSGS” library, MS could also mean Messenger Service. Make your own head-canon for that one. By the official retconned MSNP terms, it’s Microsoft.)

For users in an active Switchboard session, it seems Participant is more the common word.

1 Like

I have an iOS device now and with some Substrate tweak foolery I could probably trigger it without a login but lol

I should try this lol

2 Likes

Since re-reading those credits, I have another thought, I wonder if those credits are intended as a personal message for each user, since the list includes their username. The idea being that when they logged in next under that username, they’d get a popup with that message, or something like that. As opposed to a message everyone could see.

I managed to mess with the app & trigger the easter egg. Touch didn’t really work, so I don’t know if it shows the silly messages when you press the contact, but it shows it enough.

3 Likes

Thanks for taking the time to show this off, I’d never seen this easter egg before :slight_smile:.

I do wonder if the individual pfps for each of the names would’ve shown up originally.

There is some stuff for setting avatars, though i’m unsure if it was ever actually used in this easter egg. Could also be some generic thing for skype users, in which I have no idea. Maybe when we get skype to log in we can tell, but for now, I can’t say conclusively.

I spent a while looking, and I’m pretty sure I’m the first one to ever trigger this easter egg, at least document what it does on device online. How fun!

i noticed it’s common practice that early versions of some programs for mac os x are having debug symbols haha

“agent” for example

Ghidra is quite bad at objc, but those look like Objective C functions, which (luckly for us) have to contain the names (I have no clue why Apple engineered it that way, but i wont judge). The Skype 1.4 is interesting because it also contains symbols for the C/C++ functions, which can be turned off (I think… IDK if smth was different with PPC).

2 Likes

The later 1.4 versions that are universal binaries don’t have symbols for either architecture. I’m personally leaning towards it being a build misconfig that they didn’t notice until they started doing work for universal

1 Like