HLFX.Ru Forum
Показать все 34 сообщений этой темы на одной странице

HLFX.Ru Forum (https://hlfx.ru/forum/index.php)
- Технические вопросы (https://hlfx.ru/forum/forumdisplay.php?forumid=20)
-- Античит goldsrc (https://hlfx.ru/forum/showthread.php?threadid=3148)


Отправлено marikcool 18-12-2011 в 18:59:

Античит goldsrc

Писал античит, в основе стандартные методы защиты, проверка файлов, проверка хуков на важные функции движка и opengl функций ну еще пару методов которые помогают вычислисть читера.
в конечном итоге все последнии читы используют ring0 инжекторы, то есть хукать loadlibrary а аналогичные функции для ловли инжекта из ring3 уже смысла нет, но на хуках glbegin и прочее все равно ловятся.
Но теперь стали использовать читку памяти из hl.exe в ring0, а что бы рисовать врагов, вовсе отказались от перехвата gl функций, рисуют на канвасе рабочего стола gdi функциями (работает только в winxp, из того что видел).

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

обычно чтобы найти указатель на эту структуру, дабы не вешать хуков и не оставлять следов ищут по патерну. Ищу метод чтобы данные хранились так чтобы по текущим патернам невоможно было найти структуру.
может есть еще какие идеи?


Отправлено Дядя Миша 18-12-2011 в 19:05:

конкретно для халфы как для движка с закрытыми сорцами ничего не посоветую, но методы радикальные давно известны.
Во первых делать скриншот экрана игрока и засылать его администратору. Во вторых движок должен учитывать наиболее распространенные методы читинга по характерным действиям самого игрока и незаметно делать читёру разные необъяснимые пакости, которые трудно ловятся дебаггером. То есть много читёров поляжет в неравной борьбе, прежде чем создатель чита поймет что движок его чит опознал и необъяснимые глюки - это реакция движка на чит.
Нечто вроде аллергии.

__________________
My Projects: download page

F.A.Q по XashNT
Блог разработчика в телеграме

Цитата:

C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'


Отправлено marikcool 18-12-2011 в 22:08:

хочу попробовать менять данные в структуре игрока, на клиенте поновому собирать.
насчет скринов, читы уже ловят GetDC и отрубают хаки, вообщем труба)


Отправлено qpAHToMAS 19-12-2011 в 01:09:

Боюсь твои труды не оправдают себя. Посмотреть на MyAC (вроде самый успешный сейчас), он даже opengl32.dll не блокирует.
Не знаю как UCP, который запускал игру так, что хрен узнаешь вообще, запущена ли она в системе, но на сколько я помню, прозрачные стены на нем все-таки работали, как-то через драйверы .

Цитата:
Дядя Миша писал:
Во первых делать скриншот экрана игрока и засылать его администратору.

И на так убого, как это делает MyAC. На Windows 7 при нормальной игре если PrintScreen возвращает черный экран, то MyAC вернет тоже самое.
Не знаю как работают всякие Fraps'ы и заснимут ли они включенные читы, но по-моему нужен подобный подход.


Отправлено Дядя Миша 19-12-2011 в 07:41:

Цитата:
marikcool писал:
насчет скринов, читы уже ловят GetDC и отрубают хаки, вообщем труба)

да не юзает скрин экрана getDC, сколько можно объяснять?
там черех glReadPixels.

__________________
My Projects: download page

F.A.Q по XashNT
Блог разработчика в телеграме

Цитата:

C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'


Отправлено marikcool 19-12-2011 в 10:04:

Цитата:
Дядя Миша писал:
да не юзает скрин экрана getDC, сколько можно объяснять?
там черех glReadPixels.

я про то как делают скрин античиты, а через glReadPixels помоему не словится то что поверх gdi рисует.

любой маяк обходится просто изменением md5 хэша файла, также обходится и vac.


Отправлено Дядя Миша 19-12-2011 в 10:19:

Цитата:
marikcool писал:
а через glReadPixels помоему не словится то что поверх gdi рисует.

а что рисуется поверх GDI?

__________________
My Projects: download page

F.A.Q по XashNT
Блог разработчика в телеграме

Цитата:

C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'


Отправлено qpAHToMAS 19-12-2011 в 13:17:

Цитата:
Дядя Миша писал:
а что рисуется поверх GDI?

Ну как минимум, что-нибудь типа программы AIM, которая создает прицел по средине экрана.


Отправлено Дядя Миша 19-12-2011 в 13:46:

тюблин! Дак прицел правильные посоны маркером рисуют прямо на мониторе. Ни один античит не просечёт!

__________________
My Projects: download page

F.A.Q по XashNT
Блог разработчика в телеграме

Цитата:

C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'


Отправлено FiEctro 19-12-2011 в 14:14:

Многие админы и без читов банят, только за то что ты их обыгрываешь.

__________________
У котёнка мокрый нос и гладенькая шерсть, у него забавный хвост и быстрых лапок шесть. Две задних, две средних и две передних лапы, такая многоножка получилася у папы.
Он ученый — папа мой — зверушек изучает, гуляет по помойкам, ловит крыс и чаек. Две крысы белокрылые и чайки две унылые покрытые пупырчатою кожей лягушат без пёрышек тоскуют и ускакать спешат.
А ещё есть муравей большой размером с гуся он пугает всех зверей, и я его боюся, когда он ковыляет на лапках на своих.
И в двери ударяет, и начинает стих: Я — муравей, воды налей! Не меньше ведра, напиться мне пора!


Отправлено Дядя Миша 19-12-2011 в 14:17:

Цитата:
FiEctro писал:
Многие админы и без читов банят, только за то что ты их обыгрываешь.

это самый зверский античит

__________________
My Projects: download page

F.A.Q по XashNT
Блог разработчика в телеграме

Цитата:

C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'


Отправлено PunkPaToB 19-12-2011 в 14:22:

Я тут , будучи бывшим задротом Point Blank припоминаю как юзали такую чтуку как CheatEngine и вытворяли с игрой что хотели
То длинный нож , то большый ранг , то анти разброс (до 0 разброс ставили у оружий) . Из других режимов переводили обьекты - Динозавра (типо зомбомода) на ДМ переносили. Ну или бессмертие себе делали.
За раз в 3 месяца , после ломания новоой обновы античита , читаками забивались все сервера.И бунили по 8к людей

Возможны все эти извраты на ГС ?

__________________
А что нет?


Отправлено marikcool 19-12-2011 в 16:36:

Цитата:
Дядя Миша писал:
а что рисуется поверх GDI?

рисуются квадраты по цвету команды, которые показывают позицию игрока.
информация о команде узнается по модели игрока.

насчет админов это хорошо, но нет столько времени следить за 100+ онлайном, да и системе я больше доверяю чем человеческому фактору, особенно когда банят просто хороших игроков.


Отправлено Дядя Миша 19-12-2011 в 16:43:

Цитата:
marikcool писал:
рисуются квадраты по цвету которые показывают позицию игрока.

*чешет репу*
ну опытный игрок по звуку шагов определит позицию игрока.
неопытный - по читу.
есть ли смысл вообще огород городить?

__________________
My Projects: download page

F.A.Q по XashNT
Блог разработчика в телеграме

Цитата:

C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'


Отправлено marikcool 19-12-2011 в 16:54:

Цитата:
Дядя Миша писал:
*чешет репу*
ну опытный игрок по звуку шагов определит позицию игрока.
неопытный - по читу.
есть ли смысл вообще огород городить?

это конечно хорошо не спорю, но когда ты стоишь и не издаешь звука, и ты просто умераешь из не откуда это не вариант. а когда более менее средний игрок с такой чтукой играет, то ему вообще равных нету.

смысл есть, нужно отрезать доступ тем кто нечестно играет.


Отправлено underworlddemon 19-12-2011 в 17:11:

Цитата:
marikcool писал:
любой маяк обходится просто изменением md5 хэша файла, также обходится и vac.

не знаешь как работает маяк ?
ему пофигу на любые активности не трогающие процесс игры
а вот полезешь в неприкосновенную область и можешь схватить бан (зависит от настройки сервера Маяка, т.к. он может логировать и по совокупности факторов банить)
всё тут на форуме в закрытом разделе -> http://www.dedicated-server.ru/

vac для хл1 - это не античит... это устаревший проект (валфу давно наплевать на хл1)


Отправлено Дядя Миша 19-12-2011 в 18:00:

Цитата:
marikcool писал:
смысл есть, нужно отрезать доступ тем кто нечестно играет.

если уж отрезать - то действительно по совокупности факторов на сервере определять кто читерит.
Просто ведя определенную статистику.
Давным-давно еще был такой прикол - антиламерская защита для первокваки. Там было всё просто - упал в лаву больше десяти раз - ламер, пошел нахрен с нашего уютного сервера. Примерно так.

__________________
My Projects: download page

F.A.Q по XashNT
Блог разработчика в телеграме

Цитата:

C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'


Отправлено XaeroX 19-12-2011 в 18:28:

Цитата:
Дядя Миша писал:
Там было всё просто - упал в лаву больше десяти раз - ламер, пошел нахрен с нашего уютного сервера. Примерно так.

И геймплей, надо полагать, фокусировался на задаче навалиться на того, кто на первом месте по фрагам, всей гурьбой и сбросить его в лаву, и так несколько раз?

__________________

xaerox on Vivino


Отправлено marikcool 19-12-2011 в 18:28:

Цитата:
underworlddemon писал:
не знаешь как работает маяк ?
ему пофигу на любые активности не трогающие процесс игры
а вот полезешь в неприкосновенную область и можешь схватить бан (зависит от настройки сервера Маяка, т.к. он может логировать и по совокупности факторов банить)
всё тут на форуме в закрытом разделе -> http://www.dedicated-server.ru/

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

вот насчет лавы интересно, только мне не от нубов избавлятся надо а от тех кто играет со счетом фраги/смерти - 100/5 , при этом учитывать что есть действительно такие игроки которые могут так штамповать.

ок попробую поговорить на ds.ru, может быть что толковое там и есть.


Отправлено Дядя Миша 19-12-2011 в 18:56:

Цитата:
marikcool писал:
вот насчет лавы интересно, только мне не от нубов избавлятся надо а от тех кто играет со счетом фраги/смерти - 100/5

я тебе просто как пример привел.
Игроки есть всякие. Кодинг такого рода сводится к подобру нужных условий, то есть это не математическая задачка.
Возможно к сбору статистики и её анализу.
Возможно эту статистику следует вести сквозь все игры.
При этом надо совершенно чотко знать манеру поведения просто хорошего игрока. Хотя читы частенько маскируют как раз именно под хорошего.

__________________
My Projects: download page

F.A.Q по XashNT
Блог разработчика в телеграме

Цитата:

C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'


Отправлено underworlddemon 19-12-2011 в 21:34:

Цитата:
marikcool писал:
там просто чек по хэшу файлов, поменял 1 байт в старом чите и новый чит готов. так что от маяка уже давно отказался, очень слабо защищет, пока что на данный момент все античиты обходятся, но в целом для среднестатического контерстрайщека обойти это проблемма.

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


Отправлено marikcool 19-12-2011 в 22:16:

Цитата:
underworlddemon писал:
ещё раз:
маяку пофигу на хеш и размер файлов,
он отслеживает активность в адресном пространстве игры и банит если таковая есть
маяк если он правильно настроен, то его очень сложно обойти (обычно такие читы в паблик не успевают попасть, быстрее выходит новая версия или база активностей для серверной части)

может в последнем билде это так, но все билды до этого строго хэш. если же координально ничего не изменилось в последней версии могу тебе скинуть чит на любую версию маяка либо переделать готовый сменой 1 байта)

и каким методом он может активность в адрессном пространстве отслеживать? у него 1 хук на лоадлибрари стоит и всё.


Отправлено underworlddemon 20-12-2011 в 01:18:

народ в своё время ловил баны за утилиты форсирующие большую, чем 60 Герцовку
они как раз или в драйвер лезут или в игровые вызовы
и за то, и за это Маяк банил, если утилита не в белом списке =)

з.ы. инфа давняя у меня... 2008года... да и основана хоть и на лицензионном, но не мною настраиваемом маяке
так что могу приврать


Отправлено PomanoB 20-12-2011 в 06:04:

Насколько я знаю, в Маяке две базы читов - одна по MD5, а вот другая уже отслеживает активности и инжекты в процесс


Отправлено Дядя Миша 20-12-2011 в 08:37:

Цитата:
underworlddemon писал:
народ в своё время ловил баны за утилиты форсирующие большую, чем 60 Герцовку

а за такое руки надо отрывать. Я принципиально выставляю 100 герц всегда.

__________________
My Projects: download page

F.A.Q по XashNT
Блог разработчика в телеграме

Цитата:

C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'


Отправлено marikcool 20-12-2011 в 09:31:

принцип маяка, грузим драйвер, хукаем loadlibrary, при любоых инжектах выдергиваем путь dll, проверяем по MD5 в базе, если MD5 в базе нашолся баним, если нет то играй с читами.
притом что список вторгаемых dll куча, начиная от касперских заканчивая adobe сервисами и прочее.
следовательно считаю эти методы пойдут в дополнение но не как за основу.

в самом процессе hl.exe состояние данных меняется, как можно отследить что там в памяти что то не то происходит? нету там никакого контроля активности, максимум пару хуков на writememory.

Добавлено 20-12-2011 в 13:31:

Цитата:
underworlddemon писал:
и за то, и за это Маяк банил, если утилита не в белом списке =)

там только черный.


Отправлено underworlddemon 20-12-2011 в 11:14:

Цитата:
marikcool писал:
там только черный.

а как в чёрный умудрились попасть rivatuner, ati tray tools и т.п.


Отправлено Дядя Миша 20-12-2011 в 11:18:

underworlddemon риватюнером народ мутил первые валлхаки, убирал вспышку от световой гранаты в контре и еще чота.
Эх, маладеж

__________________
My Projects: download page

F.A.Q по XashNT
Блог разработчика в телеграме

Цитата:

C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'


Отправлено qpAHToMAS 20-12-2011 в 13:09:

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


Отправлено underworlddemon 20-12-2011 в 13:42:

Цитата:
Дядя Миша писал:
риватюнером народ мутил первые валлхаки, убирал вспышку от световой гранаты в контре и еще чота.
Эх, маладеж

можно-то можно, но чем герцовку форсировать ?
за такое народ и попадал


Отправлено qpAHToMAS 20-12-2011 в 14:51:

UCP кто-нибудь использовал?


Отправлено marikcool 20-12-2011 в 16:38:

Цитата:
qpAHToMAS писал:
UCP кто-нибудь использовал?

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


Отправлено HAWK0044 31-12-2011 в 08:28:

2Панкратов:
В контре и вообще в ГС такое не возможно ,ибо пули летят с сервера и разброс считаеться там же , изменить его нельзя никаким образом, потому что хрен ты его отловишь. Кол-во патронов можно поменять, но насколько я знаю, только если ты сервер. Со званиями то же дело, они на сервере и изменить их будет нельзя (если их нормально сделать)


Отправлено marikcool 31-12-2011 в 11:29:

Цитата:
HAWK0044 писал:
2Панкратов:
В контре и вообще в ГС такое не возможно ,ибо пули летят с сервера и разброс считаеться там же , изменить его нельзя никаким образом, потому что хрен ты его отловишь. Кол-во патронов можно поменять, но насколько я знаю, только если ты сервер. Со званиями то же дело, они на сервере и изменить их будет нельзя (если их нормально сделать)

визуальный разброс можно убрать, ну и отдачу тоже.


Временная зона GMT. Текущее время 10:58.
Показать все 34 сообщений этой темы на одной странице

На основе vBulletin версии 2.3.0
Авторское право © Jelsoft Enterprises Limited 2000 - 2002.
Дизайн и программирование: Crystice Softworks © 2005 - 2024