TGViewer
Codeby Codeby @codeby_sec · 37.1K subscribers
Post #8449 5.38K
В первой статье нового цикла копнем глубже в архитектуру ядра Windows и обсудим такие интересные сущности, как объекты и дескрипторы. Пройдемся по основным структурам — от EPROCESS, которая "идентифицирует" процесс, до TABLE_ENTRY, которая хранит дескрипторы. И да, это та самая база, на которой строятся античиты и антивирусы.

⚙️ Процессы и Потоки
Создание процесса начинается с вызова Kernel32!CreateProcess(), который через цепочку Ntdll → ядро попадает в Nt/ZwCreateFile(). Здесь создается основная структура процесса _EPROCESS, включающая ядро планировщика _KPROCESS. Каждый поток получает свою структуру _ETHREAD, связанную с _EPROCESS. Процессы идентифицируются по PID, а потоки по TID, что помогает ОС отслеживать и управлять их состоянием.

⚙️ Object, Handle и Identifier
В глазах ядра всё является *объектом* — от файлов до процессов. Каждый объект имеет дескриптор (handle), который предоставляет к нему доступ. Когда, например, открывается файл через CreateFile(), ядро создает объект и возвращает handle, по которому процесс может обращаться к объекту. Управление и подсчет ссылок на объекты происходит через два счетчика: Handle и Pointer, которые отслеживаются диспетчером объектов.

⚙️ Исследование объектов
На физическом уровне объект — это структура данных с заголовком OBJECT_HEADER. У него есть поле SecurityDescriptor, хранящее доступ к объекту (DACL/ACE). Обычно драйверы и API возвращают только тело объекта (смещение 30h), скрывая доступ к заголовку. Но, имея адрес объекта, можно получить и доступ к заголовку, что важно при анализе системной безопасности.

⚙️ Таблица Дескрипторов Процесса
Каждому процессу выделяется своя таблица дескрипторов HANDLE_TABLE. Это ускоряет доступ к дескрипторам и управляется системой автоматически, выделяя виртуальные страницы памяти. Размер одной записи — 16 байт, из которых первые 8 — это указатель на OBJECT_HEADER, а вторые — маска доступа GrantedAccess.

✏️ Продолжение следует: в следующей части обсудим больше интересных деталей системы, так что следите за обновлениями!

➡️ Читать подробнее
  • 👍 20
  • 🔥 10
  • ❤ 8
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 →