Иконка ресурса

Anti-Crash Exploit для CS:GO: Защита от больших сообщений 1.3

Версия Дата выпуска Скачивания Оценка  
1.3 126 0.00 звёзд 0 оценок Скачать
1.2 41 0.00 звёзд 0 оценок Скачать
1.1 48 0.00 звёзд 0 оценок Скачать
  • Размер буфера для сообщений:
    • Увеличен размер буфера BUFFER_SIZE с 512 байт до MAX_ALLOWED_LENGTH + 1 (32,769 байт). Это позволяет корректно обрабатывать сообщения до 32,768 байт и исправляет проблему, когда функция IsDataSizeSuspicious всегда возвращала false.
  • Удаление функции TrimWhitespace:
    • Удалена функция TrimWhitespace, так как встроенная функция SourceMod TrimString теперь используется для обрезки пробелов в начале и конце строки. Это упрощает код и улучшает его надежность.
  • Изменение типа функции обработчика события:
    • Тип возвращаемого значения функции Event_PlayerSay изменен с Action на void. Поскольку хук используется в режиме Pre, и сообщения не блокируются, использование типа void делает код более соответствующим стандартам SourceMod.
  • Добавление логирования:
    • Добавлено логирование событий с помощью функции LogMessage, записывающей сообщения в стандартный лог SourceMod (\addons\sourcemod\logs). Это упрощает мониторинг и отладку плагина.
  • Удаление функции OnPluginEnd:
    • Удалена функция OnPluginEnd, управлявшая анхоком событий. SourceMod автоматически управляет анхоком при выгрузке плагина, что делает эту функцию избыточной.
  • Мне нравится
Реакции: xidi
  • Исправления:
    • Исправлена функция IsDataSizeSuspicious(): Обновлена для корректной проверки размера сообщения на превышение допустимого лимита.
    • Обновлен тип хука события: Изменен хук с Post на Pre для более эффективного блокирования недопустимых сообщений.
    • Исправлен тип возвращаемого значения: Функция-обработчик теперь возвращает Action, как требуется.
    • Улучшена обработка ошибок: Улучшены сообщения об ошибках для получения имени клиента и данных сообщения.
  • Улучшения:
    • Удаление пробелов: Добавлена функция TrimWhitespace() для удаления начальных и конечных пробелов из сообщений чата.

Изменения в Плагине:​

  1. Добавлена Функция HandleSuspiciousClient:
    • Описание: Эта функция теперь логирует подозрительные действия клиента, кикает его с сервера и информирует сервер о данном действии.
    • Причина: Позволяет эффективно реагировать на попытки отправки данных, превышающих максимально допустимый размер.
  2. Добавлена Функция CheckClientData:
    • Описание: Функция проверяет длину данных и вызывает HandleSuspiciousClient, если данные превышают установленное значение MAX_ALLOWED_LENGTH.
    • Причина: Обеспечивает дополнительную проверку для предотвращения попыток отправки слишком больших данных.
  3. Обновлен Размер Буфера:
    • Описание: Размер буфера для получения данных из события player_say установлен в 512 байт.
    • Причина: Это позволяет ограничить размер данных, которые обрабатываются за раз, и предотвратить переполнение буфера.
  4. Улучшена Логика Проверки Данных:
    • Описание: Логика проверки данных в функции Event_PlayerSay теперь использует ограничение размера буфера для проверки сообщений.
    • Причина: Это позволяет предотвратить атаки с помощью слишком больших сообщений в рамках текущих ограничений.
  5. Управление Событиями:
    • Описание: Плагин корректно подключается и отключается от события player_say.
    • Причина: Это обеспечивает правильное управление ресурсами и предотвращает утечки памяти или другие проблемы.
Сверху Снизу