Здравствуйте, Sheridan, Вы писали:
S>Здравствуйте, CreatorCray, Вы писали:
CC>>Лучше в сурсы скайпа посмотреть, если получится добыть — вот уж кто умеет пробиваться через все заслоны. S>Крис давненько уже отреверсил
Здравствуйте, Sheridan, Вы писали:
S>Здравствуйте, Sharov, Вы писали:
S>>Я конечно не спец по взлому программ и низкоуровневой отладки. Но вот приведенная цитата мне кажется странной. Замеры времени -- а если цпу чем-то нагружен под 100%? S>Ну как бы я думаю даже в этом случае тайминги на порядок отличаться будут с трассировкой
Справедливо.
S>>Как программа в режиме отладки (раз уж мы туда как-то добрались),может распознавать точки останова? S>Вот, собственно по замерам времени выполнения кода вполне может сработать
Но как отлаживаемая программа может понять, где есть точки останова, а где нет? Код замера можно занопать, это наверняка известный набор инструкций.
Здравствуйте, Sharov, Вы писали:
S>Здравствуйте, Sheridan, Вы писали:
S>>Здравствуйте, Sharov, Вы писали:
S>>>Я конечно не спец по взлому программ и низкоуровневой отладки. Но вот приведенная цитата мне кажется странной. Замеры времени -- а если цпу чем-то нагружен под 100%? S>>Ну как бы я думаю даже в этом случае тайминги на порядок отличаться будут с трассировкой
S>Справедливо.
S>>>Как программа в режиме отладки (раз уж мы туда как-то добрались),может распознавать точки останова? S>>Вот, собственно по замерам времени выполнения кода вполне может сработать
S>Но как отлаживаемая программа может понять, где есть точки останова, а где нет? Код замера можно занопать, это наверняка известный набор инструкций.
Здравствуйте, reversecode, Вы писали:
R>никакого секрета нет, есть суперноды, они и выступают в роли аля STUN серверов
Тут скорее вопрос в том, как вырваться наружу когда злобно перекрыт кислород. Скайп умеет просачиваться через разные не закрытые щёлочки.
Здравствуйте, CreatorCray, Вы писали:
CC>Здравствуйте, reversecode, Вы писали:
R>>никакого секрета нет, есть суперноды, они и выступают в роли аля STUN серверов CC>Тут скорее вопрос в том, как вырваться наружу когда злобно перекрыт кислород. Скайп умеет просачиваться через разные не закрытые щёлочки.
скайп умеет http https socks direct
супернода и другие скайпы умеет тоже самое и слушает порты http https
если скайп запускается первый раз(у него нет локального списка хостов) и заблочин доступ по айпи к нескольким главным супернодам статически прибитым у него в бинаре — то он тоже никуда не выйдет
итого, пробует одним из четырех соединениями, если не сможет достучатся до супернод — феил
иначе, получfем соединение через любой из четырех методов, и дальше все данные идут по этому выбранному транспорту
в первых версиях и аудио через tcp пускали, тоесть и аудио поверх http/https можно было
сейчас вроде убрали это, только udp rtp
Здравствуйте, Mihas, Вы писали:
_>> собственно данные пересылаются P2P, а не через централизованные серверы (которые используются только для создания сессии). M>Объясните, пожалуйста, как можно передать данные с компа на комп, минуя центральный сервер, если оба компа спрятаны под своими НАТами?
Можно через UDP NAT обмануть роутер. Можно попробовать прокинуть порт автоматом через UPnP. Можно попросить юзера прокинуть порт. В общем случае эта задача не решается, должен быть посредник с белым IP (но не обязательно центральный сервер).
Здравствуйте, vsb, Вы писали:
M>>Объясните, пожалуйста, как можно передать данные с компа на комп, минуя центральный сервер, если оба компа спрятаны под своими НАТами? vsb>Можно через UDP NAT обмануть роутер. Можно попробовать прокинуть порт автоматом через UPnP. Можно попросить юзера прокинуть порт.
Спасибо.
vsb>В общем случае эта задача не решается,
Спасибо
vsb> должен быть посредник с белым IP (но не обязательно центральный сервер).
В чем разница? Какую дополнительную смысловую нагрузку вкладываешь в понятие "центральный сервер"? Естественно, в контексте вопроса, а не вообще.
Здравствуйте, Mihas, Вы писали:
vsb>> должен быть посредник с белым IP (но не обязательно центральный сервер). M>В чем разница? Какую дополнительную смысловую нагрузку вкладываешь в понятие "центральный сервер"? Естественно, в контексте вопроса, а не вообще.
Например в старом скайпе были классы клиентов, которые становились супернодами. Если у компьютера белый IP и хороший канал, скайп на нём переходил в особый режим и начинал проксировать трафик других клиентов, т.е. тот же видеозвонок между двумя безнадёжно заначенными клиентами мог идти через эту суперноду. Центральным сервером такой компьютер наверное называть не совсем корректно (хотя вопрос терминологии, с точки зрения TCP/IP он конечно был сервером). В контексте вопроса центральный сервер это что-то одно (ну или кластер, не суть), про которое знают все клиенты, это в моей интерпретации. А если клиенты могут сами становиться такими промежуточными серверами, это позволит убрать много проблем этих самых центральных серверов (платить за трафик, размещать их поближе к клиентам, общая точка отказа).
Вообще старый скайп был на удивление мощной программой в этом плане. Классическая ситуация — экскаватор перебивает оптику, в офисе пропадает интернет, но локалка работает. Запущенный скайп продолжает работать, все внутри офиса продолжают друг с другом общаться даже не замечая того, что интернета нет, только с внешним миром уже нет связи.
Здравствуйте, Mihas, Вы писали:
vsb>> должен быть посредник с белым IP (но не обязательно центральный сервер). M>В чем разница? Какую дополнительную смысловую нагрузку вкладываешь в понятие "центральный сервер"? Естественно, в контексте вопроса, а не вообще.
Да я же вроде в самом начале написал, разве не понятно? Можно выделить условно три варианта "центральных серверов" различной степени контроля:
1. Максимальный. На центральном сервере хранится база пользователей и через него идут все потоки данных (аудио, видео). Этот способ априори "пробивает" (точнее ему это по факту просто не надо) все маршрутизаторы и т.п. Но для пользователя тут есть жирный минус в том, что вся сеть и все данные (включая видео твоей подруги без одежды ) находятся под контролем владельца сервера. Правда и ему это обходится не дёшево (на такое требуются серьёзные мощности).
2. Обычный централизованный. На центральном сервере хранится база пользователей, плюс он используется как публичный сервер для пробивания маршрутизаторов. А данные (аудио, видео) гуляют непосредственно между пользователями, без посредников (после установки сессии через центральный сервер). Из плюсов тут понятно что защита непосредственных данных. Но при этом владелец сервера всё ещё может видеть с кем ты общался и может управлять твоим эккаунтом. Ну и такой способ не позволяет пробиться сквозь одну разновидность особо извращённой конфигурации маршрутизаторов (впрочем она редко встречается).
3. Децентрализованный. Используется распределённая база пользователей. Существуют некие специальные публичные сервера, используемые исключительно для пробития сквозь NAT. Они в какой-то степени напоминают центральные, но т.к. частенько не имеют никакого отношения к авторам сервиса (кругом полно халявных STUN серверов), то это лишь похожесть. В данном варианте авторы сервиса уже никак не контролируют ни данные пользователя, ни его эккаунт, ни его активность. При этом "пробиваемость" сквозь NAT полностью аналогична пункту 2. А единственный минус такой схемы в том, что твой компьютер и сеть, подключённые к такой системе, непрерывно используется другими людьми для её поддержания (хотя там и копейки, но всё равно факт есть факт).
Скайп вроде как использует смешанную схему из пунктов 1 и 2. Jabber — реализует пункт 2. Тох — это пункт 3.
P.S. В данной схеме не учтён вопрос использования шифрования данных на пользовательской стороне, который формально немного меняет картину. Но т.к. подобных приемлемых централизованных сервисов всё равно не наблюдается, то по сути всё остаётся по прежнему.
Здравствуйте, Vetal_ca, Вы писали:
V_>Альтернативный аккаунт на серваке по RDP, спрятанный от жены?
Да не, просто некоторые челы выбирают себе такие ники что проще переименовать в что нить знакомое чем думать потом кто ж это такой.
Здравствуйте, vsb, Вы писали:
vsb>Вообще старый скайп был на удивление мощной программой в этом плане. Классическая ситуация — экскаватор перебивает оптику, в офисе пропадает интернет, но локалка работает. Запущенный скайп продолжает работать, все внутри офиса продолжают друг с другом общаться даже не замечая того, что интернета нет, только с внешним миром уже нет связи.
А что тут особенного? Скайп может легко понять, что некоторые пользователи находятся в одной сети.
Причём когда я полез смотреть в память откуда это пришло то там похоже не только спам может лезть.
Этот wire похоже состоит из жабаскрипта как бы не полностью.
CC>Причём когда я полез смотреть в память откуда это пришло то там похоже не только спам может лезть. CC>Этот wire похоже состоит из жабаскрипта как бы не полностью.
Здравствуйте, Vetal_ca, Вы писали:
V_>Странно, может это что-то другое?
Дык а больше нечему. У меня никаких прог никогда не было чтоб подобные попапы вспопапливали.
Да и строки от этой мессаги нашёл потом именно в памяти их процесса.
V_>Wire все исходники выложены, включая бэкенд: V_>https://github.com/wireapp
И что? Толку c того ноль.
Я и без сурсов в нём порылся и охренел от масштабов открывшегося мне пипца.
Людей которые так делают надо сцаными тряпками гнать от обеспечения любой безопасности.
У них внутри сплошной жабаскрипт во всём, включая рендеринг. А жабаскрипт он интересный, если вдруг как то можно протянуть внутрь их жабаскриптины другой скрипт и выполнить его то если не сделаны жёсткие и суровые песочницы то можно сделать с ним всё что угодно.
А поскольку у них там есть интеграция со всякими spotify, soundcloud, ютубами и прочим вебом, которая при нахождении в мессаге ссылки на эти ресурсы тянет с ресурса и показывает активный контент, который, кто бы мог подумать, содержит всякие разные жабаскрипты.
Т.е. например ссылку на soundcloud можно прямо там, в мессенджере, проиграть со всей его жабаскриптиной, точь в точь как на самом сайте soundcloud.
А через сторонний сайт и ссылки с того сайта вообще хз что можно напихать. Вот как раз после отправки одному из моих контактов пары ссылок на музыку с soundcloud спам у меня и вылез.
А беда этого всего в том, что это дырища архитектурная.
Вот какому дебилу пришло в голову на насквозь дырявом жабаскрипте мессенджер писать?
Протокол у них может и секурный, зато в самой проге оказывается одной стены нету — тащи что хочешь.
Здравствуйте, Sharov, Вы писали:
vsb>>Вообще старый скайп был на удивление мощной программой в этом плане. Классическая ситуация — экскаватор перебивает оптику, в офисе пропадает интернет, но локалка работает. Запущенный скайп продолжает работать, все внутри офиса продолжают друг с другом общаться даже не замечая того, что интернета нет, только с внешним миром уже нет связи.
S>А что тут особенного? Скайп может легко понять, что некоторые пользователи находятся в одной сети.
Ну особенное в том, что таких програм раз два и обчёлся. Skype всё же с точки зрения пользователя кажется клиент-серверной программой да и является такой сейчас. Вот слак какой-нибудь или трелло попробуй использовать без интернета. А ведь то же самое, сообщения передаются пользователям и всё.