Фанат Titanfall провёл реверс-инжиниринг игры и выяснил, как избавить её от DoS-атак и нашествия ботов

Энтузиаст даже предложил конкретные решения — одно из них состоит всего из пяти строчек кода.

Фанат Titanfall провёл реверс-инжиниринг игры и выяснил, как избавить её от DoS-атак и нашествия ботов

Разработчик и поклонник игр Respawn под ником p0358 выполнил реверс-инжиниринг первой части Titanfall с целью выяснить, как устроена игра и чем вызваны недоработки, на которые поступают многочисленные жалобы игроков. Он обнаружил серию проблем и способы их устранения, с которыми он поделился с сообществом.

Я публикую этот материал, поскольку разочарован в том, как разработчики пытаются всё исправить. Думаю, сейчас удачное время для этого, так как они, наконец, решили обновить игры.

Если же они этого не сделают, то люди смогут тыкать им в лицо этой статьёй. Фраза «Извините, это слишком сложно» больше не будет оправданием для них, так как вся нужная информация преподнесена здесь на блюдечке.

p0358, разработчик

Нет проверки длины имени игроков

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

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

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

Фанат Titanfall провёл реверс-инжиниринг игры и выяснил, как избавить её от DoS-атак и нашествия ботов

Respawn отключила защиту движка Source от DoS-атак

Разработчик подчеркнул, что фактически сделавшие неиграбельным Titanfall DoS-атаки выполняются с одного источника, причём происходит это на уровне приложения.

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

Автор статьи отметил, что в этом способе нет ничего нового, и защита от подобных DoS-атак реализована в движке Source. Однако разработчики из Respawn отключили её, чтобы повысить стабильность соединения.

Разработчик предложил простое решение проблемы с DoS-атаками в Titanfall — ввести ограничение на мгновенное переподключение и добавить ограничитель, который заблокирует клиент после 100 попыток подключения. Энтузиаст даже написал небольшой патч из пяти строчек кода, работоспособность которого он проверил в игре.

Кусок кода, который может устранить DoS-атаки в Titanfall
Кусок кода, который может устранить DoS-атаки в Titanfall

На серверах нет доступных мест

Третья ключевая проблема Titanfall заключается в системе авторизации на фиксированном количестве серверов игры. Она приводит к тому, что боты заполняют все доступные сервера, из-за чего реальные игроки не могут найти свободное место и фактически не в состоянии играть. Разработчик подчеркнул, что создатели ботов этим активно пользуются.

Решить эту проблему можно не только увеличив количество серверов или реализовав их динамическое масштабирование, подчеркнул энтузиаст. Для этого достаточно ввести ограничение на время подключения к серверу и блокировать IP-адреса нарушителей на 10 минут или даже на час. Это не позволит ботам заходить на сервера и длительно оставаться в состоянии бездействия, тем самым блокируя доступ обычным игрокам.

Фанат Titanfall провёл реверс-инжиниринг игры и выяснил, как избавить её от DoS-атак и нашествия ботов

Другие проблемы

Разработчик описал ещё несколько основных недоработок Titanfall и перечислил способы их устранения:

  • Каждый клиент при подключении к серверу делится с другими своим IP-адресом, фактически предоставляя злоумышленникам нужную информацию — это нужно исправить.
  • Механизм проверки наличия DLC позволяет ботам блокировать возможность поиска игр для клиентов без установленных дополнений в закрытых лобби. Проблему можно исправить, позволив игрокам без DLC подключаться к пустым серверам.
  • Боты могут выполнять DoS-атаки на сами сервера, отправляя большое количество консольных команд. Чтобы устранить эту проблему, нужно ввести ограничение по времени на их передачу.
  • Существует список из 29 учётных записей Origin, которые занимаются блокировкой серверов и DoS-атаками. Энтузиаст перечислил их и призвал заблокировать.
  • Любой член группы может покинуть игру вместе с товарищами по команде, чем также пользуются боты. Эту возможность следует оставить только лидеру.

В начале июля 2021 года хакеры совершили атаку на Apex Legends, заблокировав поиск матчей некоторым игрокам и призвав разработчиков Respawn «спасти Titanfall».

762762
199 комментариев

Жаль, что разрабам похуй и они нихуя не будут исправлять

365
Ответить

Респауны говорили как-то, что там есть один или два человека в команде, которые работают над титанами, и они даже вроде бы что-то делают - на реддите писали, что выходил патч для первой части. Ну а ЕА понятное дело насрать на игры не приносящие много денег.

70
Ответить

Игры EA не для того чтобы в них играть, а для того чтобы поддерживать BLM или исследовать сексуальную идентичность

73
Ответить

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

В мобилках сотни багов на апдейт, а чего в таких играх творится в трекерах боюсь представить

7
Ответить

Так им не выгодно просто. Они вон дойную корову в виде Apex Legends сделали. Своим наплевательским отношением к другим шутерам намекают что надо туда переходить. 

2
Ответить

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

187
Ответить

Комментарий недоступен

75
Ответить