Сообщение от EvilChaotic
Photon Cloud занимается вопросами пакетов. Там защиты не много.
ПС. Сразу после релиза читеры напали на игру. Понаделали ВХ, Аимботы, полеты, стрельба без разброса и прочие радости жизни. Еще встретил штуку, которая ставит всех игроков в определенную точку и читер просто стреляет по ним. И все это начали продавать игрокам.
Пока парился с античитами, еще успели и на сервере надехерить. В общем какой-то чел за 10 мин обошел всю защиту игры и начал отправлять запросы в бд. Отсюда читы на деньги и стату.
Пришлось остаться в офисе на ночь, переделать защиту. Пакс помог спрятать ключ проекта в длл. А я переделал серверные скрипт и пошифровал запросы.
В данный момент античит банит за любое изменение переменных внутри игры через Cheat Engine, каждый час примерно по одному человеку отправляется в бан. Так же имеется защита от спид хака + инъекции длл. Воспользовался Anti Cheat Toolkit. ВХ тоже закрыл.
|
Ох неправильным ты путем пошел.. Ты не должен ничего шифровать, не должен сделить за тем чтобы "в cheat engine не меняли значения переменных". Все должно проверяться на сервере и только там.
От тебя должен уходить не пакет "мой персонаж находится по координатам x/y/z", а пакет "команда: движение вперед".
Ключ проекта ? Что за ключ проекта ?
Защита от спидхака ? Это случаем не от встроенного ли спидхака в чит энжин ?
Закрыл ВХ ? Как ?
Защита от инъекции ДЛЛ ? Это невозможно.
Насчет сетевого трафика - если ключ которым ты шифруешь поток постоянный - записан в клиенте, то тогда любой желающий может взять и дернуть его оттуда. Если ключ создается при открытии соединения, то тогда весь трафик перехватывается mitm-прокси.
Про то что кто-то смог отправлять запросы в базу - вообще эпик фейл...
Вообще есть 2 типа читерства:
1. Эксплоиты - самый сильный эффект, легче всего палится, легче всего правится. Сюдя относится все связанное с тем что разработчик забыл проверить на сервере:
- Читер играет за мага в MMORPG, у него нету маны, клиент не позволяет использовать заклинание, но мы просто шлем серверу пакет и ему наплевать...
- Читер играет в то же самое MMORPG и вместо 1 заклинания, отправляет сразу 10 пакетов, и использует 10 заклинаний одновременно (или 1 и тоже 10 раз за раз)...
- Читер играет в шутер и, благодаря тому что сервер шлет пакеты с местоположением противника даже если те за стеной, видит их (для этого нужно всего 100 строк кода C/C++)
2. Автоматизация действий - хер спалишь, хер запретишь. Сюдя относится все связанное в тем когда компьютер выполняет за тебя ряд действий:
- Все аимботы в шутерах - компьютеру ничего не стоит прицелится ведь, он оперирует углами, а не таскает мышку по столу.
- У компьютера охрененное время реакции - в тебя летит здоровенная ракета (или любой скилшот в MOBA-играх)? Нет проблем - компьютер отреагирует еще когда твой противник будет только замахиваться и вычислит математически наиболее выгодный точку, чтобы уклониться.
- Играешь в игру где больше всего решает сколько времени ты просидел в игре ? Нет проблем - бот будет играть за тебя 24/7 и вскопает столько грядок что можно будет обеспечить планету жратвой на 100 лет.
Дак вот первое - это фейл разработчика и только он. Второе - пока решается только путем обрезания компьтеру доступа к данным: аимбот ведь не читает изображение с экрана, чтобы опередить где противник и куда стоит прицелится чтобы убить его (над проблемой оптического распознавания до сих пор бьются профессионалы - в читах написанных 16-ти летним школьников ocr нет и подавно..). Нет, он напрямую читает положение/поворот игрока и противников из памяти игры, а потом применяет математику 9 класса... Чит который автоматически уклоняется от летящей в тебя всякой херни тоже берет данные напрямую - как правило из пакетов...
Первое решается очень просто - нужно перестать ленится и проверят, наконец, все на сервере.
Второе, теоретически, вообще не решается, однако на текущий момент можно попытаться забрить дилетантов - ring0 античит, поиск читов среди процессов/загруженный библиотек по сигнатурам и т.д. Это то чем так яростно занимаются valve anticheat, punkbuster, myac и многие другие. Те кто "шарит" или те у кого просто до жопы энтузиазма так или иначе разреверсят античит и обойдут его..