Первый самодельный клиент, который подключается к Skype Network

6a2fafd706aa4eaa8ed288a1ebf32280.png

Skype — один из самых небезопасных мессенджеров по объективным причинам. Одна из них — обфусцированный исходный код, который корпорация Microsoft отказывается предоставить для аудита и проверки специалистами по безопасности.

Несмотря на все риски, многие люди вынуждены использовать клиент Skype.
Закрытость протокола и официального клиента вынудила активистов пойти на нарушение закона DMCA и принудительно деобфусцировать исходный код клиента. В марте 2012 года был опубликован деобфусцированный рабочий клиент Skype 5.5.

Skype 5.5 представляет собой некий гибрид графического интерфейса, написанного на Delphi, и встроенных библиотек DLL с «ядром». Ядро программы — полностью независимая структура на уровне бинарного кода: блоки кода, блоки данных, импорт. Если судить по наличию следов библиотек VC, то для компиляции программы использовался компилятор Visual C++.

В рамках проекта Skype Open Source в июне 2011 года был также проведён обратный инжиниринг протокола Skype, исходный код которого тоже опубликовали в открытом доступе. Сейчас найти тот клиент и исходные коды непросто, потому что по требованиям DMCA хостеры удалили оригинальный блог, а также почти все копии клиента skype55.zip, которые разошлись по Сети.

Новый протокол


Прошли годы, корпорация Microsoft перевела пиринговую сеть супернодов Skype в свою собственную облачную сеть Skype Network, на которую перешла в последних версиях клиента. Поэтому активистам пришло начинать работу заново — и проводить реверс-инжиниринг нового протокола.

И разработчики снова добились своего. 1 сентября 2016 года в новом блоге Skype Open Source 2 опубликована радостная весть о выходе первого в мире самодельного свободного клиента, совместимого с сетью Skype Network. Исходный код клиента пока не удалён с Github. Клиент ограничен передачей только текстовых сообщений.

Клиент Epycs Messenger написан на чистом Си, снабжён простым графическим интерфейсом на .NET 4.0. Соответственно, для установки требуется наличие среды .NET 4.0. Проект загружается и компилируется в Visual Studio 2010. Программа работает только под Windows. Автор говорит, что для портирования под Linux нужно слегка пошаманить с сокетами.

Ссылки на скачивание бинарников:
http://epycs.ru/files/EpycsMessenger2_20160901.zip
https://yadi.sk/d/xvKhmImdugThn
http://dfiles.ru/files/ob1kzcc1x

Исходный код под LGPL 3.0:
http://epycs.ru/files/EpycsMessenger2_20160901_src.zip
https://yadi.sk/d/V_IWJT-fugvND
http://dfiles.ru/files/ryh285mue

73bd40f98c194eb39cd52561c36d8be8.png

f3571bc3c15646fb89d27273ab70dc53.png
На тестовой машине не удалось завершить процедуру импорта контактов

Автором программы является Ефим Бушманов. Он же написал предыдущие версии деобфусцированного клиента Skype и был автором первого блога Skype Open Source.

Несмотря на предположительное нарушение DMCA, предлагается коммерческая лицензия на Epycs Messenger. Продолжается также сбор пожертвований на развитие проекта.

Теоретически, после реверс-инжиниринга протокола Skype любые мессенджеры могут свободно подключаться к сети Microsoft и напрямую обмениваться сообщениями с пользователями Skype, в том числе мессенджеры Telegram или Viber.

После публикации исходников на Github некоторые разработчики отмечают плохую структуру кода, повсеместные магические строки, утечки памяти и повсеместные переполнения буфера. Впрочем, это не умаляет заслуг разработчика, который проделал большую работу. Автор просит протестировать программу и высказать свои предложения и пожелания.

© Geektimes