Подписывайтесь на наш Telegram и не пропускайте важные новости! Перейти

Вопрос Rust — Обход серверных консольных команд без detour-хука ConsoleSystem.Run

Начинающий
Начинающий
Статус
Оффлайн
Регистрация
13 Фев 2026
Сообщения
130
Реакции
4
Народ, кто плотно ковыряет раст и сейчас сидит на IL2CPP, подскажите по сабжу.

Есть задача: нужно дропнуть или отфильтровать серверные консольные команды, которые прилетают с сервера, но без стандартного костыля с allowRunFromServer и без прямого детур-хука на ConsoleSystem.Run.

По идее, если не лезть в хуки самого консольного метода, остается вариант через перехват пакетов или работу с Networkable, но в расте сейчас античит довольно больно бьет по манипуляциям с сетевым слоем.

Что пробовал / мысли по реализации:
  1. Анализ NetworkTable: Попытаться отфильтровать входящие RPC, которые инициируют выполнение серверных команд на клиенте.
  2. Патч в памяти: Искать ссылки на метод исполнения, но без деструктивного хукинга, возможно, через проброс кастомного класса-обертки для ConsoleSystem.
  3. Работа через Entity: Если привязываться к конкретному объекту, который кидает запрос, можно попробовать отсекать по типу пакета.

Кто уже возился с блокировкой серверных команд в обход стандартного ConsoleSystem.Run? Может кто-то реализовывал логику на уровне проверки аргументов в самой очереди обработки команд, не триггеря при этом детекты на хуки?

Скидывайте свои соображения, а то при текущем обновлении протокола стандартные методы палятся на раз-два, особенно если сервер чекает целостность вызовов через EAC. Кто как сейчас обходит этот момент, чтобы клиент не принимал мусорные или вредоносные команды от админов/сервера?
 
Назад
Сверху Снизу