Direct 2D #15.1 Пользовательский эффект. Вычислительный шейдер. язык HLSL. Про шейдеры
В данной статье рассматривалось: что такое шейдеры, что такое вычислительный шейдер, как его создать и использовать.

Разработка под операционные системы от Microsoft
В данной статье рассматривалось: что такое шейдеры, что такое вычислительный шейдер, как его создать и использовать.
После первой статьи о БОЛТУНЕ мы развернули отдельную тестовую ветку и начали выбирать новый стек интерфейса. С помощью ИИ сравнили Electron, WinUI 3 и Tauri 2, проверили выводы по документации и собрали прототип на Tauri. Рассказываем, почему не переносим звук из C++ в WebView, как устроили границу WebView → Rust → C++, что уже работает, а что ещё предстоит измерить.

Время, когда антивирусное ПО основывалось лишь на статическом, или сигнатурном, анализе, уже далеко в прошлом. Хотя в 2026 году оба вида анализа по-прежнему используются, они применяются не так активно, как раньше. В далёком прошлом антивирусное ПО могло делать выводы, основываясь лишь на анализе таблицы импорта, что, соответственно, вызывало множество ложных срабатываний. В результате этого появился термин "поведенческий анализ". Его основная идея заключается в том, что антивирусное ПО оценивает не только содержимое конкретного файла, но и действия, которые выполняет запущенный процесс. Система собирает телеметрию: отслеживает создание дочерних процессов, работу с файлами и реестром, загрузку библиотек, сетевую активность, попытки получить доступ к другим процессам и другие события. Каждому наблюдаемому действию или их комбинации может соответствовать определённое правило. Если процесс выполняет операцию, характерную для вредоносного ПО, ему увеличивается условный уровень подозрительности.
Собственно, рассмотрим примитивный пример в контексте поведенческого анализа. В системе появляется новый процесс с именем winloggon.exe - уже здесь внимательный наблюдатель заметит проблему, легитимный процесс называется winlogon.exe, а одна лишняя буква в имени для вируса вполне может оказаться попыткой замаскироваться под системный процесс под невнимательность пользователя. После инициализации наш герой совершает первую ошибку: обращается к реестру и прописывает себя в Run.
Ошибка первая. Самый примитивный способ записать себя в автозагрузку. CmRegisterCallbackEx позволяет зарегистрировать обратный вызов для операций с реестром. Процесс изменил нужный ключ - телеметрия уже собрана. Но, наш вирус как вы поняли, останавливаться не собирается. Следующим шагом он загружает прямиком с диска чистую библиотеку.
Ошибка вторая. Антивирусный мини-фильтр файловой системы получает возможность наблюдать операции с файлами в виде IRP. Создание, открытие, запись, переименование - всё это уже находится в поле зрения системы защиты. Если файл появился в подозрительном месте, был создан неизвестным процессом, а затем сразу загружен этим же процессом, у нас появляется ещё одно событие. Но допустим, наш вирус достаточно глуп, чтобы пойти дальше. Он устанавливает соединение с удалённым сервером.
Ошибка третья. После чего в игру вступает антивирусный WFP драйвер - Windows Filtering Platform. Сетевой стек Windows позволяет системе защиты получать информацию о сетевых операциях и принимать решение, разрешать соединение или нет. В результате winloggon.exe, который только что прописал себя в автозагрузку, создал подозрительный файл и теперь пытается установить соединение наружу, оставляет ещё один вполне заметный след.
В результате чего основываясь на сборе телеметрии, начислении баллов, мы получаем не одно определенное событие, а полноценную законченную картину:

Стоит компьютеру начать притормаживать, как многие первым делом идут ставить какой-нибудь оптимизатор. Подход в целом понятен. Нажал кнопочку, и программа сама очистила память, прибила все лишнее, и система полетела как новенькая. Ведь все же знают, что за годы работы любая ОС, а не только Windows, обрастает мусором, а мусор этот тормозит, и надо его просто вымести. Так? Так. Правда, нередко то, что делают эти программы, либо ничего не меняет, либо меняет, но во вред. А то немногое, что систему и правда ускоряет, никакой кнопки не имеет и денег не стоит. Об этом и поговорим.

Нас пятеро: друзья и команда по Tarkov Arena. После блокировки Discord и прекращения работы обходного способа мы не нашли подходящую российскую замену и начали делать BOLTUN. В живых тестах голос рвался ровно раз в три секунды, хотя локальная запись была идеальной. Мы меняли буферы, WASAPI, Opus, ADPCM, PCM, UDP и серверный relay. В итоге период вывел нас на неожиданную причину: диагностический лог каждые 50 кадров. Разбираю расследование, собственный формат TVO2 на 80 мс и устройство голосового тракта.
Не буду повторятся и заново объяснять что такое ONYX, в этой статье я уже все подробно описал. Это обзор нового обновления.

Есть неприятный момент на техническом собеседовании. Интервьюер заканчивает длинный вопрос, и ты понимаешь, что тема знакома. Ты делал это на работе, помнишь правильный подход и даже подходящий случай. Но отвечать нужно сейчас, а в голове одновременно идут четыре процесса: разобрать формулировку, вспомнить детали, выстроить ответ и не зависнуть в тишине.
Если интервью на английском, добавляется пятый — перевод.
Проблема здесь не в знаниях, а в бюджете времени. Естественная пауза после вопроса — это примерно две‑четыре секунды. Дальше собеседник считывает её как заминку. Всё, что должно уместиться в этот интервал, — распознать конец реплики, понять, о чём именно спросили, собрать структуру ответа и начать говорить.
Обычный AI‑чат в соседней вкладке в этот бюджет не помещается, и дело не в качестве модели. Посчитайте, из чего складывается задержка: услышать вопрос, переключить окно, напечатать или вставить формулировку, дождаться генерации, прочитать выдачу, найти в ней полезное, вернуться в разговор. Даже без времени на саму генерацию транспортная часть съедает больше, чем у вас есть.

Хабр, привет!
На связи Александр Леонов, ведущий эксперт центра безопасности Positive Technologies (PT ESC) и дежурный по самым опасным уязвимостям месяца. Мы с командой аналитиков Positive Technologies регулярно смотрим на поток информации об уязвимостях из самых разных источников: бюллетени безопасности вендоров, соцсети, блоги, телеграм‑каналы, репозитории кода, базы уязвимостей и эксплойтов. Из этого многообразия мы стараемся выделять самое важное — трендовые уязвимости, которые уже используются в реальных атаках или с высокой вероятностью будут эксплуатироваться в ближайшее время.
С прошлого дайджеста мы добавили в общий список еще четыре трендовые уязвимости.

Я представляю, насколько поверхностным может казаться такой текст на Хабре, но по личному опыту могу сказать: огромное количество суперпрофессиональных, талантливых IT-бизнесменов, программистов и даже дизайнеров, не знают, как снимать скриншоты, и мучаются, пользуясь неподходящими инструментами.
Поэтому — гайд по тому, как делать скриншоты, от самых простых, универсальных способов, до сложных, заточенных под специфические задачи инструментов.
Не стесняйтесь его читать.

Если вы когда-нибудь пытались просмотреть сетевые запросы десктопного или мобильного приложения через HTTPS-прокси, то наверняка сталкивались со странной ситуацией: прокси настроен, корневой сертификат установлен и доверен, системный прокси прописан, а в списке запросов пусто. Или приложение начинает выдавать ошибку сразу после включения перехвата.
Ниже будет описан набор реальных сценариев, со схемами работы на сетевом уровне и примерами того, как это выглядит в прокси-приложении. Для этого я использую Сольпугу и несколько демо-приложений с разными условиями.

Есть класс ошибок, которые проходят все ручные проверки и спокойно доезжают до продакшена. Не пятисотки, не пустые поля, не сломанная структура — с этим как раз всё в порядке. Речь про случаи, когда сервис отвечает статусом 200, все поля на месте, типы правильные, и при этом одно число посчитано неверно.
Расскажу, как я проверяю такие ответы, когда в команде нет автотестов и в ближайшее время не появится: писать и поддерживать код некому, а сверка ответа с документацией делается глазами. Подход применим в любом инструменте, я просто покажу его на своём рабочем сценарии — создании заказа с расчётом скидки.

Голосовой ввод для Windows за ~1 секунду | Полностью локально • CPU • Open Source
Как заставить Whisper распознавать речь почти в 4 раза быстрее на обычном CPU без GPU и без облака. Разбираю архитектуру WhisperType, сужение окна энкодера, потоковую обработку аудио, оптимизацию faster-whisper и подводные камни WinAPI.

Я диктую постоянно: сообщения, заметки, постановку задач — говорить в разы быстрее, чем печатать, а мысль не успевает остыть. Проблема в том, что удобной диктовки, которая не гонит звук в чужое облако, я не нашёл. Так появился PasteTalk: локальная диктовка для Windows по горячей клавише, а вокруг неё — собственный сервер, приложение для телефона и Telegram-бот.
Отдельным требованием стала мама: из-за слабого зрения печатать на телефоне она почти не может, и телефонная часть проектировалась под самый жёсткий случай — одна кнопка на весь экран, крупный шрифт, ошибки словами. Забегая вперёд: правки «для мамы» сделали приложение удобнее и для всех остальных.
Под катом — архитектура, цифры и четыре бага, каждый из которых молча съедал наговорённый текст.

Есть вещь, которую я до сих пор считаю лучшим, что случалось с развёртыванием Windows: ты подходишь к машине, выбираешь в начале всё, что тебе нужно, — и больше её не касаешься. Идёшь пить чай. Через несколько минут возвращаешься к готовому компьютеру с именем, в домене, с драйверами и софтом.
Это MDT. И его больше нет.
Дальше — история о том, как я в него влюбился, как он у меня разваливался, как я упёрся в стену, и что из этого получилось.

DLL sideloading - это когда в каталог программы подсовывают библиотеку с тем же именем, что и нужная ей DLL. В результате Windows сначала цепляется именно за неё и загружает её вместо системного файла. Этот приём по-прежнему работает, даже если включён SafeDllSearchMode, и недавно его использовали в атаках против FileZilla и CPU-Z.
В статье я разбираю этот метод на примере WinSCP. Сначала делаю статический анализ: проверяю зависимости в Import Table и сверяю их со списком Known DLLs, чтобы сразу отсеять те варианты, которые загрузчик всё равно берёт только из системной папки. Затем провожу динамическую проверку в Procmon и смотрю, где именно загрузчик действительно ищет DLL. В финале - прокси-библиотека на Rust.

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

Со временем у меня появилось несколько серверов: VPS, домашний NAS и ещё пара машин под разные задачи. Для подключения я использовал PuTTY. Он работает, но управлять несколькими серверами в нём неудобно. Сессии хранятся в реестре Windows, список хостов плоский, вкладок нет. Чтобы открыть два сервера, нужны два отдельных окна.
Termius устроен иначе. Там есть нормальный список хостов, вкладки и синхронизация. Но для работы нужен аккаунт, данные хранятся в облаке, а часть функций доступна только по подписке.
Мне не хотелось регистрироваться и загружать список своих серверов в облако ради обычного SSH‑подключения. Поэтому я начал делать собственный клиент - LucidSSH. Это не попытка собрать ещё один комбайн для системных администраторов. Мне нужен был простой локальный SSH‑клиент с несколькими дополнительными функциями: защитой от опасных команд и понятными объяснениями ошибок.
Я не занимаюсь администрированием каждый день. Поэтому делал программу прежде всего для таких же пользователей, как я: тех, кто впервые настраивает VPS, NAS, Raspberry Pi или небольшой домашний сервер. Разрабатываю LucidSSH в свободное от основной работы время.

Google, Anthropic, xAI, Microsoft, Meta*, OpenAI — все эти компании собирают данные пользователей с помощью своих чат‑ботов с искусственным интеллектом. Специалисты Neowin рассказали, как отключить некоторые функции для сбора данных. Речь пойдёт только об обычных чат‑ботах, поскольку именно с ними в основном взаимодействуют пользователи.
В этой статье я покажу пошаговое руководство для решения практического задания для SOC с Letsdefend — SOC342 CVE‑2025‑53770 SharePoint ToolShell Auth Bypass and RCE. Само задание представляет собой расследование эксплуатации критической уязвимости, наша задача понять как началась атака, что делал злоумышленник и какие индикаторы компрометации есть.

В Яндекс облаке есть маркетплейс решений, в котором достаточно много вариантов установки разных ОС с готовым набором пакетов. Но Windows Server в виду особенностей лицензирования недоступен. Но бывают случаи когда очень надо, поэтому решил написать эту инструкцию.
Сборку необходимо осуществлять на базе Windows Server (2016,2019,2022) английской версии. Cloud init не понимает названия групп на русском.