Es fácil vencer a los hackers: bastan 5 líneas de código. Un entusiasta realizó ingeniería inversa de Titanfall y explica a los desarrolladores cómo salvar el juego

Es fácil vencer a los hackers: bastan 5 líneas de código. Un entusiasta realizó ingeniería inversa de Titanfall y explica a los desarrolladores cómo salvar el juego

28 jul. 2021 20:30

Los fanáticos de Titanfall han sufrido durante muchos años ataques de hackers regulares. Sin embargo, los desarrolladores no se apresuran a resolver los problemas del juego.

Мы уже писали о том, что поклонники Titanfall атаковали другую игру Respawn Entertainment — условно-бесплатную королевскую битву Apex Legends, чтобы опубликовать сообщение «Спасите Titanfall» и привлечь внимание к проблеме.

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

По неизвестной причине удалили проверку длины никнеймов игроков. Например, он может запросто превысить 330 символов. Это не скажется на сервере, но повлияет на «клиентов» (игроков). Длинный никнейм позволяет воздействовать на другие «клиенты». Так можно выбросить игрока в главное меню или выводить какое-нибудь сообщение.

Решить проблему легко — достаточно добавить проверку длины никнейма. Желательно, чтобы он совпадал с указанным в Origin.

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

В движок Source встроена защита от DoS-атак, но разработчики отключили её. Вероятно, это сделали для обеспечения высокой скорости работы клиента при синхронизации с сервером.

Автор предложил исправление. Это 5 строчек кода.

 

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

Необходимо обновить систему авторизации. Сейчас боты с лёгкостью могут занять все сервера. Однако, они не отсылают ключ Origin. Для занимания слота на сервере достаточно просто поддерживать соединение. Необходимо ограничить время на отправку ключа. Тогда проблема решится сама собой. Такой ключ смогут отправить игроки, но не боты.

Энтузиаст порекомендовал увеличить число серверов Titanfall, а также позволить использовать команду «LeaveMatchWithParty» только лидеру группы.

Время покажет, прислушаются ли к советам разработчики.

Boris Piletskiy
28 jul. 2021 20:30

Сейчас на главной