[ОТД] Типичные средства детектирования читов

Я лучше тебя
Участник
Статус
Оффлайн
Регистрация
31 Июл 2017
Сообщения
383
Реакции[?]
448
Поинты[?]
1K
Шалом.
Тема повествования:
ОТД: общая теория детекта - Типичные средства детектирования читов
Тема для тех, кто хочет взглянуть на читы, с точки зрения анти-чита и попробовать кратко вникнуть в суть.

Порядок повествования:
  1. Смысл существования
  2. Основные цели анти-чита
  3. Подходы к детектированию
  4. Выводы
В чем же смысл?
Кто-то скажет, "ну, наверно чтобы защищать от читов? не?" На самом деле нет. Анти-читы существуют чтобы защищать исключительно от убытков, появление конкретного софта, влияющего на процесс игры, влечет за собой бомбалейло пуканус у "ультрачестных" игроков, и как долгосрочный итог: потеря лояльности платежеспособной аудитории.
Нелепые понты дорогим скином для пушки, меркнут, особенно если читер дует в сраку и тебе и всей твоей тиме с другого конца карты.
А если тебе насрать что видят другие игроки, почему бы не купить чит со скинченджером? Ведь это дешевле...
Если читерский продукт дает тебе возможности, за скромную сумму походить с крутым скином хотя бы визуально, то нахуя на этот скин косарь копить и отдавать разрабам/издательству?

Анти-Чит условно говоря - это как медицинская страховка, только для игр. И каждая популярная игра по мере необходимости страхует свою задницу от убытков, выливая из своих доходов, обычно в эквиваленте около 1 к 10, то есть, платишь разрабам античита 1 лям рублей, страхуешься приблизительно на 8-10 лямов убытков, это просто офисный расчет. Ничего более.

Основные цели
  • Ограничить возможности: ограничение возможностей являет собою набор защитных мер, предназначенных что бы сузить спектр возможностей читоделов, либо загнать их в те рамки, в которых разработчикам анти-читов проще контролировать ситуацию и предпринимать меры.
  • Повысить риски: согласись, если шанс бана 50 на 50, играть с читом становится стремней, особенно если много личного времени вгрохал в аккаунт, а если шанс бана 90%? А если все 100 и вопрос времени? а если ключ игры в которой ты читеришь стоит 2к? Вот они, риски генерируемые анти-читом. Вынуждая пользовательскую аудиторию опасаться сомнительного по их мнению софта, они снижают шанс покупки вашего продукта.
  • Искоренение вторичных рынков: продажа читов/аккаунтов, это все вторичные рынки, и чем меньше бабла будет крутится на вторичных рынках, тем больше будет прилетать в первичный, самой игре. (Разумеется, ноунеймовых игр это не касается)
Подходы к детектированию
  • Клиентский: Среди клиентских, наиболее популярные - навесные, те которые просто накрывают игру и большую часть необходимого для читерства доступа к ней. (Примеры - EAC, BattlEye) Менее популярные - интегрированные, впаянные в сам клиент игры, зачастую они на 90% калечные и труда с ними даже у обезьяны не возникает. В клиентской части чаще всего, анализируют с точки вхождения, это место первого уклона от нормы, предельно простой пример -
    вы заинжектили чит мапингом, и изнутри своей дллки создали поток, StartAddress которого, указывает на функцию в памяти вашей длл, все бы ничего, но при инжекте маппингом модуля не должно быть в списках, то есть если сравнить стартовые адреса потоков, с пределами памяти видимых модулей
    if(Thread_startAddress >= baseAddress && Thread_startAddress <= baseAddress+moduleSize),
    и окажется, что поток не принадлежит ни одному из видимых модулей, это будет означать лишь то, что поток принадлежит скрытому модулю, которого при обычных обстоятельствах быть не должно.
    Лишь один пример из тысячи возможных, вас может гробить что угодно, изменение флагов доступа памяти, некоторые участки необходимого вам игрового кода могут быть чувствительны к модификациям и многое многое другое, просто включите фантазию.
  • Серверный: На поприще серверных античитов все менее густо, чаще всего - у них меньше данных, ребятам делающим серверное дерьмо, приходится из минимума информации, вытягивать кучу говна на вас, из информации о том, как вы шмаляете, делать выводы о скорости вашей стрельбы, частоте попаданий, численности патронов и прочее прочее прочее. Довольно часто пиздят про нейронные сети, но по сути своей это всего лишь БОТ, который анализирует поведение игроков, и со временем, когда детектируют реальных читеров, этого бота обучают, отличать легит от рейджа на пример, палить автострейфы, делать выводы о нормах и распознавать, когда эти нормы нарушаются, читая одни лишь логи сервера.
Выводы
  1. Палить вас могут даже на самой маленькой мелочи, которую вы привыкли не замечать, что для вас хуйня - для анти-чита, ценный артефакт, для анализ-ботов, больше корма. Это сейчас всем кажется, что тот же кс го ломается каждым вторым школьником с пастой, раскручу гайку-тайну: с варфейсом было тоже самое, только их это выбисило в конце концов, и все пастеры до единого делавшие читы для ру варфейса отсосали с заглотом, остались только жесткие ребята. (включая систем бот к слову) Обновы клиента там могут приходить хоть каждый час. Причем основательные, по 400 метров. (екзешник, все дллки, все классы заного искать, а не ебучие готовые сканеры)
  2. В один момент, все может пойти по пизде, у меня такой момент был три года назад, когда мой хак под рупб фиксанули до основания и пришлось писать его заново с учетом всех прежних косяков. Пиздец всегда подкрадется не заметно, это главное правило, по этому, надо быть заранее готовым к тому что обстоятельства могут резко изменится.
  3. Конечно же, я сократил эту статью в 3 раза, по тому что а почему бы блять и нет в 4 утра?
Разумеется, это далеко не все, есть еще тонны инфы и немало инсайдов из этого дерьма, просто излагать уже подзадолбался.
Будут ли следующие статьи в этом направлении с практическим применением подобных знаний, с сорцами на разных ЯП, зависит напрямую от того, вкатит ли тема.

Спасибо за внимание.

Если че упустил, отпишите в коментах.
 
push me to the edge
Олдфаг
Статус
Оффлайн
Регистрация
22 Мар 2017
Сообщения
2,253
Реакции[?]
1,204
Поинты[?]
1K
Идеально все расписал, глаза читали с удовольствием. Может это начало эпохи годноты на югейме?
 
Пользователь
Статус
Оффлайн
Регистрация
15 Июн 2017
Сообщения
81
Реакции[?]
46
Поинты[?]
0
(екзешник, все дллки, все классы заново искать, а не ебучие готовые сканеры)
Вот тут не согласен , смещения в виртуальной таблице можно было на изи сканером сигнатур доставать =)
Подходы к детектированию
Еще бывают плагины в играх , которые это поддерживают (мб это разновидность клиентского , но все же экзотика ) . Но с ними обычно легко тк они кушают инфу , которой их кормит движок , те если понимать (даже отдаленно) принцип их работы то можно легко их обходить .
 
Участник
Статус
Оффлайн
Регистрация
26 Май 2017
Сообщения
333
Реакции[?]
165
Поинты[?]
0
Некоторые вещи ты не стал рассказывать,заметно, да и я не собираюсь ничего рассказывать. Пусть люди сами узнают информацию подобного характера.
В этой теме просто расписано для юзеров Visual Studio, чтобы они больше поняли суть того, что может быть в анти-читах. В принципе, годно)
 
Я лучше тебя
Участник
Статус
Оффлайн
Регистрация
31 Июл 2017
Сообщения
383
Реакции[?]
448
Поинты[?]
1K
Вот тут не согласен , смещения в виртуальной таблице можно было на изи сканером сигнатур доставать =)

Еще бывают плагины в играх , которые это поддерживают (мб это разновидность клиентского , но все же экзотика ) . Но с ними обычно легко тк они кушают инфу , которой их кормит движок , те если понимать (даже отдаленно) принцип их работы то можно легко их обходить .
это раньше так было, что сканер мог от одной до пары десятков обнов работать. щас более часто меняют архитектуру.
 
Пользователь
Статус
Оффлайн
Регистрация
15 Июн 2017
Сообщения
81
Реакции[?]
46
Поинты[?]
0
Действительно. Зачем выкладывать полезную информацию на форум? Всем же нужно изобретать велосипеды и грызть гранит с нуля, вместо того, чтобы использовать полезную информацию. От того и нет у нас нормальных программистов, потому что коммьюнити дерьма, а не коллеги. А какую полезную информацию на форуме оставил ты? 0. Без палочки.
А ты взгляни на то , что происходит сейчас с читами на csgo (эта игра написана на легком движке \ на эту игру много исходников читов \ исходник движка в открытом доступе ) - появилось уйма людей , которые не шарят в основах , но чето пытаются заработать , которые берут чужую интеллектуальную собственность и качают с этого бабло . Я считаю , что человек обязан получать знания своим трудом или же путем обмена равноценной информации
 
Пользователь
Статус
Оффлайн
Регистрация
26 Окт 2017
Сообщения
520
Реакции[?]
95
Поинты[?]
2K
А ты взгляни на то , что происходит сейчас с читами на csgo (эта игра написана на легком движке \ на эту игру много исходников читов \ исходник движка в открытом доступе ) - появилось уйма людей , которые не шарят в основах , но чето пытаются заработать , которые берут чужую интеллектуальную собственность и качают с этого бабло . Я считаю , что человек обязан получать знания своим трудом или же путем обмена равноценной информации
свои путем не своим ничего уже не изменится это уже происходит.
ру кодеры мало обмениваются инфой(не касаемо читоводства, а вообще всего) поэтому оч сложно я думаю получать ту или иную инфу своим трудом.
 
Сверху Снизу