Как сделать рейнбоу

Добавил пользователь Евгений Кузнецов
Обновлено: 04.10.2024


Rainbow Six Extraction поставляется с многочисленным бонусным контентом после выпуска. Один из таких материалов включает в себя комплект United Front, который связан с еще одной игрой из франшизы Tom Clancy, Rainbow Six: Siege. Вот как разблокировать комплект для обеих игр.

Чтобы получить награду, у вас должны быть две указанные игры. Все, что вам нужно сделать, это запустить обе игры, Rainbow Six: Siege и Rainbow Six Extraction, хотя бы один раз на любой платформе. Убедитесь, что учетная запись, которую вы используете для обеих игр, одинакова или связана с одной и той же учетной записью Ubisoft.


Петр Забочин 25 января 2022 в 17:04 9214

У всех геймеров появился уникальный шанс получить бесплатный доступ к новому многопользовательскому шутеру Rainbow Six: Extraction на ПК от компании Ubisoft, но с одним условием.




Новый кооперативный шутер от первого лица Rainbow Six: Extraction вышел 20 января 2022 года и получил смешанные отзывы от критиков и игрового сообщества. Действие шутера происходит в будущем, после событий оригинальной игры Tom Clancy's Rainbow Six. Геймерам предстоит объединиться в команды по 3 человека и противостоять инопланетной угрозе в Rainbow Six: Extraction.


Интеллектуального прорыва в области радужных таблиц сегодня не планируется, а есть желание рассказать, что радужные таблицы – это не сложно, поэтому и писать будем на чем-то простом, а именно: PHP. Хранить таблицу в MySQL.

Весь код доступен на GoogleCode, я же опишу основные моменты, над которыми пришлось подумать и которые необходимо реализовать.

Для начала необходимо поговорить о входном алфавите. В наборе паролей участвует не все символы ASCII таблицы, а только те, которые можно без лишних хитростей набрать на клавиатуре ПК или мобильного устройства. Чем меньше входной алфавит, тем быстрее будет сгенерирована радужная таблица, но и паролей по заданным хэшам найдется меньше. В нашем случае будем использовать входной алфавит из цифр и букв латинского алфавита верхнего и нижнего регистров.

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

Внутри цепочек попеременно применяется то хэш-функция, то функция редукции. С хэш-функцией все ясно – это MD5, SHA1 или любая другая (в нашем случае будем использовать MD5). С функцией редукции ясности меньше. Во-первых, функция редукции, получив на входе хэш, должна выдать некоторый пароль из символов входного алфавита. Во-вторых, функция редукции необходима не одна единственная, а упорядоченное множество функций редукции, причем мощность этого множества равна длине цепочки.

Конечно, можно было бы написать две-три функции редукции самостоятельно, но не в случае, когда длина цепочки равна 100 или 1000. Тем более, хотелось бы, чтобы длина цепочки хранилось в константе, которую можно заменить легким движением руки.

В голову приходить достаточно очевидное решение: нужно использовать Генератор псевдослучайных чисел (ГПСЧ). Для каждой конкретно взятой функции редукции инициализировать ГПСЧ определенным набором бит из хэша, поступающего на вход, а затем получать пароль с помощью вызова getWord().

В принципе действовать на уровне отдельных бит и не требуется. Инициализировать ГПСЧ нужно числом типа int, для моей платформы – это 32 бита или 4 байта. MD5 состоит из 16 байт (посмотрите на второй параметры у функции md5 в PHP), тогда количество возможных размещений равно 16! / (16 — 4)! = 43680 – даже для длины цепочки в 1000 хватит с запасом.

Тогда собственно функция редукции, принимающая на вход хэш и номер текущего шага в цепочке, будет иметь вид:

С учетом всего вышеописанного функция расчета конца цепочки по ее началу тривиальна:

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

В классическом варианте берется последняя n-ая функция редукции от хэша и получившийся пароль ищется в радужной таблице, если ничего не нашлось, берется n-1 редукция, потом вычисляется хэш, потом n-ая редукция и ищется в таблице и так далее, пока не найдется пароль. При использовании MySQL это могло бы вылиться в n однотипных SELECT-ов (в худшем случае) – даже начинающий веб-программист знает, что за это можно и по рукам получить! Конечно же, достаточно одного SELECT-а для поиска одного пароля, но для этого необходимо генерировать все пароли для поиска разом:

Все остальные манипуляции с MySQL прямого отношения к радужным таблицам не имеют, а другие части исходного кода, по моему мнению, понятны и без объяснений.

И напоследок ложка дегтя. PHP и MySQL прекрасно справляются с созданием прототипов на скорую руку, но PHP действительно не самый быстрый язык и хранение радужной таблицы в реляционной СУБД общего назначения не самое эффективное решение. Радужную таблицу для MD5 для 6-символьных паролей с длиной цепочки 1000 из 2 миллионов записей ноутбук на базе i3-330UM генерировал более 8 часов. В идеале полученная таблица может обратить 2*10^9 хэшей, но это число не соизмеримо с общим количеством 6-символьных паролей, которых 56,8*10^9 на выбранном входном алфавите.

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

Всего за несколько месяцев кооперативный шутер от первого лица Rainbow Six: добыча будет доступен для ПК и консолей. Если вы планируете предварительный заказ игры, есть несколько редакций на выбор. Это руководство подробно расскажет о бонусах и выпусках, которые вы можете предварительно заказать прямо сейчас, и, надеюсь, поможет вам выбрать, какая версия подходит вам.

Стандартное и Deluxe Edition


Изображение предоставлено Ubisoft

В настоящее время вы можете оформить предзаказ на две разные версии Rainbow Six Extraction. Игра доступна на платформах PlayStation 5, PlayStation 4, Xbox Series X | S, Xbox One и ПК через Ubisoft Store или Epic Games Store. Если вы являетесь участником Ubisoft +, игра будет доступна для игры 16 сентября.

Самая простая версия Rainbow Six Extraction – это Standard Edition. Планируете ли вы купить его физически или в цифровом виде, содержимое остается неизменным. Он просто идет в комплекте с игрой. Если вы сделаете предварительный заказ на игру, она также будет поставляться с комплектом Orbital Decay Bundle, о котором будет подробно рассказано в следующем разделе. Цена на эту версию составляет 59,99 доллара США.

Следует отметить, что покупка версии игры для PlayStation 4 или Xbox One позволит вам перейти на версию следующего поколения без дополнительной платы. Это верно как для физических, так и для цифровых версий Standard и Deluxe Edition.

Говоря о Deluxe Edition, версия Rainbow Six Extraction за 79,99 долларов упакована еще несколькими вкусностями. В дополнение к Orbital Decay Bundle, немного более дорогое издание включает еще три набора, полных косметических предметов, бустеров опыта и даже скидку во внутриигровом магазине.

Вот название каждой упаковки и ее состав:

Набор React Strike

Frontline Cosmetic Pack, который включает в себя головной убор Spectrum, униформу и скин для оружия, а также талисман REACT Lockjaw. Бустеры опыта для мероприятий после запуска 10% скидка во внутриигровом магазине

Пакет Obscura

Скины оружия Cephal Black и Cerulean Отредактировано и талисманы Anagram

Набор ядовитого прикосновения

Униформа и головной убор Noxious Touch для Alibi Universal Noxious Touch and Redeemer скинов оружия Jawbreaker и Guardian Angel Charm

Бонус за предзаказ набора Orbital Decay Bundle


Изображение предоставлено Ubisoft

Любой, кто оформил предзаказ на Rainbow Six Extraction, получит комплект Orbital Decay в качестве бонуса за предзаказ. Как и в предыдущих наборах, это предложение включает скин для оружия, амулет и косметику оператора. Вот все, что входит в комплект Orbital Decay Bundle:

Испарившийся скин для оружия Обаяние Crashlander Униформа и головной убор Ориона для Льва и Финки


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

Tom Clancy's Rainbow Six Extraction – это совместный шутер, в котором игрокам необходимо разблокировать более сложные уровни сложности, прежде чем в них можно будет играть. Rainbow Six Extraction начинает игру с самой легкой сложности, которая по-прежнему требует тактического использования различных оперативников игры. После добавления других игроков в игру Rainbow Six Extraction может предоставить уникальный опыт для каждой миссии, особенно после того, как настройки сложности были разблокированы.

Rainbow Six Extraction: как открыть дополнительные настройки сложности

Rainbow Six Extraction: Как открыть более сложные уровни сложности

Это особенности каждого уровня сложности в Rainbow Six Extraction:

  • Умеренный: Операторы находятся между первым и третьим уровнями, мутации-паразиты отсутствуют, а в миссиях есть лишь несколько более низких уровней. уровень архейцев.
  • Осторожно: Операторы третьего уровня и выше, фактор риска мутации паразитов составляет 50 %, появляется средний уровень археанцев более низкого уровня, а количество опыта за задание увеличивается на 50 %.
  • Тяжелый: операторы имеют шестой уровень и выше, фактор риска мутации паразитов равен 100 %, существует полная экосистема археанцев, а целевое количество опыта увеличивается на 100 %.
  • Критично: Операторы имеют уровень 8 и выше, фактор риска мутации паразитов равен 100 %, есть полная экосистема археанцев, а целевое количество опыта увеличилось на 200 %. li>

Rainbow Six Extraction доступно для Xbox One, Xbox Series X/S, PS4, PS5, Google Stadia, Amazon Luna и ПК.


Андрей Кольский - помощник редактора. Его страсть к играм началась с его первой консоли (Sega Genesis), и с тех пор он не переставал играть. Его любимые игры: The Legend of Zelda: Ocarina of Time, Team Fortress 2, Rainbow Six Siege, Pokémon Sword & Shield, Old School Runescape, Skyrim и Breath of the Wild.

Читайте также: