Обновить
128K+

Windows *

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

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

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

Уровень сложностиПростой
Время на прочтение31 мин
Охват и читатели2.6K

В данной статье рассматривалось: что такое шейдеры, что такое вычислительный шейдер, как его создать и использовать.

Читать далее

Новости

После комментариев на Хабре мы развернули тестовую ветку БОЛТУНа: Electron, WinUI 3 или Tauri 2?

Уровень сложностиСредний
Время на прочтение11 мин
Охват и читатели4.9K

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

Читать эксперимент

Как устроен современный антивирус: поведенческий анализ, драйверы, архитектура

Уровень сложностиСложный
Время на прочтение28 мин
Охват и читатели9.7K

Время, когда антивирусное ПО основывалось лишь на статическом, или сигнатурном, анализе, уже далеко в прошлом. Хотя в 2026 году оба вида анализа по-прежнему используются, они применяются не так активно, как раньше. В далёком прошлом антивирусное ПО могло делать выводы, основываясь лишь на анализе таблицы импорта, что, соответственно, вызывало множество ложных срабатываний. В результате этого появился термин "поведенческий анализ". Его основная идея заключается в том, что антивирусное ПО оценивает не только содержимое конкретного файла, но и действия, которые выполняет запущенный процесс. Система собирает телеметрию: отслеживает создание дочерних процессов, работу с файлами и реестром, загрузку библиотек, сетевую активность, попытки получить доступ к другим процессам и другие события. Каждому наблюдаемому действию или их комбинации может соответствовать определённое правило. Если процесс выполняет операцию, характерную для вредоносного ПО, ему увеличивается условный уровень подозрительности.

Собственно, рассмотрим примитивный пример в контексте поведенческого анализа. В системе появляется новый процесс с именем winloggon.exe - уже здесь внимательный наблюдатель заметит проблему, легитимный процесс называется winlogon.exe, а одна лишняя буква в имени для вируса вполне может оказаться попыткой замаскироваться под системный процесс под невнимательность пользователя. После инициализации наш герой совершает первую ошибку: обращается к реестру и прописывает себя в Run.

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

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

Ошибка третья. После чего в игру вступает антивирусный WFP драйвер - Windows Filtering Platform. Сетевой стек Windows позволяет системе защиты получать информацию о сетевых операциях и принимать решение, разрешать соединение или нет. В результате winloggon.exe, который только что прописал себя в автозагрузку, создал подозрительный файл и теперь пытается установить соединение наружу, оставляет ещё один вполне заметный след.

В результате чего основываясь на сборе телеметрии, начислении баллов, мы получаем не одно определенное событие, а полноценную законченную картину:

Читать далее

Работают ли оптимизаторы Windows и как на самом деле ускорить компьютер

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

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

Читать далее

Голос пропадал каждые три секунды: как пять друзей из Tarkov Arena сделали БОЛТУН

Уровень сложностиСредний
Время на прочтение11 мин
Охват и читатели6.3K

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

Читать расследование

v1.10: роли, личности и снова этот WardLink…

Уровень сложностиПростой
Время на прочтение1 мин
Охват и читатели9.9K

Не буду повторятся и заново объяснять что такое ONYX, в этой статье я уже все подробно описал. Это обзор нового обновления.

Читать далее

Собеседования для вас большой стресс? Для меня было да, поэтому создал решение

Уровень сложностиПростой
Время на прочтение12 мин
Охват и читатели12K

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

Если интервью на английском, добавляется пятый — перевод.

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

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

Читать далее

Августовский «В тренде VM»: уязвимости ViPNet Client, ядра Microsoft Windows и Microsoft SharePoint

Уровень сложностиПростой
Время на прочтение9 мин
Охват и читатели6.9K

Хабр, привет!

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

С прошлого дайджеста мы добавили в общий список еще четыре трендовые уязвимости.

Читать далее

Я что‑то нажала и картинка пропала: как сделать скриншот и неужели кнопки Print Screen может быть недостаточно?

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

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

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

Не стесняйтесь его читать.

Далее

Почему HTTPS-прокси не видит трафик приложения

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

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

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

Читать далее

Ошибка в расчёте скидки, которую не видно глазами: проверяем ответ API по документации, когда автотестов нет

Уровень сложностиПростой
Время на прочтение7 мин
Охват и читатели5.8K

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

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

Читать далее

Голосовой ввод в любое окно Windows за секунду. Офлайн, на CPU, без единого гигабайта torch

Уровень сложностиСредний
Время на прочтение10 мин
Охват и читатели9.7K

Голосовой ввод для Windows за ~1 секунду | Полностью локально • CPU • Open Source

Как заставить Whisper распознавать речь почти в 4 раза быстрее на обычном CPU без GPU и без облака. Разбираю архитектуру WhisperType, сужение окна энкодера, потоковую обработку аудио, оптимизацию faster-whisper и подводные камни WinAPI.

Читать далее

Я печатаю медленнее, чем думаю: локальная диктовка на Whisper для Windows, телефона и Telegram

Уровень сложностиПростой
Время на прочтение9 мин
Охват и читатели8.2K

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

Отдельным требованием стала мама: из-за слабого зрения печатать на телефоне она почти не может, и телефонная часть проектировалась под самый жёсткий случай — одна кнопка на весь экран, крупный шрифт, ошибки словами. Забегая вперёд: правки «для мамы» сделали приложение удобнее и для всех остальных.

Под катом — архитектура, цифры и четыре бага, каждый из которых молча съедал наговорённый текст.

Как это устроено →

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

Я фанател от MDT. Потом его не стало — и я написал свой

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

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

Это MDT. И его больше нет.

Дальше — история о том, как я в него влюбился, как он у меня разваливался, как я упёрся в стену, и что из этого получилось.

Читать далее

DLL Sideloading через version.dll в WinSCP: порядок поиска DLL, прокси на Rust и перехват payload

Уровень сложностиСложный
Время на прочтение14 мин
Охват и читатели11K

DLL sideloading - это когда в каталог программы подсовывают библиотеку с тем же именем, что и нужная ей DLL. В результате Windows сначала цепляется именно за неё и загружает её вместо системного файла. Этот приём по-прежнему работает, даже если включён SafeDllSearchMode, и недавно его использовали в атаках против FileZilla и CPU-Z.

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

Читать далее

«Выполнено» — самый дорогой неверный ответ. Как enterprise-функции вскрыли дефекты не в себе, а в стыке со старым кодом

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

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

Пум-пум...

Я написал SSH‑клиент для Windows

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

Со временем у меня появилось несколько серверов: VPS, домашний NAS и ещё пара машин под разные задачи. Для подключения я использовал PuTTY. Он работает, но управлять несколькими серверами в нём неудобно. Сессии хранятся в реестре Windows, список хостов плоский, вкладок нет. Чтобы открыть два сервера, нужны два отдельных окна.

Termius устроен иначе. Там есть нормальный список хостов, вкладки и синхронизация. Но для работы нужен аккаунт, данные хранятся в облаке, а часть функций доступна только по подписке.

Мне не хотелось регистрироваться и загружать список своих серверов в облако ради обычного SSH‑подключения. Поэтому я начал делать собственный клиент - LucidSSH. Это не попытка собрать ещё один комбайн для системных администраторов. Мне нужен был простой локальный SSH‑клиент с несколькими дополнительными функциями: защитой от опасных команд и понятными объяснениями ошибок.

Я не занимаюсь администрированием каждый день. Поэтому делал программу прежде всего для таких же пользователей, как я: тех, кто впервые настраивает VPS, NAS, Raspberry Pi или небольшой домашний сервер. Разрабатываю LucidSSH в свободное от основной работы время.

Читать далее

Какие данные собирают чат‑боты с искусственным интеллектом и что пользователи могут с этим сделать

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

Google, Anthropic, xAI, Microsoft, Meta*, OpenAI — все эти компании собирают данные пользователей с помощью своих чат‑ботов с искусственным интеллектом. Специалисты Neowin рассказали, как отключить некоторые функции для сбора данных. Речь пойдёт только об обычных чат‑ботах, поскольку именно с ними в основном взаимодействуют пользователи.

Читать далее

SOC incident analysis. Letsdefend, SOC342 ‑ CVE‑2025‑53770 SharePoint ToolShell Auth Bypass and RCE

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

В этой статье я покажу пошаговое руководство для решения практического задания для SOC с Letsdefend — SOC342 CVE‑2025‑53770 SharePoint ToolShell Auth Bypass and RCE. Само задание представляет собой расследование эксплуатации критической уязвимости, наша задача понять как началась атака, что делал злоумышленник и какие индикаторы компрометации есть.

Читать далее

Сборка образа на базе Windows Server для Яндекс облака

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

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

Сборку необходимо осуществлять на базе Windows Server (2016,2019,2022) английской версии. Cloud init не понимает названия групп на русском.


Читать далее
1
23 ...