Спустя 34 года Microsoft открыла код Калькулятора Windows (телеметрия и баги)

Спустя 34 года Microsoft открыла код Калькулятора Windows (телеметрия и баги) Microsoft, Не работает, Open Source, Linux, Длиннопост, Калькулятор, Телеметрия, Windows

Маленький шаг для сообщества и гигантский для Микрософт

Это приложение входило во все дистрибутивы ОС от Microsoft начиная с 1985 года, когда свет увидела Windows 1.0. Код открыт под лицензией MIT. Исходный код калькулятора Windows доступен на GitHub.

Спустя 34 года Microsoft открыла код Калькулятора Windows (телеметрия и баги) Microsoft, Не работает, Open Source, Linux, Длиннопост, Калькулятор, Телеметрия, Windows

пользователи уже заполонили багтрекер: говорят не работает под гну\линукс :-D Windows Calculator does not work on gnu/linux

Спустя 34 года Microsoft открыла код Калькулятора Windows (телеметрия и баги) Microsoft, Не работает, Open Source, Linux, Длиннопост, Калькулятор, Телеметрия, Windows

Особенно внимательные обнаружили телеметрию. Телеметрию в калькуляторе! Если ты случайно вставишь предыдущий скопированный текст в калькулятор (думая, что ты вставляешь скопированное число), то программа автоматически отправит этот текст в Майкрософт.

void TraceLogger::LogInvalidInputPasted(wstring_view reason, wstring_view pastedExpression, ViewMode mode, int programmerNumberBase, int bitLengthType)

{

if (!GetTraceLoggingProviderEnabled()) return;


LoggingFields fields{};

fields.AddString(L"Mode", NavCategory::GetFriendlyName(mode)->Data());

fields.AddString(L"Reason", reason);

fields.AddString(L"PastedExpression", pastedExpression);

fields.AddString(L"ProgrammerNumberBase", GetProgrammerType(programmerNumberBase).c_str());

fields.AddString(L"BitLengthType", GetProgrammerType(bitLengthType).c_str());

LogTelemetryEvent(EVENT_NAME_INVALID_INPUT_PASTED, fields);

}

IT-юмор

5.6K постов52.5K подписчиков

Добавить пост

Правила сообщества

Не публикуем посты:
1) с большим количеством мата
2) с просьбами о помощи
3) не относящиеся к IT-юмору

Вы смотрите срез комментариев. Показать все
570
Автор поста оценил этот комментарий
*Обычный пользователь зашёл в комментарии*
Иллюстрация к комментарию
раскрыть ветку (71)
191
Автор поста оценил этот комментарий
Резюмирую: Майкрософт отправляет себе на сервера даже ту информацию, которую мы случайно можем ввести в калькулятор.
Пример: мы копируем ссылку с Порнхаба, а потом случайно вставляем ее в калькулятор.
В итоге данная информация отправится на сервера Майкрософта, где будет обработана.
раскрыть ветку (69)
131
Автор поста оценил этот комментарий
Вот мне интересно у них там жесткие диски бесконечные чтоле, чтобы записывать даже такую информацию от каждого пользователя?
раскрыть ветку (27)
124
Автор поста оценил этот комментарий

Нет, у них доход от наших данных больше расходов на их хранение

раскрыть ветку (19)
137
Автор поста оценил этот комментарий
Они не боятся, что их могут заддосить через калькулятор?
раскрыть ветку (13)
95
Автор поста оценил этот комментарий

Отличная идея!

Предпросмотр
раскрыть ветку (12)
6
Автор поста оценил этот комментарий

Это как-то сложно выглядит

раскрыть ветку (11)
31
Автор поста оценил этот комментарий

Ну, если прям всё, что туда вставляют, отправляется к мелкомягким, то не сложно. Для начала даже вполне может быть достаточно паре десятков юзеров примерно синхронно вставить что-то очень большое туда, гигабайтов на десяток. Конечно, это просто фиксится, но определённый эффект может произвести. Пофиксят то не сразу. И врядли у них сервер, на который отправляется эта инфа, заточен под сколь-нибудь ощутимый трафик. Может сработать. )

раскрыть ветку (10)
13
Автор поста оценил этот комментарий

Десяток юзеров никак не забьют распределенные серверы

раскрыть ветку (4)
19
Автор поста оценил этот комментарий

А тут вопрос в архитектуре. Вряд ли под калькулятор кто-то прям выстраивал распределённую сеть.

раскрыть ветку (3)
31
Автор поста оценил этот комментарий
Так калькулятор лишь инициализирует событие отправки. Это видно по коду. Всё идёт через общий канал что от калькулятора, что от системы, что от браузера. Если бы было всё так просто... Это всё-таки мелкомягкие, а не региональный сайт на шаред хостинге. Денег не хватит их заддосить
11
Автор поста оценил этот комментарий

А кто сказал, что она работает только на калькулятор? Легче создать одну огромную систему, куда будет стекаться информация от всех сервисов, чем креативить сервис только под калькулятор.

Автор поста оценил этот комментарий
Само собой. Но и отдельный сервер никто не поднимал. В системы лог-аналитики можно вообще терабайтами всякое говно сливать, разбирается это всё потом по тегам. И ваши 10 гб с учётом дедупликации и сжатия для системы хранения биг дата - пшик.
1
Автор поста оценил этот комментарий
Ну так кто возьмётся за организацию проверки? Что вставлять будем?
раскрыть ветку (3)
3
Автор поста оценил этот комментарий

Я не могу, у меня лапки :)

7
Автор поста оценил этот комментарий

Надо в блокноте открыть ГТА 5, скопировать и вставить в калькулятор.

раскрыть ветку (1)
Автор поста оценил этот комментарий

Ничего не выйдет

Автор поста оценил этот комментарий
Телеметрия отправляется не постфактум. И большой объем данных тоже не будет отправляться сразу целиком, а мелкими кусками. Ежесекундно им отправляется какая угодно телеметрия.
4
Автор поста оценил этот комментарий
А можешь примерно написать схему получения дохода от этой информации? Откровенно мошеннические они использовать не будут, а на чем ещё можно заработать? Информация для контекстной рекламы? Что то я не уверен насчёт её большой прибыльности
раскрыть ветку (4)
6
Автор поста оценил этот комментарий

Ну посмотри доходы гугла и фсбука, если не уверен.

3
Автор поста оценил этот комментарий

Если ты считаешь проценты от суммы в миллионах и живешь в России, тебе пора рекламировать кредиты и ипотеки. Если ты случайно вставил ссылку на такси, тебе будут рекламировать такси. Доход с этого очень большой

раскрыть ветку (2)
2
Автор поста оценил этот комментарий
Ну я про контекстную рекламу сразу сказал, но не вижу что бы на ней много можно заработать было именно в случае с копированием в калькулятор, одно дело пишешь в поиске что-то, там да, другое дело в калькулятор случайно попадёт какая то ерунда, хорошо если один из ста таких редких случайностей даст какой то результат, а обрабатывать и хранить надо дофига этого мусора
раскрыть ветку (1)
2
Автор поста оценил этот комментарий

При всём желании я за свою жизнь не передал через виндовский калькулятор больше метра текста. Пусть даже по 10 метров на калькулятор. пусть суммарно 1 миллиард копий винды продано, 10 миллиардов мегабайт, 10 петабайт - верхняя граница количества информации, загенеренной с калькуляторов. Терабайт стоит около 2к для частного лица, майкрософт небось хотя бы в два раза дешевле. 10 лямов за полную статистику калькуляторов за всё время. Контекстная реклама стоит 15 центов за переход по ссылке, пусть 10 рублей. Миллион таргетированных калькулятором переходов во всём мире окупит это хранилище. Поскольку расчёты очень на пальцах, то время окупаемости могу оценить только на глаз, думаю лет за пять окупится. По факту скорее всего быстрее

2
Автор поста оценил этот комментарий
Скорее всего усредняются до необходимой величины
Автор поста оценил этот комментарий

А с чего вы решили что оно на жесткие диски записывается?

раскрыть ветку (2)
Автор поста оценил этот комментарий
А на что ещё?
раскрыть ветку (1)
Автор поста оценил этот комментарий

На кассеты.

1
Автор поста оценил этот комментарий

Скажу по очень боольшому секрету - у них свои методы сжатия файлов. Посмотрите на те же ролики обучающие, расположенные на сайте майкрософт, доступные с учебной (студенческой) учётной записи. Ролики по 20-30 минут, весят от 800кб до 3 мегабайт, вмещают видео и звук.

1
Автор поста оценил этот комментарий

у телеграмма бесконечные

Автор поста оценил этот комментарий
Слышал я где-то, что в штатах дата центры построены с таким объемом памяти, что всему миру лет на 15-20 хватит.
50
Автор поста оценил этот комментарий

Вообще-то показанный кусок кода - стандартный логгер, который пишет невалидный ввод пользователя (LogInvalidInputPasted). Если где-то в коде и есть сетевая передача логов, то в посте об этом ни слова. Мне кажется или пост высосан из одного места?

раскрыть ветку (9)
5
Автор поста оценил этот комментарий
А откуда растут ноги у LogTelemetryEvent? В код посмотри внимательнее
раскрыть ветку (7)
29
Автор поста оценил этот комментарий

Лига детективов. Можно долго смотреть в код и изучать, когда он срабатывает (этот логгер всегда подключен или только в заданном окружении или это вообще dead code), что при этом сообщается юзеру (привет GDPR), анонимизируется ли запрос и тд.


Рабочее доказательство - это запущенный сниффер типа WireShark, в котором четко видно, как передаются пользовательские данные на сторонние сервера при пользовании одним лишь калькулятором.


Если все так очевидно, я могу и заяву в MS отправить, потому что живу в ЕС. Только вот отправлять нечего, одна вода.

раскрыть ветку (6)
1
DELETED
Автор поста оценил этот комментарий

This project collects usage data and sends it to Microsoft to help improve our products and services. Read our privacy statement to learn more. Telemetry is disabled in development builds by default, and can be enabled with the SEND_TELEMETRY build flag.


У них на гитхабе написано, что собирают и отправляют.

раскрыть ветку (5)
6
Автор поста оценил этот комментарий
По умолчанию телеметрия отключена в сборках разработки и может быть включена с помощью флага сборки SEND_TELEMETRY.

Написано как раз противоположное.

раскрыть ветку (4)
Автор поста оценил этот комментарий

"Telemetry is disabled in development builds".

У тебя по твоему на винде релизной стоит девелоперский или релизный?

раскрыть ветку (1)
Автор поста оценил этот комментарий

Ну, когда выложат релизный, тогда и будем его обсуждать, ок?

2
DELETED
Автор поста оценил этот комментарий

И? Вы думаете, тогда код исчезает, если это флаг выключен? Нет, код остается, а данные не отправляются. И написано, только про сборку на гитхабе, скорее всего в стандартной сборке телеметрия включена.

раскрыть ветку (1)
7
Автор поста оценил этот комментарий

Вы же сами написали, что на гитхабе "собирают и отправляют". А теперь оказывается, что как раз там не отправляют, но вот в рабочей среде - точно отправляют.

Наверное, в Микрософт еще и флаг этот добавили специально для гитхаба. Не проще было выпилить этот кусок из кода?

DELETED
Автор поста оценил этот комментарий

отправляет все заполненные поля. а в полях заполняются и data (как я понял, скопированный текст)

7
Автор поста оценил этот комментарий
Обработано
Иллюстрация к комментарию
29
Автор поста оценил этот комментарий
Блин, чё за колхоз одолевает интернет?
не серверА, а сЕрверы
не драйверА, а дрАйверы
не компьютерА, а компьЮтеры
не клавиатурА, а клавиатУры
раскрыть ветку (26)
54
Автор поста оценил этот комментарий
Прошу прощения. Русский знаю плохо.
Мой родной язык - Фортран.
раскрыть ветку (13)
50
DELETED
Автор поста оценил этот комментарий
Вот и вали к себе в Фортранистан!
раскрыть ветку (5)
11
Автор поста оценил этот комментарий
Error while read : unknown command "вали"
раскрыть ветку (4)
8
Автор поста оценил этот комментарий

goto

раскрыть ветку (3)
Автор поста оценил этот комментарий

if

раскрыть ветку (2)
Автор поста оценил этот комментарий

else

раскрыть ветку (1)
1
Автор поста оценил этот комментарий

return

7
Автор поста оценил этот комментарий
Я думал твоя нация вымерла.
раскрыть ветку (1)
6
Автор поста оценил этот комментарий
последний из фортранистан
6
Автор поста оценил этот комментарий
Иллюстрация к комментарию
раскрыть ветку (1)
2
Автор поста оценил этот комментарий

Админь.

ещё комментарии
6
Автор поста оценил этот комментарий
Дык вроде жеж КомпУктеры, не?
раскрыть ветку (1)
Автор поста оценил этот комментарий
ЭВМ же...
8
Автор поста оценил этот комментарий
Иллюстрация к комментарию
раскрыть ветку (6)
3
Автор поста оценил этот комментарий
это родительный падеж: нет сЕрвера, там даже ударение стоит
раскрыть ветку (4)
2
Автор поста оценил этот комментарий

Прочитай чуть больше чем первую строчку.

В профессион. речи серверА, серверАм
раскрыть ветку (2)
Автор поста оценил этот комментарий
Жаргонизм же
раскрыть ветку (1)
1
Автор поста оценил этот комментарий

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

Автор поста оценил этот комментарий

Есть какой то прикол насчёт того когда слово употребляют в профессиональном смысле и тогда ударение идёт на серверА. Так же у строителей вполне можно встретить клеЯ и тому подобные словечки которые не особо привычны слуху, но вполне себе имеют место :)

1
DELETED
Автор поста оценил этот комментарий

И что?

1
Автор поста оценил этот комментарий
Не договорА, а договорЫ
Автор поста оценил этот комментарий
Не драйвера, но таки дрова! :)
2
Автор поста оценил этот комментарий
Первые два варианта уже устоялись, несмотря на неправильность. Два последние вроде все правильно используют.
1
Автор поста оценил этот комментарий
Интересно зачем нужен калькулятор, если ты сидишь на порнхабе?
раскрыть ветку (2)
Автор поста оценил этот комментарий
А вы среднестатистическое число фрикций в уме считаете?
раскрыть ветку (1)
1
Автор поста оценил этот комментарий

об этом я как то неподумал

36
Автор поста оценил этот комментарий
Текст над текстом. Оригинальненько
Вы смотрите срез комментариев. Чтобы написать комментарий, перейдите к общему списку