Приветствую всех программистов и реверс-инженеров. Я пишу свои серверы для Skype 8 (аватары, контакты, настроение уже реализованы). Я решил вернуть к жизни классические версии Skype. После 2 недель мониторинга и анализа открытых клиентов я так и не смог разобраться, к чему подключается Skype и как происходит процесс обмена пакетами. Пожалуйста, если вы знаете структуру протокола, поделитесь ею! Но я понял, как работает процесс авторизации.
1. Skype подключается к серверу Supernode по протоколу UDP, отправляя зашифрованные данные следующего типа:
Данные шифрования, Длина данных, Локальный IP, удаленный IP (суперузел), TransID, IV, Флаг (0 или 1)
2. Сервер должен ответить каким-то пакетом (не знаю каким, иначе не было бы такого вопроса, лол) и Skype должен начать авторизацию, став суперузлом без участия центральных серверов.
По Скайпу были две большие волны публикаций (первая - когда он перешёл в лапы MS, вторая - когда MS взбрендило подменить Скайп Тимсом). Где-то среди них я читал, что код Скайпа капитально обфусцирован (причём изначально, ещё до MS), и из-за этого те, кто делал попытки его реверсить, неслабо поломав головы, всё-таки забросили это дело. Так что ИИ вам в помощь для преодоления этой беды.
SunTechnik, а в целом ведь задумка интересная? Раз умер, значит, обновлений не будет, сделать сервер - и больше нет нужды обновлять за клиентом. А для личного пользования подойдёт
А смысл реверсить?
Самая вкусная часть приложения - это серверная архитектура. Клиентская часть - это всего лишь одна из веб-мордочек, обернутая в electron-подобную платформу, чтобы на desktop запускалась.
По клиентской части в лучшем случае откопаете команды для API, которые вам особо ничем не помогут для реализации своего сервера.
Если хотите свой скайп, то нужно взять любой другой открытый мессенджер, и закастомить его поведение, приближенное к скайпу, если вспомните его особенности.
Telcontar, не соглашусь с вами. Многим всё ещё помнятся привычный, простой и удобный интерфейс пользователя, вполне достаточный функционал... Лично я с удовольствием вернулся бы к Скайпу - вот только не к тому, который сляпала MS, а к старому, доMSовскому. Помню даже некоторые тогдашние фишки, которые MS удалила - например, строчку в заголовке "В данный момент к Скайпу подключены 20 миллионов пользователей" (кажется, это было в версии 3).
И кстати, гугловский ИИ сообщает, что В 2026 году Skype продолжает функционировать. Неужто не врёт? Ведь MS вроде бы отключила/перепрофилировала обслуживающие Скайп сервера...
Виктор, скайп для бизнеса вроде работает, обычный - нет, еще с прошлого года прибили. Если только какие-то старые клиенты еще что-то могут сделать, потому что не все сервера еще отключили
Старая оригинальная версия skype была p2p, сервера использовались для авторизации и управления. Пример уровня децентрализации - провайдер отключает интернет из-за неуплаты (но оставляет доступ к участку сети провайдера, это типа рекламная фича), скайп продолжает работать, найдя пользователя в доступном участке сети и через него предоставляя доступ (т.е. тот у кого интернет был работает прокси), и все это автоматически, прозрачно и максимально эффективно.
Нет никакого смысла пытаться реверсить протокол skype,.. если вам нужен чат, создайте его. Нынешний интернет более сложный чем интернет 2000-ых, многоуровневые nat, блокировки,.. но даже в этих условиях можно создать прекрасный чат с похожим функционалом на базе браузерного webrtc, все технологии есть, все уже написано сотни раз, есть куча реализаций.. дело за малым, сделать из этого удобный продукт (т.е. вопрос не пробиться через nat и блокировки, а просто разработать нормальный продукт с нормальным интерфейсом)
И главное, где то по пути разработки не забыть о приватности пользователей и не начать за ними следить
Присоеденюсь к мнению о других реализациях alexalexes, проще будет взять какойнибуть snikket или его основу prosody добавить модулей по "вкусу" и написать клиет похожий на skype