TGViewer
Codeby Codeby @codeby_sec · 37.1K subscribers
Post #8452 4.87K
🔔 Вторая часть серии статей о ядре Windows посвящена исследованию подсистемы Win32 и драйвера поддержки win32k.sys, рассматриваются переходы из пользовательского режима в режим ядра через таблицу системных сервисов SSDT.

🗣️ Статья включает практические примеры в отладчике WinDbg, так что знания можно сразу применить на практике. Рекомендуется к прочтению после первой части.


Подсистема Win32 в архитектуре Windows
🔸В Windows виртуальная память делится на область пользователя (User) и ядра (Kernel). На системах x64 используется только часть адресного пространства. Старшие 16 бит установлены в единицу, что позволяет по старшим битам адреса сразу определять, принадлежит ли объект ядру или пользователю.
🔸Win32, основная подсистема Windows, предоставляет базовые библиотеки окружения, такие как Kernel32, User32 и Gdi32, отвечающие за интерфейсы графики (GUI). Отдельное внимание уделено драйверу win32k.sys, который поддерживает работу графического интерфейса в ядре.

Файлы Csrss.exe, Gdi32.dll и Win32k.sys
🔸GDI (Graphics Device Interface) — это компонент для вывода графического контента на устройства. До NT4 он находился в пользовательском режиме, но в целях безопасности его перенесли в режим ядра, добавив win32k.sys. Теперь CSRSS (Client/Server Runtime SubSystem) обрабатывает только консольные задачи, а графика передана win32k.sys.

SSDT — System Service Descriptor Table
🔸SSDT позволяет выполнять системные вызовы в ядре с использованием SYSENTER/SYSCALL инструкций. Для каждой функции ядра есть уникальный "System Service Number" (SSN), который задает ее адрес в SSDT. Это обеспечивает быстрый и эффективный переход между режимами.
🔸Для графических функций существует отдельная "затененная" таблица — SSDT Shadow. Она действует только для GUI-приложений, тогда как консольные приложения используют основную таблицу SSDT#0.

⚙️ В статье приводится демонстрация работы SSDT и SSDT Shadow в отладчике WinDbg. Указатели на обе таблицы можно обнаружить, подключившись к процессу GUI.

➡️ Читать подробнее
  • 👍 15
  • 🔥 12
  • ❤ 9
More from @codeby_sec
  1. Oct 10, 2026Ты ещё используешь Sherlock или уже перешёл на что-то другое? Прогоняешь никнейм, получаеш…
  2. Oct 10, 2026🚩 Новые задания на платформе HackerLab! 🧰 Категория PWN — Я в своём познании настолько п…
  3. Oct 9, 2026✈️ Telegram Desktop — критическая уязвимость в обработке tg://-ссылок (CVE-2026-107181) В…
  4. Oct 9, 2026Как прошла Кибербитва GIS DAYS 2026: подробности нашего участия в соревнованиях ➡️В прошло…
  5. Oct 9, 202620 октября в 12:00 (мск) пройдёт бесплатный вебинар «Мониторинг событий безопасности в MWS…
  6. Oct 9, 2026Post #10506
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →