ReHLDS Resources Checker [2.5]

izzatillo

Пользователь
Регистрация
8 Июн 2017
Сообщения
254
Симпатии
78
Пол
Мужской
#1
Rechecker это Metamod plugin, дающий возможность проверять клиентские файлы по их md5 хэшу.
Возможное применение:

  • Обнаружение читерских библиотек в директории игры
  • Обнаружение отсутствия обязательных для игры файлов
  • Обнаружение запрещенных моделей игроков, либо создание белого списка разрешенных

Автор: s1lent

Требования:
  • Движок ReHLDS 937 или новее
  • MetaMod 1.20(p) или новее
Благодарности:
  • dreamstalker за проект ReHLDS
  • Asmodai за консультацию и помощь в реализации оптимизации.
  • Neygomon за проведение тестов.
Команды:
rch_log - 0/1/2

  • 0 - Выключить.
  • 1 - Обычный лог, только обнаружение.
  • 2 - Детальный лог.
Установка:
Распаковываем rechecker_X_X.zip в папку <gamedir> вашей игры.
Добавляем библиотеку rechecker_mm_i386.so или rechecker_mm.dll в зависимости от используемой ОС в конфиг MetaMod.
Для этого открываем <gamedir>/addons/metamod/plugins.ini (если его нет, создаем сами) и пишем:
Linux:

PHP:
linux addons/rechecker/rechecker_mm_i386.so
Windows:

PHP:
win32 addons\rechecker\rechecker_mm.dll
  • Из извлеченного архива rechecker_X_X.zip будет присутствовать файл resources.ini который должен лежать рядом с библиотекой rechecker_mm.dll или rechecker_mm_i386.so
Настройка:
PHP:
Описание флагов:
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

  • Исправлен Bad file, если gamedll не проверяет свои же оригинальные файлы. Критично для HL с включенным mp_consistency. (Спасибо пользователю Asdnn)
  • Rechecker API: Исправлены мелкие недочеты.
Обновление до версии 2.4
  • Обновление Rechecker API 2.1
  • Добавлена поддержка UTF-8 BOM для resources.ini
  • Исправлены некоторые незначительные ошибки.
  • Убрана проверка на расширение у запрашиваемого файла.
 

Вложения

Последнее редактирование модератором:

Damir4ik

Пользователь
Регистрация
22 Июн 2017
Сообщения
90
Симпатии
2
#3
CYRAX, не прокатит )
"../DemoPlayer.dll" 7C15617E IGNORE
__
Регистр важен)
 

Damir4ik

Пользователь
Регистрация
22 Июн 2017
Сообщения
90
Симпатии
2
#5
DashaKarma, он скинул "../demoplayer.dll" 7c15617e IGNORE моя версия "../DemoPlayer.dll" 7C15617E IGNORE
 

pheel

Пользователь
Регистрация
9 Июн 2017
Сообщения
175
Симпатии
80
Пол
Мужской
#6
Damir4ik, регистр неважен. Лепи все в нижнем регистре и не парься.
 

Damir4ik

Пользователь
Регистрация
22 Июн 2017
Сообщения
90
Симпатии
2
#7
pheel, у меня кикало почему то стимов в нижнем регистре)
 

pheel

Пользователь
Регистрация
9 Июн 2017
Сообщения
175
Симпатии
80
Пол
Мужской
#8
Damir4ik, попробуй все проверки demoplayer.dll сделать в нижнем. Вроде так было.
 

neygomon

Его Темнейшество :j
Пользователь
Регистрация
8 Июн 2017
Сообщения
834
Симпатии
379
Пол
Мужской
#9
Damir4ik, для винды DeMoPlAyEr равен demoplayer
 

uneek

Пользователь
Регистрация
16 Авг 2017
Сообщения
7
Симпатии
0
#10
Hello, this is all from myac base cheats resources.ini files . I did not know, if I did everything well ? Because they have not gotten anything yet. I tried one wh and nothing. Advise me? Is that okay?
 

Вложения

neygomon

Его Темнейшество :j
Пользователь
Регистрация
8 Июн 2017
Сообщения
834
Симпатии
379
Пол
Мужской
#11
uneek, why resources1 - resources18????
 

uneek

Пользователь
Регистрация
16 Авг 2017
Сообщения
7
Симпатии
0
#13
neygomon, when it is more 700, 800 lines at resources.ini file my server kick me out. when 500, 600 or less lines ok. That's why i wrote 300 lines at resources.ini files. but i dont now is it good? because system still not catch enythink yet.
16 Авг 2017
i test one wh and nothing, not catch. write cheat hash md5 all his files, but nothing. why some cheat catch, some no? or Rechecker reads files just cstrike folder?
 

uneek

Пользователь
Регистрация
16 Авг 2017
Сообщения
7
Симпатии
0
#14
I want to help get rid of cheaters and understand how to do it.
 

Milos

Пользователь
Регистрация
3 Сен 2017
Сообщения
2
Симпатии
0
Пол
Мужской
#16
Grettings to all. Can you help me about one problem. I am trying to exec cmd:
"kick [userid] 'Reason'; wait; amx_addban [steamid] 0 'Reason';"

But it only kick player and write steam id in format STEAM_0, i think when comand detect double dots in steam id format ( STEAM_x: x: xxxx ) it break the string..

By using [ip] it works fine for amx_addban cmd ..
How can i fix this, i tried single quotes '[steamid]' , but did not help..
 

neygomon

Его Темнейшество :j
Пользователь
Регистрация
8 Июн 2017
Сообщения
834
Симпатии
379
Пол
Мужской
#17

Milos

Пользователь
Регистрация
3 Сен 2017
Сообщения
2
Симпатии
0
Пол
Мужской
#18
Tnx for replay, but didn't help. When i use [ip] instead of [steamid] it works:
"amx_addban [ip] 0 'Reason'; wait; kick [userid] 'Reason'"
When i use [steamid] it only get id until double dots STEAM_X : X: XXXXXXX

amx_addban "STEAM_0:1:123456" "0" "Reason" cmd is working fine when i exec in server, but can't exec from resources.ini file..
 

suspectcs

Пользователь
Регистрация
11 Июл 2017
Сообщения
129
Симпатии
6
Пол
Мужской
#19
Данный модуль забанил спектбота ::D :-D xD: ещё и за вх,как такое возможно? стоит дефолтная база речекера)
 

Вложения

  • 28,1 KB 62

neygomon

Его Темнейшество :j
Пользователь
Регистрация
8 Июн 2017
Сообщения
834
Симпатии
379
Пол
Мужской
#20
suspectcs, ну у тебя в папке сервера значит есть такой файл, лолза