Обновить
179.37

Windows *

Разработка под операционные системы от Microsoft

Сначала показывать
Порог рейтинга
Уровень сложности

Почему слишком быстрые мыши могут ломать FPS в играх

Уровень сложностиПростой
Время на прочтение8 мин
Количество просмотров23K

При разработке или портировании игры для PC приходится иметь дело с пользовательским вводом, который обычно разделяется на три категории источников: мышь, клавиатуру и геймпады.

По началу может показаться, что работать с мышью и клавиатурой проще всего, но на самом деле это не так; по крайней мере, когда мы говорим о Windows. Множество очень популярных AAA-игр было выпущено с серьёзными проблемами ввода с мышами верхнего ценового диапазона, и в некоторых популярных движках по-прежнему существует эта проблема.

В этой статье мы изучим причины этого, а также создадим работающее, но неудовлетворительное решение. Думаю, для правильной работы с такими аксессуарами, как рули, джойстики и другие симуляторные устройства, требуется целый дополнительный уровень сложности, но пока мне пока не доводилось работать над игрой, в которой бы нужен был такой ввод, поэтому в статье мы не будем его рассматривать.

Читать далее

Выводы из глобального сбоя CrowdStrike

Время на прочтение3 мин
Количество просмотров3.9K
Как известно, 19 июля 2024 года произошёл серьёзный инцидент с апдейтом программного обеспечения CrowdStrike Falcon для защиты компьютеров (отчёт Microsoft, отчёт CrowdStrike). Обновление конфигурации вызвало ошибку безопасности чтения из границ памяти в ELAM-драйвере CSagent.sys. Поскольку тот работает на уровне ядра Windows, то миллионы ПК ушли в BSOD.

Количество пострадавших официально оценили в 8,5 млн:



Microsoft поясняет, что здесь количество полученных отчётов. Реально пострадавших гораздо больше. Серьёзно пострадали банки и авиакомпании. В частности, Delta. Общий ущерб для мировой экономики от бага страховщики оценили в $5,4 млрд.

В чём же главная проблема и «защитного софта» с драйверами ядра Windows?
Читать дальше →

Поиск открытых сетевых ресурсов и их права доступа

Уровень сложностиСредний
Время на прочтение16 мин
Количество просмотров6.8K

Общие сетевые ресурсы в домене Active Directory используются для упрощения и централизации доступа к файлам, папкам, принтерам и другим ресурсам в корпоративной сети. Это может привести к нарушению одной из основ информационной безопасности – конфиденциальности

Читать далее

Ему не место на помойке: хакаем 15-летний электронный переводчик и пишем под него приложения

Уровень сложностиСредний
Время на прочтение12 мин
Количество просмотров14K

Дисклеймер: статья очень подробная и во всех красках ‭‭«простым языком‭» описывает процесс хакинга и программирования под такой необычный девайс. Так что даже если вас не интересуют электронные переводчики и минипк, статья может оказаться для вас занимательной!

Я всегда любил находить новые применения стареньким девайсам, даже если обход защиты и разработка для них чего-то полезного занимала у меня некоторое время. И если с прошлыми моими статьями, где я привносил новую жизнь смартфонам на Android 2.3, а затем и на Android 1.5, всё понятно – девайсы получили возможность не только быть звонилками, но и вполне полноценными смартфонами, то в случае таких необычных девайсов, как электронные переводчики – всё гораздо интереснее, ведь по сути, это дешёвые альтернативы таким легендарным устройствам, как HP Jornada! Недавно я купил переводчик Ectaco за 1.500 рублей на Windows CE, обошел встроенную оболочку, написал программу, которая твикает реестр и даже портировал туда эмулятор NES. Интересно узнать об этом процессе во всех подробностях? Тогда добро пожаловать под кат!

Читать далее

Кастомизация окна прогресса в оболочке Windows

Уровень сложностиСредний
Время на прочтение9 мин
Количество просмотров5.3K

Для запуска Dolus на вашей системе мы используем кастомный загрузчик. Этот скромный исполняемый файл скачивает последнюю версию программы и сразу всё настраивает. Процесс происходит быстро и легко, плюс вы всегда оказываетесь при последней версии.

Но есть здесь и нюанс: загрузчик — это первое, что встречают пользователи, поэтому ему нужен GUI. А поскольку написан он на C# и с целью сохранения лёгкости компилируется перед исполнением (AOT, ahead-of-time), традиционные решения исключаются. Соблазнительным вариантом выглядит Avalonia, но в этом случае сам установщик станет больше той программы, которую он должен устанавливать.

Итак, что у нас остаётся? Можно углубиться в Windows API и создать собственное «окно», но это кроличья нора, сулящая кошмары при обслуживании. К счастью, в Windows есть диалоговое окно прогресса.
Читать дальше →

WindowsHostsManager: Консольная утилита для работы с файлом hosts в Windows на Python

Уровень сложностиПростой
Время на прочтение4 мин
Количество просмотров2.8K

Иногда возникает необходимость внести изменения в файл hosts в Windows. Вместе с этой потребностью родилась идея создать небольшую утилиту на Python, которая бы упростила процесс редактирования этого файла. В результате появился WindowsHostsManager — инструмент, созданный всего за 30 минут и предназначенный для удобного управления файлом hosts.

Читать далее

Как я исправил сбой Microsoft Store в Windows (и при чём здесь Python)

Уровень сложностиСредний
Время на прочтение6 мин
Количество просмотров34K

Весной 2022 года у меня неожиданно перестал работать Microsoft Store. Вместо загрузки списка приложений (хотя бы бесплатных) просто отображалось сообщение о невозможности загрузить страницу и код ошибки: 0x80131500.

Читать далее

Интригующее расследование QUEENCREEK

Уровень сложностиСредний
Время на прочтение4 мин
Количество просмотров7.8K

На ваших машинах — будь то домашних ПК или корпоративных серверах — установлено много программного обеспечения, которое разработано с учётом автоматического запуска без участия пользователя.

Вот хорошие примеры:

  • Жизненно важные системные и пользовательские службы, такие как подключение к сети или синхронизация времени, которые запускаются при старте системы.
  • Антивирус или другие решения для обеспечения безопасности, запускающиеся сразу после загрузки ОС.
  • Проверка обновлений критического ПО, выполняющаяся каждые несколько часов.

К сожалению, программное обеспечение, которое запускается автоматически, является очень заманчивым для вредоносного ПО. Такое ПО зачастую устанавливает автоматизированные исполняемые файлы, которые могут периодически активировать свой вредоносный код с целью сохранить присутствие в системе. В связи с этим важно обеспечить, чтобы в системе не было никаких подозрительных автоматизированных скриптов, которые могут оказаться вредоносными (или просто нежелательными).
Читать дальше →

Как создавалось меню «Пуск» в Windows: от битмапов до динамического рендеринга

Уровень сложностиПростой
Время на прочтение4 мин
Количество просмотров3.3K

В мире разработки операционных систем немногие элементы пользовательского интерфейса могут похвастаться такой же узнаваемостью и функциональной значимостью, как меню "Пуск" в Windows. Этот компонент, ставший неотъемлемой частью пользовательского опыта Microsoft, прошел долгий путь эволюции, отражающий технологический прогресс и изменения в подходах к проектированию интерфейсов. Давайте вспомним, каким оно было и поговорим про технические аспекты создания меню "Пуск", опираясь на инсайдерскую информацию от Дэйва Пламмера, одного из ключевых разработчиков этого элемента.

Читать далее

«Бобер выдыхай»: Go, WinAPI и ассемблер

Уровень сложностиСложный
Время на прочтение22 мин
Количество просмотров12K

Что вам приходит в голову при слове «Golang»? Google и микросервисы? Я тоже так думал, но реальность оказалась значительно интересней.

Читать далее

Сравнение технологий для написания оконных приложений

Уровень сложностиСредний
Время на прочтение9 мин
Количество просмотров18K

Как-то раз в одном чате прозвучала идея сравнить разные технологии для написания оконных приложений. В частности, под Windows. Используя средства языка C#. То есть, конечно, можно это сделать и с помощью C++, Python, Rust, JS и других языков, но мы же шарписты, нам интереснее именно то, что мы можем сами использовать, не меняя язык программирования.

Итак, оконные приложения на C#.

Читать далее

Библиотека EremexControls.NET для Avalonia UI — Обновление июль-август 2024

Уровень сложностиПростой
Время на прочтение2 мин
Количество просмотров2.7K

Мы решили на регулярной основе рассказывать вам о развитии нашей линейки контролов для Avalonia UI. За время, прошедшее с момента предыдущей публикации, появилось несколько интересных моментов и один новый компонент.

Читать далее

Chrome 127 — опять «пиратим» для Windows 7

Уровень сложностиСредний
Время на прочтение5 мин
Количество просмотров8.5K

Вышла 127 версия браузера Google Chrome.

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

Читать далее

Ближайшие события

Множества Мандельброта — на Delphi

Уровень сложностиСредний
Время на прочтение2 мин
Количество просмотров2.2K
Я нарисовал множества Мандельброта на Delphi а не flat assembler!
Embarcadero Delphi for Win32 compiler version 35.0
А именно:

DCC32.EXE
rlink32.dll
SysInit.dcu
System.dcu

Все!


Читать дальше →

Windows 3.1 спасла авиакомпанию Southwest Airlines

Уровень сложностиПростой
Время на прочтение2 мин
Количество просмотров5.2K

Когда 19 июля этого года произошел глобальный ИТ-сбой, он вызвал хаос в аэропортах, став причиной ​​сотен задержанных и отмененных рейсов. Экраны миллионов компьютеров отображали BSoD (синий экран смерти). Однако от проблемного обновления CrowdStrike меньше всех пострадала Southwest Airlines, четвертая по величине авиакомпания в США. Причина в том, что перевозчик до сих пор пользуется операционной системой Windows 3.1.

Читать далее

Быстрый поиск по разной документации

Уровень сложностиПростой
Время на прочтение2 мин
Количество просмотров3.8K

Недавно я задался вопросом, могу ли я оптимизировать процесс поиска чего-либо в документации любого языка/библиотеки/фреймворка. Прыгать с сайта на сайт – не самая лучшая идея, ибо интерфейсы документацией отличаются, а я хотел унификации.

Сначала мне пришла мысль взглянуть на уже существующие решения, среди которых есть мною любимый Zeal, однако, он доступен только для Windows и Linux, я же крепко сижу в заложниках на MacOS из-за специфики работы и удобства.

На сайте Zeal предлагают перейти на сайт Dash, который по сути является прародителем Zeal, однако, он платный и за него невозможно заплатить в пределах РФ, поэтому я продолжил дальше искать аналоги.

Среди альтернатив также есть DevDocs, который может работать оффлайн в браузере (благодаря PWA), однако, я заметил, что все время держать открытой лишнюю вкладку для поиска в доках было не лучшей идеей (ибо вкладку все равно нужно было бы искать, среди тонны вкладок со StackOverflow и прочим).

Решение с быстрым поиском

В Firefox и Google Chrome есть возможность добавить собственную поисковую систему (или же поиск по сайту), чем собственно я и воспользовался. При поиске в devdocs все GET-запросы уходят по урлу:

Читать далее

Как синий экран смерти остановил работу аэропортов и предприятий

Время на прочтение7 мин
Количество просмотров13K

19 июля произошёл глобальный сбой в работе ПК и серверов на Windows по всему миру. Ряд устройств выдавали синий экран смерти (BSOD) и уходили на бесконечную перезагрузку. Поводом для сбоя стало обновление системы защиты от кибератак Falcon Sensor от американской компании в сфере информационной безопасности CrowdStrike. Неполадки затронули IT-инфраструктуру многих компаний, банков и аэропортов по всему миру.

Читать далее

Когда я был маленьким, я писал авиасимулятор. Часть I

Уровень сложностиПростой
Время на прочтение5 мин
Количество просмотров7.5K

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

Это история моего старта. Того, как я, будучи десятиклассником, познавал все прелести программирования и разработки через достижение поставленных «амбициозных» целей.

*настоящая статья является первой из двух запланированных по этой теме

Вперед в прошлое

Недокументированные функции загрузки DLL. Стек вызовов LoadLibrary

Уровень сложностиСредний
Время на прочтение14 мин
Количество просмотров6.2K

Рассмотрели способы загрузки DLL и написали инструмент загрузки библиотек с нестандартным способом получения адресов функций.

Читать далее

Анимация фрактала Lozi map

Уровень сложностиСредний
Время на прочтение7 мин
Количество просмотров2.2K

Предыдущая статья натолкнула меня на мысль написать ещё одну программу, генерирующую последовательности изображений с другим типом фракталов. В ней пришлось применить более сложную анимацию коэффициентов.

Читать далее

Вклад авторов