BattlEye — один из самых распространённых античитов в ПК-играх, и если вы играете в мультиплеер, вы почти наверняка с ним сталкивались.
Где он встречается
BattlEye защищает длинный список крупных игр — среди них PUBG, Rainbow Six Siege, Escape from Tarkov, DayZ, ARMA и Destiny 2. Разработчики лицензируют его, а не пишут собственный, поэтому один и тот же античит встречается у разных студий.
Как он работает
BattlEye работает как драйвер уровня ядра, который загружается вместе с игрой. С этой позиции он может анализировать память, отслеживать инъекцию кода, искать известные сигнатуры читов и проверять, что код самой игры не был изменён. Он также выполняет проверки оборудования и отправляет идентификаторы на свои серверы.
Баны привязаны к железу
Бан BattlEye — это не просто метка на аккаунте. Сервис записывает аппаратные идентификаторы в момент бана, поэтому создание нового аккаунта на той же машине может привести к бану и нового аккаунта. Именно это игроки называют «HWID-баном».
Что он может и не может считать
Из режима ядра BattlEye видит многое: идентификаторы дисков и сети, машинный GUID Windows, данные материнской платы и SMBIOS. Часть этих значений находится в программном уровне и реестре, другая — записана в прошивке. Те, что в прошивке — SMBIOS UUID, серийный номер BIOS — это как раз значения, которые обычное ПО переписать не может; об этом честном ограничении стоит знать, прежде чем считать, что любой идентификатор легко изменить.
Вывод
BattlEye — зрелая, хорошо финансируемая система, общая для всей индустрии. Понимание того, что он работает на уровне ядра, а его баны привязаны к оборудованию, а не только к аккаунтам, — реалистичная отправная точка для всех, кто изучает поведение таких систем.
