Рубрика «разработка под windows» - 74

История одного подвига

Несколько недель назад GLPI ни с того, ни с сего стал зависать на загрузке страницы заявки. Жалоба поступила от моих сослуживцев, когда я находился в отпуске. Открыв страницу в браузере я не обнаружил проблемы, о чем уведомил своих коллег.

К сведению — у меня Firefox на Linux, а у них Chrome на Windows.

Они настаивали на проблеме. И я специально установил на свой нетбук зоопарк браузеров: Chrome, Opera (Blink, Presto). Проверил работу с GLPI в них — проблемы не обнаружил. Когда вышел на работу, проверил на рабочем компьютере под Windows и с удивлением обнаружил, что кроме Firefox, ни один из выше перечисленных браузеров не грузит страницу задачи. По совету одного из знакомых php программистов полез в код страницы и выяснил, что загрузка спотыкается о javascript устанавливающих дату создания заявки и дату выполнения. Памятуя о последних обновлениях Windows, связанных с изменениями часового пояса во Владивостоке, из-за которых у меня время раньше положенного срока перескочило на час назад, я попробовал поменять часовой пояс с Владивосток на Брисбен — проблема пропала.
Читать полностью »

Компания Microsoft выпустила оповещение безопасности SA 3010060, в котором сообщается о новой 0day уязвимости в компоненте OLE package manager (Packager.dll) для Windows Vista+. Обновление для системной библиотеки Packager.dll вышло на прошлой неделе в рамках ежемесячного patch tuesday для закрытия другой 0day уязвимости (CVE-2014-4114), о которой мы писали здесь. В уже исправленном компоненте обнаружена уязвимость CVE-2014-6352. Эта уязвимость также как и ее предшественница уже используется атакующими для удаленного исполнения кода через специальным образом сформированный файл презентации PowerPoint со встроенным OLE-объектом.

В обновлении MS14 060 обнаружен 0day

Для помощи пользователям было выпущено решение FixIt, которое можно скачать по этой ссылке. В типичном сценарии атаки с помощью этой уязвимости, атакующие отправляют вредоносный файл презентации PowerPoint на почтовый ящик пользователя. Далее эксплойт позволяет загрузить с удаленного сервера вредоносное ПО и установить его в систему. Пользователям EMET 5.0 можно добавить специальную настройку, которая позволит блокировать действия эксплойта. Кроме этого, UAC также отобразит соответствующее предупреждение о повышении прав при исполнении эксплойта.

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

Здравствуй, читатель.

Я люблю Python таким, какой он есть: шустрый, лаконичный, имеет из-под коробки очень много полезных вещей (например, можно узнать, является ли число полиморфом всего в 1 строку).
На нем в данный момент пишу клеточный автомат — упрощенное воссоздание жизни в чашке Пельтье. 5 классов живых существ, наследственность, влияние «силы водорода» на жизнь и развитие клетки. Но это уже другая история.

Собственно, это не осталось незамеченным со стороны окружающих. Появились люди, которые хотели «погонять» за свою колонию цианобактерий и вывести их в элиту своей чашки, вытеснив других. Но тут проявляется, по мнению некоторых, не очень хорошая особенность данного ЯП — он (почти) не компилируем — приходится с собой таскать 80 мегабайт дополнительного груза. А что если…
Читать полностью »

Базовым адресом по умолчанию для DLL является 0x10000000, но для исполняемых файлов это 0x00400000. Почему именно такое особое значение для EXE? Что такого особенного в 4 мегабайтах?

Это имеет отношение к размеру адресного пространства, отображаемого одной таблицей страниц в архитектуре x86, и такую конструкцию выбрали в 1987 году.

Единственным техническим требованием для базового адреса EXE является кратность 64 КБ. Но некоторые варианты базового адреса лучше, чем другие.

Цель выбора базового адреса состоит в минимизации вероятности, что модули будут перемещены. Это означает, что следует предотвратить столкновение 1) с другими объектами, которые уже в адресном пространстве (что и вызовет перемещение); 2) а также с объектами, которые могут появиться в адресном пространстве позже (форсируя их перемещение). Для исполняемых файлов избегать конфликта с объектами, которые могут появиться позже, означает уход из района адресного пространства, который может быть заполнен библиотеками DLL. Поскольку сама операционная система помещает файлы DLL в старшие адреса и базовым адресом по умолчанию для несистемных DLL является is 0x10000000, то базовый адрес для EXE должен быть где-то младше 0x10000000, и чем младше, тем больше места останется до того, как вы начнёте конфликтовать с библиотеками. Но насколько низко нужно заходить?
Читать полностью »

Рады сообщить, что вчера в продажу поступил перевод шестого издания легендарной книги Чарльза Петцольда «Programming Windows», которого пришлось ждать более 15 лет! Книга посвящена разработке приложений для Windows 8 с использованием C# и XAML.

image

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

Около года назад мы начали работу над Evernote для Windows Phone 7. Тогда нашей первоочередной задачей было заставить наш SDK, использующий C#, работать с Silverlight, чтобы получить возможность доступа к Evernote API. Наш API построен на Apache Thrift, а генератор кода Thrift для C# используют синхронный HTTP-стек на .NET. Silverlight, между тем, поддерживает только асинхронную сетевую модель. Поэтому Дамиану Мэйерсу, нашему главному разработчику клиента для Windows Phone 7, пришлось какое-то время подумать над тем, как же заставить все это работать. В результате он внес изменения (подробно описав их у себя в блоге), которые позволили генератору кода C# и Thrift поддерживать обе сетевые модели. Этот код вы можете найти в нашем SDK для C#.

И вот год спустя мы вновь работаем над JavaScript-приложениями для Windows 8 Metro, которым необходимо обеспечить доступ к Evernote API из managed-кода C#. Вновь сталкиваемся с несовместимостью Thrift с, на сей раз, API .NET для Metro-приложений. Сегодня мы решили поделиться с вами способом решения этой проблемы.
Читать полностью »

1. Стриминг в браузеры в реальном времени – решения нет. Или есть?

Вот уже примерно как 20 лет пропускная способность сетей и вычислительные возможности компьютеров позволяют сжатие и транслирование звука и видео по IP протоколу в режиме, близком к реальному времени. За это время центральными стандартизирующими организациями, такими как W3C и IETF, а также множеством больших и малых компаний, разработаны сотни стандартов и протоколов для эффективного сжатия, упаковывания, пересылки, синхронизации и проигрывания аудио-видео контента на компьютерах и мобильных устройствах. Видеозахвату, сжатию и трансляции по IP в реальном времени было уделено особое внимание, так как, во-первых, именно IP наиболее дёшев и общедоступен на всех уровнях, а во-вторых, технологии видеоконференций и видеонаблюдения жизненно необходимы и пользуются огромным спросом.
Читать полностью »


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