Dedicated-Server.RU  


Ответ
 
Опции темы Опции просмотра
Старый 14.11.2015, 22:49   #1
с доступом к форуму безопасности
 
Регистрация: 23.02.2014
Адрес: Томск-7
Сообщений: 311
Сказал спасибо: 102
Поблагодарили 1,013 раз(а) в 176 сообщениях
По умолчанию Rechecker (Проверка ресурсов для ReHLDS)

ВНИМАНИЕ: Публикация на сторонних ресурсах запрещена без согласования с автором!
Resources Checker
Автор:
  • s1lent
Описание:
Rechecker это Metamod plugin, дающий возможность проверять клиентские файлы по их md5 хэшу.
Возможное применение:
  • Обнаружение читерских библиотек в директории игры
  • Обнаружение отсутствия обязательных для игры файлов
  • Обнаружение запрещенных моделей игроков, либо создание белого списка разрешенных
Требования:
  • Движок ReHLDS 937 или новее
  • MetaMod 1.20(p) или новее
Установка:

Подробнее...

  • Распаковываем rechecker_X_X.zip в папку <gamedir> вашей игры.
  • Добавляем библиотеку rechecker_mm_i386.so или rechecker_mm.dll в зависимости от используемой ОС в конфиг MetaMod.
    Для этого открываем <gamedir>/addons/metamod/plugins.ini (если его нет, создаем сами) и пишем:
    Linux:
    Цитата:
    linux addons/rechecker/rechecker_mm_i386.so
    Windows:
    Цитата:
    win32 addons\rechecker\rechecker_mm.dll
  • Из извлеченного архива rechecker_X_X.zip будет присутствовать файл resources.ini который должен лежать рядом с библиотекой rechecker_mm.dll или rechecker_mm_i386.so

  • Запускаем сервер и командой meta list проверяем статус
    Linux:
    Цитата:
    Currently loaded plugins:
    description stat pend file vers src load unlod
    [ 1] Rechecker RUN - rechecker_mm_i386.so vX.X ini Chlvl Any
    Windows
    Цитата:
    Currently loaded plugins:
    description stat pend file vers src load unlod
    [ 1] Rechecker RUN - rechecker_mm.dll vX.X ini Chlvl Any
  • Установка Rechecker завершена
[свернуть]
CVAR:

Подробнее...

  • rch_log - 0/1/2
    • 0 - Выключить.
    • 1 - Обычный лог, только обнаружение.
    • 2 - Детальный лог.
[свернуть]
Дополнительно:

Подробнее...


Описание флагов:
  • UNKNOWN - Если вам неизвестен хэш, при таком флаге будет искать файл с любым хэшем.
  • IGNORE - Это флаг который помечает данный файл с хэшем в игнорируемый список.
  • MISSING - Обнаружение отсутствие файла у клиента.

    Если 2 файла с указанным хэшем и с флагом IGNORE были обнаружены,
    то для UNKNOWN они будут проигнорированы

    "../qwerty.dll" 099b3b06 IGNORE
    "../qwerty.dll" f284f878 IGNORE
    "../qwerty.dll" UNKNOWN "addip 1440 [ip]"


  • BREAK - Этот флаг выходит из всех проверок если файл был обнаружен или наоборот отсутствует.

    Ниже предоставлен пример, при обнаружении файла antichet.dll будет выход из цикла,
    дальнейшие проверки выполняться не будут.

    "../anticheat.dll" bdc52384 BREAK
    "../opengl32.dll" 0ee4e274 "addip 1440 [ip]"

Разбор лога:
  • exphash - `expected hash` хэш который ожидает получить
  • got - хэш который пришел от клиента
  • typeFind - тип обнаружения
    • exists - сравнение хэша `exphash == got`
    • missing - проверка на отсутствие файла `prevhash == got`
    • ignore - файлы помеченные в игнор
    • hash_any - проверка на любой хэш `prevhash != got`


  • prevhash - хэш предыдущего файла prevfile
  • prevfile - предыдущий файл
  • md5hex - хэш как указан в resources.ini, тоже самое что и exphash - разница только в порядке байтов от младшего к старшему
  • findathash - встречался ли ранее такой хэш во всех проверяемых файлов
Форматирование строк:
  • [name] - Имя игрока
  • [ip] - IP Адрес игрока
  • [userid] - идентификатор игрока
  • [steamid] - Steamid игрока

  • [file_name] - имя проверяемого файла
  • [file_hash] - хэш проверяемого файла который вернул клиент
    (Внимание: этот хэш big-endian, если вы хотите получить хеш для последующего применения в resources.ini то используйте file_md5hash)
  • [file_md5hash] - хэш проверяемого файла который вернул клиент

Полезные примечания:
  • Причину наказания или оповещения можно заключать в одинарные кавычки. "amx_kick [userid] 'Opengl32 Detected'"
  • md5 хэш c8005c526355d8015d462dc7f4ddb159 достаточно иметь первые 4 байта (c8005c52)
[свернуть]
Изменения:

Подробнее...


2.5 (21 Октября 2017)
  • Исправлен Bad file, если gamedll не проверяет свои же оригинальные файлы. Критично для HL с включенным mp_consistency.
  • Rechecker API: Исправлены мелкие недочеты.
2.4 (24 Сентября 2017)
  • Обновление Rechecker API 2.1
  • Добавлена поддержка UTF-8 BOM для resources.ini
  • Исправлены некоторые незначительные ошибки.
  • Убрана проверка на расширение у запрашиваемого файла.
2.3 (13 Декабря 2016)
  • Исправлен запуск модуля на Linux.
2.2 (12 Декабря 2016)
  • Поддержка ReHLDS с версией API 3.х (build 3.0.0.361 и выше)
  • Добавлен интерфейс Rechecker API для 3rd-party
2.1 (5 Мая 2016)
  • Расширен лимит ресурсов с 1280 до 4096.
2.0 (1 Марта 2016)
  • Исправлено ложное обнаружение в некоторых случаях.
  • Изменен квар rch_log 0/1/2 (0 - Выключить/1 - Обнаружение/2 - Детальный лог).
1.7 - 1.9 (28 Января 2016)
  • Убран квар rch_delay.
  • Исправлен баг с получением файлов в неправильном порядке.
  • Обновлен ReHLSDK (ReHLDS build 654 или новее)
1.6 (20 Января 2016)
  • Добавлен квар rch_delay. Отложенное время до выполнения cmd. (По умолчанию: 0).
1.5 (11 Января 2016)
  • Исправлена некорректность данных в логах.
1.4 (11 Января 2016)
  • Исправлено 'Bad file data'.
  • Добавлен флаг 'MISSING' на замену хэша 00000000.
1.2 (18 Ноября 2015)
  • Исправлен баг с флагом BREAK.
  • Добавлена возможность выгрузки через meta unload.
  • Добавлена база для примера.
1.1 (17 Ноября 2015)
  • Исправлен баг с отображением даты в логах.
  • Добавлены доп. поля в лог-файл.
1.0 (15 Ноября 2015)
  • Первый релиз
[свернуть]
Благодарности:
  • dreamstalker за проект ReHLDS
  • Asmodai за консультацию и помощь в реализации оптимизации.
  • Neygomon за проведение тестов.

Обсуждаемая база читов:
Текущая версия 2.5:
Вложения
Тип файла: zip rechecker_1_4.zip (118.0 Кб, 26 просмотров)
Тип файла: zip rechecker_1_5.zip (118.0 Кб, 61 просмотров)
Тип файла: zip rechecker_1_9.zip (118.8 Кб, 111 просмотров)
Тип файла: zip rechecker_2_0.zip (119.4 Кб, 193 просмотров)
Тип файла: zip rechecker_2_1.zip (119.4 Кб, 357 просмотров)
Тип файла: zip rechecker_2_3.zip (128.4 Кб, 872 просмотров)
Тип файла: zip rechecker_2_4.zip (123.3 Кб, 154 просмотров)
Тип файла: zip rechecker_2_5.zip (125.0 Кб, 177 просмотров)

Последний раз редактировалось s1lent; 31.10.2017 в 01:29. Причина: Update 2.5
s1lent вне форума   Ответить с цитированием
49 пользователей сказали cпасибо:
Показать/Скрыть список поблагодаривших
Старый 15.11.2015, 02:20   #2
с доступом к форуму безопасности
 
Регистрация: 03.03.2012
Адрес: Махачкала
Сообщений: 288
Сказал спасибо: 269
Поблагодарили 62 раз(а) в 45 сообщениях
По умолчанию

Для обычного билда, НЕ ReHLDS, этот модуль планируется?
Kain_wrath вне форума   Ответить с цитированием
Старый 15.11.2015, 02:53   #3
с доступом к форуму безопасности
 
Регистрация: 23.02.2014
Адрес: Томск-7
Сообщений: 311
Сказал спасибо: 102
Поблагодарили 1,013 раз(а) в 176 сообщениях
По умолчанию

Цитата:
Сообщение от Kain_wrath Посмотреть сообщение
Для обычного билда, НЕ ReHLDS, этот модуль планируется?
этот метамод плагин делался исключительно по одной причине, для rehlds нет аналогов.
Поэтому мой ответ - не планирую.
s1lent вне форума   Ответить с цитированием
Старый 15.11.2015, 10:32   #4
с доступом к форуму безопасности
 
Регистрация: 01.07.2012
Адрес: г. Пермь, Ленинский р-н
Сообщений: 997
Сказал спасибо: 343
Поблагодарили 390 раз(а) в 210 сообщениях
По умолчанию

Здорово! Ещё одна причина опробовать ReHLDS!
Subb98 вне форума   Ответить с цитированием
Старый 16.11.2015, 16:16   #5
Проверенный
 
Регистрация: 13.06.2013
Адрес: ----
Сообщений: 116
Сказал спасибо: 160
Поблагодарили 17 раз(а) в 16 сообщениях
По умолчанию

Список файлов обновляется при смене карты?
LeninChan^^ вне форума   Ответить с цитированием
Старый 16.11.2015, 16:43   #6
с доступом к форуму безопасности
 
Регистрация: 23.02.2014
Адрес: Томск-7
Сообщений: 311
Сказал спасибо: 102
Поблагодарили 1,013 раз(а) в 176 сообщениях
По умолчанию

Цитата:
Сообщение от LeninChan^^ Посмотреть сообщение
Список файлов обновляется при смене карты?
да.
s1lent вне форума   Ответить с цитированием
2 пользователей сказали cпасибо:
Старый 16.11.2015, 22:34   #7
Проверенный
 
Регистрация: 13.06.2013
Адрес: ----
Сообщений: 116
Сказал спасибо: 160
Поблагодарили 17 раз(а) в 16 сообщениях
По умолчанию

Ломается лог файл при выполнении команды

Нажмите здесь чтобы увидеть полный текст



[свернуть]
LeninChan^^ вне форума   Ответить с цитированием
Старый 16.11.2015, 23:13   #8
с доступом к форуму безопасности
 
Регистрация: 23.02.2014
Адрес: Томск-7
Сообщений: 311
Сказал спасибо: 102
Поблагодарили 1,013 раз(а) в 176 сообщениях
По умолчанию

Цитата:
Сообщение от LeninChan^^ Посмотреть сообщение
Ломается лог файл при выполнении команды

Нажмите здесь чтобы увидеть полный текст



[свернуть]
не ломается, для server execute используется в конце перенос строки '\n', для логирования - уберу.
s1lent вне форума   Ответить с цитированием
Старый 17.11.2015, 10:11   #10
с доступом к форуму безопасности
 
Регистрация: 23.02.2014
Адрес: Томск-7
Сообщений: 311
Сказал спасибо: 102
Поблагодарили 1,013 раз(а) в 176 сообщениях
По умолчанию


Обновлено 1.1
  • Исправлен баг с отображением даты в логах.
  • Добавлены доп. поля в лог-файл.
s1lent вне форума   Ответить с цитированием
2 пользователей сказали cпасибо:
Старый 18.11.2015, 10:38   #11
с доступом к форуму безопасности
 
Регистрация: 23.02.2014
Адрес: Томск-7
Сообщений: 311
Сказал спасибо: 102
Поблагодарили 1,013 раз(а) в 176 сообщениях
По умолчанию


Обновлено 1.2
  • Исправлен баг с флагом BREAK.
  • Добавлена возможность выгрузки через meta unload.
  • Добавлена база для примера.
s1lent вне форума   Ответить с цитированием
4 пользователей сказали cпасибо:
Показать/Скрыть список поблагодаривших
Старый 18.11.2015, 17:22   #12
Проверенный
 
Регистрация: 11.06.2013
Адрес: Киев\Украина
Сообщений: 113
Сказал спасибо: 102
Поблагодарили 9 раз(а) в 7 сообщениях
По умолчанию

Подключив сошку
Цитата:
linux addons/rechecker/rechecker_mm_i386.so
Сервер не поднимается.

Цитата:
ОС: Linux Gentoo
Metamod v1.21p37
paster вне форума   Ответить с цитированием
Старый 18.11.2015, 17:30   #13
с доступом к форуму безопасности
 
Регистрация: 23.02.2014
Адрес: Томск-7
Сообщений: 311
Сказал спасибо: 102
Поблагодарили 1,013 раз(а) в 176 сообщениях
По умолчанию

Цитата:
Сообщение от paster Посмотреть сообщение
Сервер не поднимается.
Можно побольше информации о сервере?
например билд.
s1lent вне форума   Ответить с цитированием
Старый 18.11.2015, 19:06   #14
Проверенный
 
Регистрация: 11.06.2013
Адрес: Киев\Украина
Сообщений: 113
Сказал спасибо: 102
Поблагодарили 9 раз(а) в 7 сообщениях
По умолчанию

Цитата:
Protocol version 48
Exe version 1.1.2.7/Stdio (cstrike)
Exe build: 17:35:00 Oct 16 2015 (552)
ReHLDS API version 2.2
Обрыв записи:
Цитата:
[WHB] Version: 1.5.620 Linux
[WHB] Success: Build ReHLDS version defined Linux "552"
[WHB] Success: Configuration executed.
./hlds_run: line 255: 26089 Segmentation fault $HL_CMD
paster вне форума   Ответить с цитированием
Старый 18.11.2015, 19:21   #15
с доступом к форуму безопасности
 
Регистрация: 23.02.2014
Адрес: Томск-7
Сообщений: 311
Сказал спасибо: 102
Поблагодарили 1,013 раз(а) в 176 сообщениях
По умолчанию

paster,

Цитата:
Сообщение от s1lent Посмотреть сообщение
Требования:
  • Движок ReHLDS >= build 581
вам надо обновить rehlds
s1lent вне форума   Ответить с цитированием
Пользователь сказал cпасибо:
Ответ

Метки
filechecker, metamod plugin, rechecker, rehlds, rehlds api


Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 
Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход


Текущее время: 11:55. Часовой пояс GMT +3.


Лицензия принадлежит Dedicated-Server.Ru