Список форумов * PWR FACTORY *  -  Полезные статьи о CS 1.6  -  Не много о читах!

Автор Сообщение
Groove
Добавлено: Чт Апр 26, 2012 23:22
Оффлайн
* Новая кровь *
* Новая кровь *
Информация
На форуме с: 09.02.2012 Возраст: 38 Сообщения: 15 Откуда: Мурманск
Не много о читах!





Как работают читы для 3д шутеров

Уж очень часто приходится слышать от разных людей, что тот или иной игрок - читер. При этом приводятся определенные доводы, которые в большинстве своем абсолютно ничего не показывают, кроме того, что игрок либо играет хорошо, либо ему повезло, либо... он действительно читер? Wink Попробую популярно объяснить, как работают читы и почему те или иныи игровые ситуации не надо списывать на чит.

Сам я столкнулся с читами давно, играя по сетке в Counter Strike. Одновременно я работал в компании RevoltGames Multimedia ведущим программистом проекта Neuro. И даже однажды для эксперимента по-быстрому накидал простенький чит для CS, позволяющий видеть сквозь стены (Wallhack / Волхак).

Сразу оговорюсь - нижеописанное является верным для сетевых 3Д шутеров, построенных на системе Клиент-Сервер и клиенты которых работают под управлением Windows.

Принцип работы читов

Основная идея системы Клиент-Сервер заключается в том, что все действия обсчитываются на сервере (выстрелы, взрывы, попадания, расход боеприпасов, здоровья и прочее), а клиенту отдается только необходимая ему информация (положение игроков, различные события и состояния).

Так как (в идеале) игроки не имеют доступа к серверным файлам, то и программы-читы так же не могут повлиять на работу сервера. Остается оперирование данными, доступными клиенту. Вдаваться в подробности взлома и реверса кода клиента я не буду - это в данном случае никому не нужно. Просто скажу, что 99% читов имеют немного общего в принципах работы со значительно более полезной для честных игроков программой для захвата видео - PlayClaw.

Общее заключается в том, что они перехватывают методы отрисовки кадра и уже потом рендерят поверх кадра игры всю необходимую информацию (Overlays / Оверлеи). Собственно, из-за этого некоторые "продвинутые" системы защиты могут определять безобидные программы как потенциально опасные (например Hackshield Pro для шутера Combat Arms довольно туполоб в этом отношении).

Основные виды читов (их возможности)

100% клиентов сетевых 3д шутеров имеют доступ к положению игроков, которых видит наш игрок или потенциально может видеть. Потенциально видимый игрок может находиться за стеной или вообще невидим, но он находится рядом с нашим игроком. Чит отрисует всех видимых и потенциально видимых игроков (а так же возможно и предметы, и прочие полезные вещи) поверх кадра игры. Иногда для этого применяют выделение по цвету, чтобы даже полный дятел смог заметить врага. Такой вид читов называют Wallhack (видимость через стены). Это один из классических и распространенных видов читов.

Не уступает по распространенности волхаку чит, который бесит честных игроков больше всего - Aimbot (автонаведение прицела). Имея данные об игроках, чит (обычно по нажатию специальной кнопки) производит небольшие математические расчеты и отправляет системе команду на поворот мыши, в результате прицел игрока практически мгновенно (или как там уже работает чит) наводится на голову и остается нажать только выстрел. Иногда читы имеют возможность наводиться не на голову, но и на определенные части модели (чтобы раньше времени читера не спалили).

Дополнительными ("мелкими") видами читов являются специфические для каждой игры возможности (радары, которые показывают все, индикаторы здоровья, оружия и проч.). Есть кое-что общее, например - No-Fog (отключение "тумана войны"), позволяющий игроку видеть максимально далеко. Тут никаких ухищрений программе-читу делать не надо, просто отключается небольшой кусочек рендера игры и все. Иногда для удобства читера отключают рендер фона, как результат - черное небо и контрастные игроки на этом фоне.

Как распознать читера?

В общем случае это сделать довольно сложно. А если читер умный и использует платные (или еще хуже - приватные) читы, то это практически нереально. Под словом "распознать" я понимаю определение игрока, который использует читы с вероятностью, близкой к 100%. Значительно хуже будет заклеймить честного игрока, чем не доказать виновность читера. Начнем по порядку.

Общие методы обнаружения читов - это античит программы, в частности Punkbuster, Valve Anti-Cheat, Hackshield Pro. Реализованы они по-разному, но смысл их действий один - сканируется память процесса игры на предмет обнаружения подозрительных модулей, проверяются на целостность критичные файлы игры, проверяются на целостность уже загруженные модули игры и т.д.

Punkbuster может выкинуть из игры и за безобидные программы (обычно эти программы просто недавно появились и еще неизвестны разработчикам античита). Если он обнаруживает чит, то идет бан (насколько серьезные бан, зависит от игры).

Valve Anti-Cheat не кикает игроков, а только банит в случае 100% обнаружения чита. Причем делает она это с задержкой от нескольких дней до нескольких недель. Говорят, это сделано специально для того, чтобы читер не смог понять, где он спалился.

С Hackshield Pro я знаком немного - в процессе "борьбы" за выживание PlayClaw в игре Combat Arms эта защита попила нехилое количество крови у меня. В результате PlayClaw то работает, то нет с этой игрой, но зато читеры там просто в масле катаются Smile За пару-тройку часов игры в CA я их несколько штук успел увидеть.

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

Wallhack в руках грамотного читера распознать невозможно. Если же им пользуется дятел, то по записи в демке игры или по kill-cam (если игра это позволяет), можно заметить, как он ведет стволом за игроком, находящимся за стенкой или за углом и который должен сейчас выйти на читера. В самой игре это поймать довольно сложно - нужно учитывать специфику игры. Например, если вы уверены железно на 100%, что выруливаете из-за угла незамеченным и неслышимым и видите ствол, направленный в нос (или уже летящие снаряды, ракеты) и так повторяется несколько раз с одним и тем же игроком - это повод задуматься.

Aimbot распознается значительно проще, но одновременно вероятность ошибки тут велика. Если исходить из описания чита, то все очень просто - получаете постоянные хедшоты в любых положениях от одного и того же игрока - подозрительно. Этот игрок кладет по несколько противников за очередь - еще подозрительней. Но и профессионал может так же делать, не так ли? Тут оценка чисто субъективная. С очень высокой (практически 100%) вероятностью аимбот определяется, если посмотреть на демке за игроком или побегать за ним (в его же команде) - довольно часто неопытные читеры (или чит-программа не идеальна) палятся на том, что жмут на кнопку, аимбот срабатывает и наводит прицел, игрок стреляет и убивает и аимбот автоматически захватывает другую цель, которая может быть даже сзади игрока! Вот такие резкие "скАчки по головам" есть 100% аимбот.

Из дополнений, тот же NoFog можно определить, когда вам прилетает с другого конца карты Smile Обычно такое используется совместно с аимботом.

Что читом не является
...естественно, при условии корректно написанного сервера и его прямой недоступности клиенту.

Читам не являются "бесконечное" здоровье, "бесконечные" боеприпасы, "вертлявость" или вообще Neo-Matrix-подобность, умение убивать всех сразу, умение проходить сквозь стены (тут бывают косяки игр, это не чит, это glitch) и прочая подобная бодяга. ВСЕ это обрабатывается на сервере и клиент не имеет возможности менять эти параметры или влиять на действия других игроков.

Просто запомните - клиент отсылает серверу информацию о нажатых кнопках и движениях мыши (контроллеров) и принимает координаты объектов и их свойства. И ЭТО ВСЕ.

Вот, постарался популярно объяснить, что это такое и с чем это есть. Можно было бы написать еще раза в 3 больше, но это уж слишком "многа букафф" Smile
Цитата:
Автор: Edward Kozadaev специально для PWRF на 27.04.12 23:24

пидо*ов больше чем кажется
Вернуться к началу
CobberT
Добавлено: Пт Апр 27, 2012 18:39
Оффлайн
* Админ Classic *
* Админ Classic *
Награды: 1
Почётный ветеран (Количество: 1)
Информация
На форуме с: 13.01.2012 Возраст: 34 Сообщения: 352 Откуда: Череповец
Цитата:
Автор: Edward Kozadaev специально для PWRF на 27.04.12 23:24

сейчас 19:40, не?



Вернуться к началу
Steam Profile
игорь
Добавлено: Пт Апр 27, 2012 18:52
Оффлайн
* Админ GunGame *
* Админ GunGame *
Награды: 3
PWR Boost Event (Количество: 1) Акционер проекта (Количество: 1) Почётный ветеран (Количество: 1)
Информация
На форуме с: 02.01.2012 Возраст: 52 Сообщения: 491
Косячок Very Happy
Вернуться к началу
bibika
Добавлено: Пт Апр 27, 2012 19:37
Оффлайн
* Главный главнюк *
* Главный главнюк *
Информация
На форуме с: 25.10.2009 Возраст: 37 Сообщения: 7834 Откуда: Питер
Компутер заблудился во времени )))



Вернуться к началу
Steam Profile
V!deo. :D
Добавлено: Пт Апр 27, 2012 20:10
Оффлайн
* PWR Team *
* PWR Team *
Награды: 1
Почётный ветеран (Количество: 1)
Информация
На форуме с: 20.09.2011 Возраст: 35 Сообщения: 1252 Откуда: Питер
Цитата:
Сам я столкнулся с читами давно, играя по сетке в Counter Strike. Одновременно я работал в компании RevoltGames Multimedia ведущим программистом проекта Neuro. И даже однажды для эксперимента по-быстрому накидал простенький чит для CS, позволяющий видеть сквозь стены (Wallhack / Волхак).





попахивает плагиатом... как пить дать

добавлено спустя 5 минут:

или грув реально такой крутой спец программер который пишет читы а отличить чит человек или не чит не может....
Вернуться к началу
Steam Profile
ArMiN
Добавлено: Пт Апр 27, 2012 20:52
Оффлайн
* *********** *
* *********** *
Информация
На форуме с: 04.11.2009 Возраст: 37 Сообщения: 2932 Откуда: spb
Да не че он не пишет... скопипастил статью откуда то и всё
Вернуться к началу
Steam Profile
CobberT
Добавлено: Пт Апр 27, 2012 21:29
Оффлайн
* Админ Classic *
* Админ Classic *
Награды: 1
Почётный ветеран (Количество: 1)
Информация
На форуме с: 13.01.2012 Возраст: 34 Сообщения: 352 Откуда: Череповец
=) а последнюю строчку от себя добавил.. и то накосячил))



Вернуться к началу
Steam Profile
Pre100n
Добавлено: Пт Апр 27, 2012 22:02
Оффлайн
* Админ Classic *
* Админ Classic *
Информация
На форуме с: 08.11.2009 Возраст: 34 Сообщения: 163 Откуда: Усинск - Москва - Белгород =)
может он просто имел ввиду автор топика да и все) ну всмысли автор темы)
Вернуться к началу
Steam Profile
v1r
Добавлено: Пн Апр 30, 2012 18:40
Оффлайн
* Новая кровь *
* Новая кровь *
Информация
На форуме с: 15.02.2012 Возраст: 30 Сообщения: 29 Откуда: Moskow
Groove . google помог! Laughing

дай Бог здоровья каждой матери, чьих сыновей я называю Братьями... © v1r*
Вернуться к началу
Davidoff
Добавлено: Пн Апр 30, 2012 19:59
Оффлайн
* Ветеран форума *
* Ветеран форума *
Информация
На форуме с: 17.09.2011 Возраст: 27 Сообщения: 469 Откуда: Moscow City, SZAO
да ладно вы, не засирайте парня)
он молодец)
Вернуться к началу
Steam Profile
bibika
Добавлено: Вт Май 01, 2012 15:20
Оффлайн
* Главный главнюк *
* Главный главнюк *
Информация
На форуме с: 25.10.2009 Возраст: 37 Сообщения: 7834 Откуда: Питер
Статью отформатировал, в более читабельный вид.



Вернуться к началу
Steam Profile

Показать сообщения:  

   Страница 1 из 1

Перейти:  

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