Razbezhkin
@Razbezhkin
программист, преподаватель

Как обеспечить безопасность модов для игр?

Здравствуйте.
Давайте обсудим следующую ситуацию и ее решение.
Есть компьютерная игра, написанная на .net 7.
Для игры нужно сделать систему моддинга: моды должны разрабатываться на том же .net 7, упаковываться в какой-нибудь zip, в котором будут dll-ки и, например, графика.
Игра будет затягивать через рефлексию код из dll-ок и вызывать методы модов.

Теперь вопрос: как сделать так, чтобы код из внешней dll-ки не мог обращаться к файловой системе и к сети. в общем, как сделать так, чтобы код мог использовать все типовые средства .net, (типы, коллекции, Linq и т.д), но не мог навредить пользователю, например, зашифровав его файлы и потребовав выкуп.

Спасибо.
  • Вопрос задан
  • 243 просмотра
Пригласить эксперта
Ответы на вопрос 2
@humoured
Вы всё на свете найдёте в коробке с карандашами
Никак. Динамически загружаемая библиотека может уже в момент собственной загрузки исполнять любой код, который захочет.
Думаю, единственным вариантом здесь будет ручная модерация пользовательского кода, использование сертификатов для подписи библиотек и загрузка игрой исключительно подписанных сертификатом разработчика модификаций.
Ответ написан
yarosroman
@yarosroman Куратор тега C#
C# the best
Накопал такую вещь https://github.com/cv-lang/virtual-machine может поможет.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы