Отучаем Skype от обновлений


Так уж повелось, что Skype любит обновляться. И ему пофиг, что новые версии содержат over 9000 рекламы, кушают столько же машинных ресурсов, да и вообще, выглядят так, как будто тамошние дизайнеры интерфейсов употребляли неизвестные вещества галлюциногенного характера. А совсем старые версии и вовсе не желают работать - или, мол, качай обновления, или пшел подальше. И ведь, скоты, имеют право - в пользовательском соглашении, которое все из нас, несомненно, внимательно прочитали, черным по белому написано, что мы согласны с возможным увеличением системных требований и обязаны принимать все эти сомнительные обновления. Но как говорил один небезызвестный товарищ - хватит это терпеть.

Правовые аспекты.

Рассмотрим ГК РФ, часть 4, глава 70, статья 1280:
1. Лицо, правомерно владеющее экземпляром программы для ЭВМ или экземпляром базы данных (пользователь), вправе без разрешения автора или иного правообладателя и без выплаты дополнительного вознаграждения:
1) внести в программу для ЭВМ или базу данных изменения исключительно в целях их функционирования на технических средствах пользователя и осуществлять действия, необходимые для функционирования таких программы или базы данных в соответствии с их назначением, в том числе запись и хранение в памяти ЭВМ (одной ЭВМ или одного пользователя сети), а также осуществить исправление явных ошибок, если иное не предусмотрено договором с правообладателем;
...
2. Лицо, правомерно владеющее экземпляром программы для ЭВМ, вправе без согласия правообладателя и без выплаты дополнительного вознаграждения изучать, исследовать или испытывать функционирование такой программы в целях определения идей и принципов, лежащих в основе любого элемента программы для ЭВМ, путем осуществления действий, предусмотренных подпунктом 1 пункта 1 настоящей статьи.
...
И условия использования Skype
4.2 Ограничения. Вы не должны предпринимать указанные ниже действия и обязуетесь воздержаться от того, чтобы:
...
(b) предпринимать, побуждать, разрешать или санкционировать модификацию, создание аналогичных продуктов или усовершенствований, перевод на другие языки, инженерный анализ в целях воспроизводства, декомпилирование, обратное ассемблирование, декодирование, эмуляцию, нарушение целостности защитной системы, восстановление или попытки восстановить исходный код или протоколы Программного обеспечения или каких-либо его частей или функциональных возможностей Программного обеспечения, за исключением случаев, когда такие действия допустимы в соответствии с законодательством;
...
Что забавно - закон разрешает творить безобразия, если не запрещено договором с правообладателем, а договор с правообладателем - запрещает, если не разрешено в законе. Полагая, что на территории РФ закон имеет преимущество, что форсированное обновление есть "явная ошибка", а также используя тот факт, что использовалось лишь исследование системных вызовов (которые не являются внутренней частью программы, т.к. предназначены для взаимодействия с внешним ядром ОС) и ничего более, можно полагать, что с этим пунктом закона и лицензии все чисто.

Перейдем к специальному пункту условий использования Skype про обновления:
5.3 Обновления Программного обеспечения: Skype вправе автоматически определять, какую версию Программного обеспечения Skype Вы используете. Для загрузки или использования каких-либо Обновлений от Вас может потребоваться согласие с положениями обновленной версии настоящих Условий. Skype не несет никаких обязательств предоставлять Обновления. Однако Skype вправе время от времени (a) требовать от Вас загрузки и установки Обновлений или (b) автоматически загружать и устанавливать Обновления Skype за исключением тех случаев, когда Вы (в настройках программы-клиента Skype) отказались от получения автоматических Обновлений. Если вы настроили получение Обновлений от Microsoft, программные продукты корпорации Microsoft, аффилированных лиц или дочерних структур компании могут автоматически загружать обновления Программного обеспечения Skype для Windows. Такие обновления могут быть необходимы для обеспечения совместимости программного обеспечения, обновления системы безопасности, устранения неисправностей или реализации новых функциональных возможностей или версий программного обеспечения. Вы даете согласие на получение таких обновлений от Skype, для того чтобы продолжать использовать Программное обеспечение Skype, при этом Вы соглашаетесь принимать такие Обновления в соответствии с настоящими Условиями.
Тут все плохо. Мы будем лишать Skype права автоматического определения версии. Технически, будут нарушены условия использования Skype, с которыми все его пользователи согласились. А раз так - предупреждение: за последующие действия исполнитель оных несет ответственность перед Skype Microsoft и своей совестью.

Собственно, отучение.

Захотелось мне потестировать Skype-mid для Linux. И что я вижу? Обновляйся или закрой. Нет, ну можно бы и обновиться, да вот только это и есть последняя его версия. Непорядок.

Skype-mid 3.0.0.93 for Linux

У старых версий для Windows проблема аналогичная:

Skype 2.5.0.122 for Windows

Берется боевой топор strace и прогоняется им skype-mid на предмет выявления странных вызовов. Что же видим?
...
clock_gettime(CLOCK_MONOTONIC, {81493, 948922084}) = 0
rt_sigaction(SIGPIPE, {SIG_IGN, [], 0}, NULL, 8) = 0
write(29, "GET http://ui.skype.com/ui/6/3.0"..., 167) = 167
clock_gettime(CLOCK_MONOTONIC, {81493, 950305221}) = 0
recv(7, 0x8d9aa10, 4096, 0)             = -1 EAGAIN (Resource temporarily unavailable)
clock_gettime(CLOCK_MONOTONIC, {81493, 950834059}) = 0
clock_gettime(CLOCK_MONOTONIC, {81493, 951054758}) = 0
...
Нагуглив статью на хабре, был подтвержден очевидный вывод, что для предотвращения определения скайпом его последней версии, нужно заблокировать доступ к ui.skype.com. Сделать это можно через файл hosts, firewall, proxy, ну или же любым другим удобным способом. Следует отметить, что при полном блокировании этого домена будут недоступны все ресурсы, находящиеся в нем. Однако, они не особо и нужны.

Результат.

Skype-mid 3.0.0.93 for Linux

Skype 2.5.0.122 for Windows

Профит налицо.

P.S. Следует отметить, что Skype для Windows с версиями < 2 не могут пройти аутентификацию вообще, либо зависают, либо пишут ошибку. Также следует отметить, что следует делать резервные копии контактов, ибо после захода в Skype 2.5.0.122 для Windows у меня почему-то контакт-лист оказался совершенно пустым. Skype-mid работал безупречно, правда функционал его довольно убогий.

P.P.S. Зачем скайпу столько clock_gettime и gettimeofday?

Peter , 24.08.2013