исходный код игры among us

Innersloth анонсировала вторую часть кооперативной игры Among Us

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

Но остальным геймерам тоже хочется поиграть порой в нечто подобное, поэтому студия Innersloth выпустила два года назад кооперативную и казуальную игру Among Us. Её правила просты: решайте головоломки вместе с товарищами, а также не попадайтесь в лапы грозного убийцы. Но дело в том, что кроме него никто заранее не может распознать волка в овечьей шкуре. Теперь же Innersloth анонсировала вторую часть.

исходный код игры among us. 180820201055307094f0. исходный код игры among us фото. исходный код игры among us-180820201055307094f0. картинка исходный код игры among us. картинка 180820201055307094f0. Игра «Мафия» известна всем любителям собираться компанией друзей, чтобы попытать свою удачу и ловкость рук в карточных или настольных играх. Главная задача — найти убийцу быстрее, чем он перебьёт всех жителей города.

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

Первая из них заключается в том, что в первую часть каждый час играют от 70 000 до 100 000 пользователей. Вторая — разработка Among Us 2 ещё даже не началась. Пока у разработчиков нет ничего: ни строчки кода, ни музыкальной ноты. Innersloth решила начать работу над сиквелом только потому, что проект стал очень большим; студия не могла этого предвидеть. В этом есть как свои положительные, так и негативные стороны. Например, разработчики не могут просто что-то добавить в Among Us, не боясь при этом всё разрушить.

Пока что нет примерной даты выхода сиквела, но ЗБТ стоит ждать не раньше, чем через пол года. Сейчас можно насладиться первой частью Among Us.

Источник

Декомпилируй это: как делают читы для Among Us

Разработчики явно не ожидали свалившейся на них популярности и не подумали о защите.

исходный код игры among us. V4d7rj1D amp poster. исходный код игры among us фото. исходный код игры among us-V4d7rj1D amp poster. картинка исходный код игры among us. картинка V4d7rj1D amp poster. Игра «Мафия» известна всем любителям собираться компанией друзей, чтобы попытать свою удачу и ловкость рук в карточных или настольных играх. Главная задача — найти убийцу быстрее, чем он перебьёт всех жителей города.

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

Исследователь безопасности Джеймс Себри решил выяснить, как работают читы для Among Us и насколько вообще сложно взломать игру. Свои эксперименты Джеймс проводил на PC-версии игры — просто потому, что так проще.

Себри не стал покупать читы и исследовать принципы их работы. Вместо этого Джеймс попытался написать для Among Us набор собственных читов. Ему это удалось.

Хотя Among Us невероятно популярна, Джеймс обнаружил, что с точки зрения защиты в игре отсутствуют базовые вещи. Например, сервер почти стопроцентно доверяет клиентской части, практически никак не валидируя действия игроков.

Есть механизмы, которые могут защитить от некоторых из этих читов — например, проверка на соответствие идентификаторов при обмене данных с сервером. Но в игре они просто не реализованы.

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

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

исходный код игры among us. . исходный код игры among us фото. исходный код игры among us-. картинка исходный код игры among us. картинка . Игра «Мафия» известна всем любителям собираться компанией друзей, чтобы попытать свою удачу и ловкость рук в карточных или настольных играх. Главная задача — найти убийцу быстрее, чем он перебьёт всех жителей города.

Если не касаться установленных разработчиками проверок, то в Among Us можно делать практически все, что угодно. Правда, сперва надо понять, что и где менять; для этого придется изучить устройство игровых механик.

Сделать это достаточно просто. Among Us создана на движке Unity, игровой код написан на языке C#. Прогнав библиотеку игры через декомпилятор — можно воспользоваться dotPeek или dnSpy, — Себри получил восстановленный игровой код, который можно было менять по своему усмотрению.

исходный код игры among us. ynFFu1Ic amp. исходный код игры among us фото. исходный код игры among us-ynFFu1Ic amp. картинка исходный код игры among us. картинка ynFFu1Ic amp. Игра «Мафия» известна всем любителям собираться компанией друзей, чтобы попытать свою удачу и ловкость рук в карточных или настольных играх. Главная задача — найти убийцу быстрее, чем он перебьёт всех жителей города.

Как правило, объясняет исследователь, разработчики мультиплеерных игр внедряют дополнительную защиту: проверяют целостность файлов и не позволяют подключиться к серверу, если клиентская часть подверглась модификации. В Among Us такого нет.

Если сервер не проверяет, модифицировали ли клиентскую часть, то игроки могут использовать собственноручно доработанные клиенты, в которые вшиты собственные читы.

Правда, в случае с Among Us своеобразной защитой стал выпуск игры на мобильных платформах. В движке Unity кроссплатформенность реализована с помощью собственного скриптового бэкенда IL2CPP, слегка усложняющего декомпиляцию.

исходный код игры among us. R09X5Ynk amp. исходный код игры among us фото. исходный код игры among us-R09X5Ynk amp. картинка исходный код игры among us. картинка R09X5Ynk amp. Игра «Мафия» известна всем любителям собираться компанией друзей, чтобы попытать свою удачу и ловкость рук в карточных или настольных играх. Главная задача — найти убийцу быстрее, чем он перебьёт всех жителей города.

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

Основная проблема заключается в том, что код игровой логики во многом неполон. Значит, придется прибегнуть к боле традиционным методам обратной разработки — например, с помощью Ghidra или другого похожего приложения.

Реализовать сам чит можно несколькими способами. Самый просто — внести изменения в код клиента, но Себри не рекомендует действовать таким образом. Если поправить клиент, то его придется заново патчить после выхода каждого обновления.

Куда логичнее создать собственную библиотеку, подсасывающуюся к клиенту Among Us, перехватывающую вызовы игровой логики и позволяющую ими манипулировать. Тут сразу два преимущества: во-первых, чит сохраняет работоспособность при обновлении клиента. Во-вторых, он становится кросс-платформенным.

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

исходный код игры among us. Ld3NluBi amp. исходный код игры among us фото. исходный код игры among us-Ld3NluBi amp. картинка исходный код игры among us. картинка Ld3NluBi amp. Игра «Мафия» известна всем любителям собираться компанией друзей, чтобы попытать свою удачу и ловкость рук в карточных или настольных играх. Главная задача — найти убийцу быстрее, чем он перебьёт всех жителей города.

Оставалось взять смещение, выданное декомпилятором, вставить его в собственную библиотеку — ее код можно посмотреть здесь — и запустить игру.

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

Следующий эксперимент — смена цвета персонажа. Для этого Серби понадобилось отыскать в игровой логике два фрагмента кода: поиск персонажа и функцию, собственно задающую его цвет.

Теперь он мог менять цвет не только своего героя, но и любого другого участника сессии — нужно было лишь вбить в код его идентификатор.

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

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

В целом, считает исследователь, на момент изучения — это был октябрь — Among Us практически беззащитна перед хакерами. Разработчиков можно понять: они явно не ожидали, что их проект станет таким популярным, и не планировали вкладываться в защиту.

Игра совершенно фантастическая. Просто она создана командой из трех человек, лишь один из которых был программистом.

Серби несколько раз пытался выйти на связь с разработчиками. Те не ответили, но в студии Innersloth, уверен Джеймс, отлично знают о проблемах Among Us и наверняка занимаются устранением основных дыр в системе безопасности.

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

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *