- PVSM.RU - https://www.pvsm.ru -

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

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

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

Несмотря на все риски, многие люди вынуждены использовать клиент Skype.

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

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

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

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

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

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

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

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

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

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

Первый самодельный клиент, который подключается к Skype Network - 3
На тестовой машине не удалось завершить процедуру импорта контактов

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

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

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

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

Автор: alizar

Источник [18]


Сайт-источник PVSM.RU: https://www.pvsm.ru

Путь до страницы источника: https://www.pvsm.ru/open-source/183475

Ссылки в тексте:

[1] один из самых небезопасных мессенджеров: https://www.eff.org/node/82654

[2] деобфусцированный рабочий клиент Skype 5.5: http://www.phoronix.com/scan.php?page=news_item&px=MTA3NzU

[3] почти все копии: https://github.com/downloads/skypeopensource/skypeopensource/skype55.zip

[4] реверс-инжиниринг нового протокола: http://skype-open-source2.blogspot.com.by/2016/06/skype-protocol-dumps.html

[5] Skype Open Source 2: http://skype-open-source2.blogspot.com/

[6] радостная весть: http://skype-open-source2.blogspot.com.by/2016/09/first-in-world-skype-network-compatible.html

[7] пока не удалён с Github: https://github.com/skypeopensource/skypeopensource2

[8] http://epycs.ru/files/EpycsMessenger2_20160901.zip: http://epycs.ru/files/EpycsMessenger2_20160901.zip

[9] https://yadi.sk/d/xvKhmImdugThn: https://yadi.sk/d/xvKhmImdugThn

[10] http://dfiles.ru/files/ob1kzcc1x: http://dfiles.ru/files/ob1kzcc1x

[11] http://epycs.ru/files/EpycsMessenger2_20160901_src.zip: http://epycs.ru/files/EpycsMessenger2_20160901_src.zip

[12] https://yadi.sk/d/V_IWJT-fugvND: https://yadi.sk/d/V_IWJT-fugvND

[13] http://dfiles.ru/files/ryh285mue: http://dfiles.ru/files/ryh285mue

[14] Ефим Бушманов: https://geektimes.ru/users/efimich/

[15] повсеместные магические строки: https://github.com/skypeopensource/skypeopensource2/blob/master/skycontact4_dll/skycontact4_dll/skype_login.c

[16] утечки памяти: https://github.com/skypeopensource/skypeopensource2/blob/master/goodsendrelay3/goodsendrelay3/tcp_recv.c#L500

[17] переполнения буфера: https://github.com/skypeopensource/skypeopensource2/blob/master/skyauth4_dll/skyauth4_dll/skype_login.c#L260

[18] Источник: https://geektimes.ru/post/280068/