Рубрика «телеметрия» - 3

Microsoft патентует способ следить за пользователем с помощью ИИ и регистрации всех действий в Windows - 1
«Посредник» — предлагаемый Microsoft новый компонент Windows 10. Возможно, он будет выглядеть именно так

Последняя операционная система от Microsoft, Windows 10, занимает все большую долю рынка ОС. Частично это вызвано тем, что Windows 10 получила одобрение многих пользователей. А частично — тем, что корпорация Microsoft старается активно продвигать свой продукт. За прошедший год методы продвижения Windows 10 ее создателями много раз становились предметом обсуждения в СМИ.

Еще один нюанс — это передача Windows 10 большого количества пользовательских данных на сервера компании. Телеметрия в «десятке» беспокоит большое количество пользователей, которые пытались узнать, зачем Microsoft столько данных. Корпорация в ответ заявляла, что получаемая информация обезличена и служит только для улучшения качества ее программных продуктов. Но пользователям все это не слишком нравится. Сейчас редмондская компания рискует вызвать новую волну недовольства. Дело в том, что Microsoft подала заявку на патент для способа слежения за пользователем при помощи нового компонента ОС.
Читать полностью »

image

Месяц назад Евгений Гречников grechnik опубликовал пост «Стандартная библиотека Visual Studio 2015 и телеметрия», в котором рассказал об интересной находке: оказалось, что в любом бинарнике, скомпилированном VS2015 из программы на C или C++, есть код, который может писать логи — и выглядело это всё слегка подозрительно, особенно в силу отсутствия исходников telemetry.cpp.

Три дня назад этот вопрос был снова поднят на Reddit, где время от времени в комментариях появляются разработчики Visual Studio — и вот сегодня общественности наконец-то удалось получить вполне себе официальный ответ от представителя Microsoft.

Самое важное: телеметрия будет убрана из статических библиотек в обновлении Update 3.
Читать полностью »

Стандартная библиотека Visual Studio 2015 и телеметрия - 1

Преамбула

Программы на C и C++, как правило, проводят бо́льшую часть своей жизни внутри функции main() и функций, прямо или косвенно вызываемых из main(). Тем не менее, на самом деле выполнение программы начинается вовсе не с main(), а с некоторого кода из стандартной библиотеки, поставляемой вместе с компилятором. Таковой код, по идее, должен подготавливать окружение для других функций стандартной библиотеки, которые, возможно, позовёт main(), а также параметры самой main() (под Windows; Unix-системы имеют тенденцию передавать argc/argv/envp в подготовленном виде прямо при запуске процесса, но речь не о них). Симметрично, завершающий return в функции main() — вовсе не последняя инструкция программы, после него следует ещё немного кода из стандартной библиотеки.
В Visual Studio «настоящая» точка входа в программу называется mainCRTStartup. В комплекте с VS идут исходники стандартной библиотеки, в VS2015 определение mainCRTStartup находится в %PROGRAMFILES(X86)%VCcrtsrcvcruntimeexe_main.cpp, но, впрочем, всю работу выполняет exe_common.inl рядом. Давайте туда посмотрим.

...
        // If this module has any thread-local destructors, register the
        // callback function with the Unified CRT to run on exit.
        _tls_callback_type const * const tls_dtor_callback = __scrt_get_dyn_tls_dtor_callback();
        if (*tls_dtor_callback != nullptr && __scrt_is_nonwritable_in_current_image(tls_dtor_callback))
        {
            _register_thread_local_exe_atexit_callback(*tls_dtor_callback);
        }

        __telemetry_main_invoke_trigger(nullptr);

        //
        // Initialization is complete; invoke main...
        //

        int const main_result = invoke_main();

        //
        // main has returned; exit somehow...
        //

        __telemetry_main_return_trigger(nullptr);

        if (!__scrt_is_managed_app())
            exit(main_result);

        if (!has_cctor)
            _cexit();

        // Finally, we terminate the CRT:
        __scrt_uninitialize_crt(true, false);
        return main_result;
...

Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js