- Статус
- Оффлайн
- Регистрация
- 13 Фев 2026
- Сообщения
- 682
- Реакции
- 18
Кто кодит под ядро или пилит свои драйверы для обхода античитов, наверняка замечал, что после билда 1909 в Windows 10 начался какой-то дикий разгул в плане структур.
Суть проблемы: если сравнивать оффсеты _KPRCB (Kernel Processor Control Block) между старым 1909 и более свежими 2004/20H2, то там все перелопачено. В 1909 структура выглядит привычно, а начиная с 2004 она заметно изменила порядок членов и обросла новыми данными.
Зацените сами разницу по билдам через Vergilius:
По моему опыту, самое здравое решение — это не забивать код константами, а использовать динамический поиск через парсинг PDB или хотя бы проверять билд через PsGetVersion. В противном случае юзеры на старых или, наоборот, слишком новых версиях будут отлетать в синьку еще до инжекта.
Кто уже копал глубже, в 21H2 и 22H2 оффсеты остались стабильными относительно 2004 билда или мелкомягкие опять что-то передвинули?
Суть проблемы: если сравнивать оффсеты _KPRCB (Kernel Processor Control Block) между старым 1909 и более свежими 2004/20H2, то там все перелопачено. В 1909 структура выглядит привычно, а начиная с 2004 она заметно изменила порядок членов и обросла новыми данными.
Зацените сами разницу по билдам через Vergilius:
- 1909: Классика, на которой работало большинство старых паст.
- 2004 и 20H2: Здесь структуры практически идентичны, но они по факту несовместимы с пре-2004 билдами.
- 21H1 и выше: Тенденция продолжается, оффсеты могут плавать и дальше.
Если вы хардкодите оффсеты для поиска системных потоков, работы с регистрами управления или планировщиком через _KPRCB, то без чека версии винды ваш драйвер гарантированно отправит систему в BSOD с кодом KMODE_EXCEPTION_NOT_HANDLED. Microsoft в 2004 билде серьезно обновили ядро, и это нужно учитывать при разработке.
По моему опыту, самое здравое решение — это не забивать код константами, а использовать динамический поиск через парсинг PDB или хотя бы проверять билд через PsGetVersion. В противном случае юзеры на старых или, наоборот, слишком новых версиях будут отлетать в синьку еще до инжекта.
Кто уже копал глубже, в 21H2 и 22H2 оффсеты остались стабильными относительно 2004 билда или мелкомягкие опять что-то передвинули?