Как победить в игровых автоматах (читы, хаки и аферы)

  1. Алекс — парень, который расшифровал используемый слотами ГПСЧ (PRNG) и заработал на этом миллионы
  2. Мошенничество в игровых слотах, HW-манипуляция и специальные инструменты
  3. Слоты и программные сбои
  4. Приложение: Как работает алгоритм Алекса

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

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

В других игрокам просто везло. Им удавалось найти сбой в программном обеспечении и использовать его в свою пользу.

Однако, за последнее время (2009-2018 гг.) самым интересным случаем была история русского парня из Санкт-Петербурга, который сумел успешно предсказать результаты спинов на некоторых моделях игровых автоматов и использовал это в своих интересах, чтобы заработать миллионы на казино по всему миру.

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

Признателен за публикацию подробностей об этой истории сайту wired.com и г-ну Brendan Koerner [1].

Алекс — парень, который расшифровал используемый слотами ГПСЧ (PRNG) и заработал на этом миллионы

Алекс работал внештатным программистом и хакером, когда российское казино наняло его для управления RTP некоторых игровых автоматов Novomatic. Чтобы выполнить эту работу, Алекс должен был подробно узнать об устройстве этих машин изнутри. Он также узнал о ГПСЧ (генераторы псевдослучайных чисел) и о том, как они работают, и как они используются в игровых автоматах. Когда он заметил, что игровые автоматы используют небезопасный алгоритм ГПСЧ, который можно предсказать, произошел прорыв.

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

Однако, если ГПСЧ использует слабый алгоритм, и вы знаете какой, вам удастся предсказать следующее случайное число.

Вероятно, Алекс заметил пробелы в алгоритмах некоторых игровых автоматов и решил использовать это в своих интересах.

За несколько лет ему удалось заложить фундамент гораздо более сложной операции:

  • Он реконструировал несколько популярных игровых автоматов.
  • Он разработал алгоритм, который способен определить текущие параметры ГПСЧ и предсказать результаты будущих спинов на основе двух десятков спинов слота.
  • Он разработал приложение для iPhone, которое использовало предсказанные результаты, чтобы сообщить игроку, когда именно делать выигрышный спин.
  • Он нанял десятки агентов, которым было поручено обыгрывать казино по всему миру в течение следующих 6-7 лет.

По словам Алекса, за это время ему и его команде удалось заработать миллионы долларов.

Алекс из России, которому удалось найти умный способ обыграть слоты

Была ли система Алекса законной и морально приемлемой?

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

Многие эксперты по азартным играм (включая меня) считают действия Алекса абсолютно чистыми и морально приемлемыми. Я бы сравнил это с подсчетом карт в блэкджеке или бонусхантингом. Казино ставят эти игровые автоматы добровольно, и это их проблема, если кто-то с мозгами может предсказать результаты и воспользоваться этим.

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

Но казино (особенно традиционные) — это огромные компании с большим количеством денег и прочными связями с местными властями. Если казино замечают, что организованная группа использует их игровые автоматы как банкоматы, естественно они не станут сидеть сложа руки. Власти и адвокаты казино в итоге найдут статью, соответствующую преступлению этой группы. А именно, «заговор с целью совершения мошенничества». Это привело к аресту 4 агентов Алекса в Миссури в 2015 году (которые впоследствии были обвинены и приговорены к 2 годам в федеральной тюрьме) [2].

Это стало переломным моментом в этой истории, после которого некоторые агенты начали говорить более открыто о деталях их схемы. Ориентировки на эту группу были разосланы службам безопасности казино по всему миру, и вскоре последовал еще один арест в Сингапуре [3].

Попытка Алекса работать с производителями слотов

Осознавая, что работа его агентов по этой схеме стала слишком рискованной, Алекс решил в последний раз воспользоваться своим ноу-хау, чтобы заработать деньги. Он связался с Аристократом — производителем игровых автоматов — напрямую. Рассчитывая на 8-значное вознаграждение, он предложил свои услуги по совершенствованию алгоритмов ГПСЧ и устранению проблем безопасности. В то же время он пригрозил, что если Аристократ не примет его предложение, он продаст эту конфиденциальную информацию своим конкурентам. Однако Аристократ отказался играть в его игру, несмотря на то, что им были предоставлены все математические данные об их уязвимости.

Когда Аристократ отказался от предложения Алекса, он решил дать ему еще один шанс и немного толкнуть, опубликовав подробности своей истории. Тогда он связался с Бренданом Кернером — человеком, который поделился известными фактами об этой истории в своей статье.

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

В любом случае, для меня это самая интересная азартная история 21-го века. Я с нетерпением жду следующей главы этой истории и возможной экранизации. Надеюсь, Голливуд не упустит её из виду. Попкорн уже готов.

Масштабы этой истории и последствия

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

Алекс утверждает (и есть некоторые наводки, подтверждающие его утверждение [4]), что в 2009 году он начал расшифровывать ГПСЧ некоторых старых автоматов Novomatic. Однако очень вероятно, что Novomatic удалось удалить эту уязвимость с обновлением безопасности в 2011 году. Возможно, с 2013 года к этому имел какое-то отношение патент Novomatic для Системы и методов централизованной обработки генераторов случайных чисел.

Алекс также утверждает, что ему удалось проделать то же самое с некоторыми машинами, производимыми Atronic.

Безусловно, самым сильным утверждением Алекса было то, что он нашел аналогичную уязвимость в автоматах Aristocrat Helix. Helix — одна из их нынешних моделей, поэтому, если Алекс не блефует, у Аристократа может возникнуть еще большая проблема. Особенно если её невозможно исправить с помощью обновления безопасности или замены какого-то чипа. Но, с другой стороны, Aristocrat — огромная компания с годовым доходом в 2 миллиарда долларов и ежегодной прибылью 500 миллионов долларов. Именно поэтому они, скорее всего, выживут (с глобальной внутренней заменой HW и ударом по их репутации, в худшем случае).

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

Чтобы повеселиться, можете создать свой кабинет в Аристократе и разобраться с механизмом его работы. Уверен, что с одним из моих друзей, который является специалистом в области микроэлектроники, мы сможем это сделать, если захотим. ;-)

Правдивая история или городская легенда?

Существует много косвенных доказательств того, что история, описанная Алексом, действительна. Власти не арестовали бы и не приговорили к заключению его агентов в 2 странах, если бы это было неправдой. Novomatic не проводил бы исследования манипуляций с игровыми автоматами и не выпустил бы обновления безопасности, если бы это не было правдой.

Разве у изготовителей игровых автоматов нет преданных специалистов в области безопасности? Как эти огромные компании могут иметь такое уязвимое место?

Скажу вам, это довольно легко.

Я работал разработчиком программного обеспечения в течение 10 лет, и могу сказать, что угрозы безопасности могут быть легко пропущены. Это даже более вероятно для новых и неизвестных типов атак, подобных этой. Даже если в то время ответственным был менеджер по безопасности, он был обучен только смягчать угрозы, которые были ему известны в то время. Если бы у команды разработчиков не было настоящего штатного эксперта, который мог бы прогнозировать появление новых уязвимостей, тогда бы эту угрозу ГПСЧ можно было легко упустить.

Управленцам же было только нужно, чтобы ГПСЧ генерировал равномерное распределение сгенерированных чисел. Именно это и делают даже самые простые ГПСЧ . Нет необходимости тестировать непредсказуемость (криптографическую безопасность).

Концепция ГПСЧ звучит как нечто чуждое большинству «деловых людей». Ведь они только заботятся о нескольких вещах. А именно, когда игровой автомат:

  • не ломается,
  • нравится игрокам,
  • приносит деньги.

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

Мой технический анализ системы Алекса

Я знаю, что многие из вас хотят детально узнать, как работает система Алекса.

Именно поэтому я собрал все опубликованные данные и решил продемонстрировать, как можно использовать обратную инженерию для прогнозирования результатов в слоте с ГПСЧ. Ознакомьтесь с моим техническим анализом в конце статьи.

Мошенничество в игровых слотах, HW-манипуляция и специальные инструменты

Как я уже говорил, я считаю, что система Алекса морально приемлема и даже легальна в некоторых юрисдикциях. Однако, чтобы «победить» слоты используются не только такие методы. Раньше существовало множество незаконных способов обмануть слоты.

Большинство зарегистрированных мошеннических схем для игровых автоматов имеют отношение к аппаратным манипуляциям и/или специальным инструментам, используемым, чтобы «обмануть» игровой автомат и заработать деньги.

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

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

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

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

Поддельные монеты или жетоны

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

Разумеется, вам придется производить монеты меньше номинальной стоимости. В противном случае это не будет для вас прибыльно.

Приведу вам один известный пример человека, который очень успешно использовал эту технику. Louis Colavecchio — американский фальшивомонетчик, также известный как «The Coin». Со своей бандой он сумел произвести значительное количество поддельных монет и жетонов для казино и использовать их, чтобы заработать деньги в казино Атлантик-Сити и Коннектикута. Он был пойман, а затем стал довольно известным, благодаря каналу The History Channel, который снял о нём документальный фильм.

Монета на нитке (йо-йо)

Если вы играли когла-то с йо-йо, то знаете, что он крутится вверх и вниз, если им правильно управлять. Это именно то, что происходит с монетой на нитке. Сначала её вставляют в игровой автомат достаточно глубоко, чтобы машина зарегистрировала её и начала игру. Потом она вытягивается и используется снова и снова.

Этот метод очень похож на поддельные монеты, только устраняет необходимость в крупномасштабном производстве поддельных монет. С монеткой на нитке попытаться обмануть казино может каждый. Конечно, не все так делали и не у всех получалось.

Простой способ обыграть слоты в прошлом: монета с ниткой

Затёртые монеты

С каждым разом технология оценки достоверности монет становится все лучше и лучше, что делает трюки с поддельными монетами уже неактуальными. Игровые автоматы стали использовать световой датчик для регистрации платежей и отслеживания фальшивых монет.

Затёртая монета была зарегистрирована как действительная форма оплаты, но упала в физический компаратор, который использовался для замера входящих монет. Таким образом, монета была возвращена игроку для повторного использования.

Если в игровом автомате установлены требования к размеру, тогда вместе с монетой вставляется другой объект, который соответствует по размеру. В то время как затёртая монета выпадает из автомата, второй объект остаётся в машине.

Крючки для одежды

Описанные выше способы обыгрывания слотов имеют отношение к способу ввода денег в автомат. Следующая схема, как и многие другие, устроена иначе. Она влияет на то, как игровые автоматы выплачивают деньги, а точнее монеты.

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

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

Двустороннее соединение

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

Двустороннее соединение является одним из самых известных инструментов, используемых для обмана казино. Оно было очень популярно в 70-х и 80-х годах. С ним выражение «опустошение игрового автомата» поднялось на совершенно новый уровень.

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

Обезьянья лапа

Обезьянья лапа была создана легендой в искусстве обмана казино — Томми Гленн Кармайклом. Но чтобы добраться до лапы обезьяны, сначала нам нужно будет вернуться к двустороннему соединению. Кармайкл владел не очень прибыльной мастерской по ремонту телевизоров. Поэтому, когда его друг Рэй Минг рассказал ему про двустороннее соединение, он сразу решил попробовать.

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

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

Оптическая волшебная палочка

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

Он сконструировал небольшое устройство, которое могло бы «ослепить» оптический датчик, не позволяя определить, сколько денег было вставлено в машину и сколько было выплачено. Поскольку по подсчётам машины правильная сумма не была выплачена, она продолжала выплачивать все больше и больше денег, делая читеров богаче и богаче.

Струна от рояля

Метод обмана слотов с помощью струны от рояля не имеет ничего общего с вносом или выплатой денег. Струна от рояля использовалась для изменения результата игры, что делает её уникальным способом обмана.

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

Группа людей, которые прокрутили эту операцию, сумела выиграть 50 000 долларов. Однако, в течение всего процесса они были засняты на камеру и арестованы после. Их успех был недолгим, но им действительно удалось изменить исход игры, используя только струну от рояля.

Замена чипа

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

И он не стал утаивать эту информацию. Он заказал груз таких чипов, перепрограммировал и заменил на них чипы в слотах. Так ему удалось запустить успешную операцию, которая сделала его богатым. Естественно, позже его арестовали (в 2004 году), а в 2010 году он умер.

Слоты и программные сбои

Хотя этот способ технически не является обманом или мошенничеством, я решил сделать его частью этой статьи. Слоты программируются людьми. А люди ошибаются. Ошибка программирования может привести к сбою программного обеспечения, которое позднее (сознательно или бессознательно) может быть использовано игроками.

Программные сбои в слот-машинах

Существует много задокументированных случаев сбоев программного обеспечения, которые привели к огромным выигрышам:

  • В 2015 году 90-летняя женщина из Иллинойса выиграла 41 миллион долларов, играя в игровой автомат Miss Kitty. Казино отказалось выплатить выигрыш.
  • Мужчина в Австрии выиграли джекпот в размере 43 млн евро. Однако, казино настаивало на том, что у игрока выпало только 4 из 5 символов, необходимых для запуска джекпота. Поэтому его победа не была выплачена, и вместо этого ему предложили 100 баксов и бесплатную еду.
  • Женщине в Нью-Йорке удалось сорвать поразительный джекпот в размере 42,9 миллиона долларов. В автомате был установлен лимит в размере 6500 долларов, и огромная победа была ни чем иным, как сбоем. Казино настояло на том, что гостье полагается только 2,25 доллара от её спина.

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

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

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

Но помните, что случай помогает только подготовленному уму. :)

Приложение: Как может работать алгоритм Алекса

Давайте начнем с обобщения всего, что мы знаем о его стратегии:

  • Алексу потребовалось около 24 спинов для прогнозирования будущих результатов.
  • Агенты ждали подходящего времени, чтобы нажать кнопку спина.
  • Брендану Кернеру удалось отследить происхождение алгоритма ГПСЧ (из математических доказательств, предоставленных Алексом) в книге «Искусство компьютерного программирования».
Отказ от ответственности: следующий технический анализ — это только мои предположения о том, что инженеры Аристократа могли сделать не так, и как Алекс это мог использовал в свою пользу. Несмотря на то, что я принял во внимание всю имеющуюся информацию, реальный эксплойт мог отличаться в деталях.
Казино Гуру тщательно изучает дело Алекса

ГПСЧ, который мог использоваться в автоматах Аристократа

Простейший алгоритм ГПСЧ, описанный в «Искусстве компьютерного программирования», который дает удовлетворительные результаты, на самом деле довольно прост:

RNG = (a * Предыдущий RNG + c) mod m

Этот алгоритм, известный как линейный конгруэнтный генератор (LCG), по-прежнему используется в качестве алгоритма PRNG (ГПСЧ) по умолчанию во многих языках программирования (например, Java).

Могли ли разработчики игровых автоматов Aristocrat просто использовать алгоритм PRNG по умолчанию, предоставляемый языком программирования, которым они пользовались? Или могли ли они использовать простейший PRNG, который отвечает требованиям однородности?

Я думаю, возможно. Этот алгоритм по умолчанию работает и соответствует критериям однородности генерируемых случайных чисел. И он соответствует всем критериям, над которыми работали программисты в технических требованиях.

Как взломать простой ГПСЧ (далее — PRNG)

Теперь давайте предположим, как Алекс мог воспользоваться этим алгоритмом.

1. Декомпиляция

Первый шаг — узнать точные параметры алгоритма (параметры a, c и m). Это часть простая, так как эти параметры написаны на каждом игровом автомате. Алекс просто должен был прочитать двоичный код из памяти автомата и декомпилировать его. Это задача, которую может сделать любой специалист в области микроэлектроники, если он оснащен надлежащими инструментами.

Но знать только параметры a, c и m, недостаточно. При декомпиляции вы можете прочитать параметры всех алгоритмов PRNG — даже криптографически засекреченных. Чтобы иметь возможность спрогнозировать и использовать последовательность RNG на реальном игровом автомате, размещенном в казино, вам также нужно знать кое-что еще — а именно, текущее значение RNG.

2. Поиск текущего значения RNG

Алгоритм LCG PRNG обычно легко предсказуем. Это означает, что, зная 3 случайных числа, вы можете вычислить параметры a, c, m и легко предсказать следующие числа в последовательности.

Однако это не та задача, с которой столкнулся Алекс. Алекс уже знал параметры a, c и m из декомпиляции, но он не знал текущее значение состояния RNG. Он смог отследить полученные случайные числа косвенно, наблюдая за положениями остановки барабанов в записанных спинах.

Ключевым моментом является то, что логика игрового автомата детерминирована и программируется внутри. Поэтому она может быть декомпилирована, реконструирована и смоделирована в другом месте. Логика игры обычно предполагает случайное число и использует некоторые математические операции, чтобы определить, где каждый барабан должен остановиться.

Барабаны игрового автомата обычно имеют от 50 до 100 символов, три из которых отображаются на экране. Комбинации могут иногда повторяться, а барабаны иметь разную длину. Но, допустим, что на каждом барабане имеется по 50 уникальных комбинаций. Случайное число выбирает одну из этих 50 комбинаций, поэтому просто взглянув на первый барабан при первом спине, вы можете исключить 49/50 (98%) потенциальных случайных чисел.

ПРИМЕР

Если в игре 5 барабанов, то в среднем только один из 312 миллионов случайных чисел дает точно такой же результат, как и тот, который наблюдается у игрока.

Если вы знаете результат большинства последовательных случайных (*) чисел, то вы очень скоро получите всего лишь 1 начальное случайное число, которое даст желаемый результат для всех спинов. Фактически, количество спинов, которое вам нужно, пропорционально длине начального случайного числа.

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

Если в игровом автомате используются случайные числа, длина которых равна 64 битам, то имитация их всех потребует слишком большой вычислительной мощности (544 года на моем ноутбуке). Алексу всё равно нужна была непреднамеренная помощь от разработчиков Аристократа. Я нашел 2 вещи, которые могли помочь Алексу:

  • Использование слишком короткого (32-разрядного) состояния RNG.
  • Использование случайного числа таким образом, чтобы его можно было использовать для поиска текущего состояния RNG.

1. Слишком короткое (32-разрядное) состояние RNG

Автоматы Aristocrat MK IV были разработаны на 32-битном процессоре ARM 250. Если разработчики слотов решили также использовать 32-битное значение случайных чисел, тогда может быть только 4 294 967 296 возможных состояний RNG. Может показаться, что это много, но сегодняшние компьютеры очень быстрые, и это количество параметров можно легко проверить грубой силой (занимает 4 секунды на моем ноутбуке).

Однако, я считаю этот вариант менее вероятным. Более того, 32-разрядное случайное число слишком короткое, чтобы охватить все возможные результаты в некоторых играх (5 барабанов * 90 символов).

2. Использование случайного числа в «удобным для использования» способом

Давайте теперь предположим, что существует 64-разрядное состояние RNG. Как вы используете 64-битное число, чтобы детерминистически останавливать 5 барабанов по 50 символов каждый? Самый простой подход, который сохраняет единообразие, будет следующим:

Pos1 = RND modulo 50
Pos2 = (RND / 50) modulo 50
Pos3 = (RND / (50*50)) modulo 50
Pos4 = (RND / (50*50*50)) modulo 50
Pos5 = (RND / (50*50*50*50)) modulo 50

Каждый барабан теперь использует свою часть случайного числа, и нет никаких корреляций между отдельными барабанами. При условии, что случайные числа являются однородными, тогда существует единая вероятность любого возможного результата игры (**). Регулятор подтверждает.

Теперь эксплойт:

Если вы знаете позиции барабанов, вы можете легко вычислить конец случайного числа (RND mod 50 ^ 5):

RndEnd = pos1 + pos2*50 + pos3*50*50 + pos4*50*50*50 + pos5*50*50*50*50

Поможет ли это вам угадать текущее состояние RNG? На самом деле, да. Это вам очень поможет.

Теперь вам не нужно моделировать все возможные случайные числа, а только те, которые заканчиваются на RndEnd. Или, если более конкретно, все случайные числа, которые соответствуют шаблону RndEnd + X * 50^5:

  • 1 * 312500000 + RndEnd
  • 2 * 312500000 + RndEnd
  • 3 * 312500000 + RndEnd
  • …

Теперь из 2^64 возможных значений (18466744073709551616) вам нужно будет всего лишь 59029581035. Оба они представляют собой огромное количество возможных значений, но, хотя на моем ноутбуке симуляция первого займет 544 года, симуляция второго займёт всего 60 секунд. Это огромная разница.

Вот и всё. Теперь вы знаете случайное число, и можете предсказать будущие спины.

Настоящий эксплойт RNG, который использовал Алекс, может быть другим, но я уверен, что он имеет много общего с процессом, который я описал здесь.

(*) На самом деле Алекс не знал результатов последовательных случайных чисел, но знал результаты случайных чисел, которые были довольно близки в последовательности.

Агентам Алекса приходилось ждать определенного момента, чтобы нажать кнопку спина. Это указывает на то, что автомат Aristocrat MK IV постоянно генерирует случайные числа с некоторой частотой (в некоторых юрисдикциях это является законодательным требованием). Когда игрок нажимает кнопку спина, текущее случайное число используется для определения результата вращения.

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

Предположим, что случайные числа в игровом автомате генерируются с частотой 100/сек. Игра в 24 раунда может занять около 60 секунд, поэтому есть около 6000 случайных чисел, из которых 24 были использованы для расчета результата спина. Затем задача состоит в том, чтобы вычислить первое случайное число, которое дает результат первого спина, а также результаты остальных 23 спинов, когда они циклически продолжаются в течение следующих 6000 циклов. Эту симуляцию также легко смоделировать; для этого только потребуется в несколько раз больше времени (при правильной оптимизации).

(**) Чтобы получить идеальную однородность, вам придется выбросить числа, которые больше 2^64 - 2^64 mod (50^5).

Интересные ссылки для более подробного обсуждения:

Поделиться статьей
flash-message-news
Новости Casino Guru — Следите ежедневно за новостями из мира азартных игр
Подпишитесь на нас в соцсетях — Ежедневные публикации, бездепозитные бонусы, слоты и многое другое
Подпишитесь на рассылку и узнавайте о бездепозитных бонусах, новых слотах и других новостях