Первый самодельный клиент, который подключается к Skype Network
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
На тестовой машине не удалось завершить процедуру импорта контактов
Автором программы является Ефим Бушманов. Он же написал предыдущие версии деобфусцированного клиента Skype и был автором первого блога Skype Open Source.
Несмотря на предположительное нарушение DMCA, предлагается коммерческая лицензия на Epycs Messenger. Продолжается также сбор пожертвований на развитие проекта.
Теоретически, после реверс-инжиниринга протокола Skype любые мессенджеры могут свободно подключаться к сети Microsoft и напрямую обмениваться сообщениями с пользователями Skype, в том числе мессенджеры Telegram или Viber.
После публикации исходников на Github некоторые разработчики отмечают плохую структуру кода, повсеместные магические строки, утечки памяти и повсеместные переполнения буфера. Впрочем, это не умаляет заслуг разработчика, который проделал большую работу. Автор просит протестировать программу и высказать свои предложения и пожелания.