Защита процесса

Я программирую для игры под названием Crysis Wars, и в последнее время игроки постоянно просят новое обновление игры (патч для сообщества), чтобы исправить проблемы, в том числе довольно ироничную ошибку скриптинга.

Существует несколько игровых хаков, известных как Infinium, Gamg, Annihilator & Longpoke, которые используют методы DLL-инъекций для размещения хаков и читов в игре, не обращая внимания на внутреннюю систему античитов. Эти хаки довольно просты и используют код основной игровой DLL через модификации шестнадцатеричных значений, а некоторые (например, Gamg) создаются с помощью собственного SDK игрового движка (я знаю создателя этого хака).

Как и у других, у меня есть доступ к CryEngine 2 (игровой движок) SDK (включает исходный код для основной игровой библиотеки), и я предлагаю изменить имя и расположение всех игровых функций (как для клиента, так и для сервера) так, чтобы существующий хаки больше не будут работать.

Будет ли это работать, чтобы остановить хаки, сделанные с изменением шестнадцатеричных значений в основной игре DLL? Я подтверждаю, что хаки, сделанные с помощью SDK, больше не будут работать, но я хочу проверить с другими, прежде чем пытаться сделать это, так как это потребует много работы.

В основном то, что я спрашиваю:

Хакеры используют DLL в игре, изменяя исходный код, если я изменю все функции в исходном коде и выпущу обновление (сообщества) для игры (без выпуска нового исходного кода), смогут ли хакеры использовать такие же взломы без проблем?

Я прошу прощения, если это кажется запутанным - пожалуйста, скажите, если мне нужно быть более ясным.

1 ответ

Решение

Вы сломаете все, легальные и нелегальные моды. Незаконные моды, вероятно, будут исправлены довольно скоро; довольно просто перепроектировать предложенные вами изменения.

Лучший способ - включить предотвращение выполнения данных и подключить функцию VirtualProtect, которая необходима для обхода DEP. После этого вы сможете ловить попытки установить более поздний хук. Конечно, убедитесь, что нет никакого существующего хука для VirtualProtect, а также какого-либо известного хака DLL.

Другие вопросы по тегам