В качестве предпосылки я хочу, чтобы вы знали, что это не имеет никакого отношения к мошенничеству с играми, так как меня интересует только то, как работает Windows.Я даже лично не играю в видеоигры.
EasyAntiCheat , который поставляется с Fortnite, не позволяет изменять игровой процесс и изменять его параметры.
Например, пытаясь изменить приоритет (я не ищу способ изменить приоритет, поскольку решение уже было размещено здесь и здесь в Wayback Machineзахват) приводит к ошибке отказано в доступе .
Изменение ACL процесса с использованием Process Hacker или Process Explorer также приводит к той же ошибке, даже если пользователь является администратором и содержит SeTakeOwnershipPrivilege вправо.
Поскольку:
- PatchGuard включен, поэтому перехват ядра в старом стиле невозможен даже для драйвера EAC
- Ядро предоставляет API-интерфейсы, которые позволяют только водителям получать уведомления о происходящих системных вызовах и не изменять поведение стандартного ядра
- Мини-фильтр файловой системы драйвера EasyAntiCheat не долженвлияют на процессы ACL.Фактически, результат остается тем же, даже если фильтр выгружается с использованием FLTMC.exe
- Внедрение кода в процесс, кажется, не происходит, по крайней мере, при перечислении Загрузка изображения событий в Process Monitor, даже если внедрение может быть выполнено другими способами (у меня недостаточно знаний об этом)
- Процесс не Защищен или Light Protected
Каков механизм, посредством которого Windows 10 x64 (1803) позволяет EAC делать то, что описано выше?Возможно, чтобы найти ответ, было бы достаточно уделить больше внимания 4-му методу.
Здесь вы можете найти ссылку на список Загрузить изображение событийкоторые появляются от запуска ProcessHacker.exe до его завершения в Sysinternals Process Monitor.
PS: Извините за любую грамматическую ошибку, английский не является моим основным языком.