Специалисты обнаружили новый метод перепрограммирования NES Tetris, который может помочь любителям набирать очки избежать сбоев в игре.
Ранее в этом году стало известно, что один из игроков классического «Тетриса» впервые нажал на «kill screen» игры, активировав «аварийный режим» после невероятного 40-минутного прохождения 1 511 строк.
«Экран убийства» — это уровень в компьютерной игре, который удерживает игрока от продолжения игры из-за ошибки в реализации. Вместо того, чтобы завершаться нормально, игра заикается, сбрасывается или вызывает другие ошибки, препятствующие ей.
Некоторые игроки используют этот «экран убийства» и ряд сложных манипуляций с памятью, чтобы закодировать новое поведение в версиях NES Tetris, работающих на немодифицированном оборудовании и картриджах.
Ещё с 2021 года было известно о базовом методе внедрения внешнего кода в NES Tetris, когда игроки исследовали декомпилированный код игры.
Совсем недавно Displaced Gamers выложили видео, где подробно рассказывается, как перепрограммировать «Тетрис», играя в него, с помощью кодирования в таблице высоких результатов.
Сбой в NES Tetris происходит, когда обработчик очков в игре слишком долго подсчитывает баллы между кадрами, что может произойти после 155-го уровня. При данной задержке часть управляющего кода прерывается процедурой записи нового кадра, что заставляет его переходить в непредусмотренную часть оперативной памяти игры в поисках следующей инструкции.
Зачастую именно это неожиданное прерывание является причиной перескакивания кода в самую глубь оперативной памяти, где «мусорные» данные считываются как код, что приводит к ошибке в игре.
Именно этим «прыжком» игроки научились управлять с помощью того, как Tetris обрабатывает потенциальные вводы при запуске на японской версии консоли Famicom.
Японская Famicom оснащается двумя контроллерами, подключаемыми к устройству, в отличие от американской Nintendo Entertainment System (NES). Через порт расширения на передней панели системы игроки могут подключить контроллеры сторонних производителей.
Код игры Tetris считывает входные данные с этого «дополнительного» порта контроллера, к которому можно подключить два дополнительных стандартных контроллера NES с помощью адаптера.
Оказывается, что область оперативной памяти, которую Tetris использует для обработки дополнительного входа контроллера, также применяется для расположения в памяти той процедуры перехода кода, описанной ранее.
Таким образом, когда эта процедура перехода будет прервана в результате сбоя, в этой оперативной памяти будут храниться данные, представляющие кнопки, нажимаемые на контроллерах. Это дает игрокам потенциальный способ контролировать, куда именно отправится игровой код после сбоя.
Интересно, что код перехода отправляется в область оперативной памяти, в которой хранятся имена и оценки для списка высоких результатов игры, что предоставляет еще большую поверхность оперативной памяти, которой может манипулировать непосредственно игрок.
Если поставить «(G» в целевую часть таблицы высоких результатов B-Type, то можно заставить игру перейти в другую область таблицы высоких результатов, где она начнет последовательно считывать имена «голым металлическим» кодом, где буквы и цифры представляют собой операционные коды для процессора NES.
В области ввода имени могут быть использованы лишь 43 возможных символа и 10 различных цифр, которые могут быть частью высокого балла. Это означает, что только небольшая часть доступных инструкций опкода NES может быть «закодирована» в таблицу высоких результатов, используя доступную поверхность атаки.
Displaced Gamers удалось написать короткий фрагмент кода, который можно перевести в данные таблицы высоких результатов. Эта простая процедура ставит два нуля в верхних цифрах счета игры, уменьшая время обработки счета, которое в противном случае привело бы к сбою.
Из-за отсутствия системы сохранения, работающей от аккумулятора, все эти высокие баллы придется набирать хакерам каждый раз, когда они будут включать Tetris на стартовой NES.
Ограниченное пространство в таблице высоких результатов также не оставляет места для прямого кодирования сложных программ поверх реального кода Tetris.
В России расширили так называемый «белый список» сайтов и сервисов, которые продолжают работать даже в периоды ограничений мобильного интернета, вводимых по соображениям безопасности. В перечень добавили сразу несколько десятков новых ресурсов — от госорганов и СМИ до магазинов, авиакомпаний и сервисов повседневных услуг.
На новом этапе в список вошли, в частности, информационный ресурс «Итоги года с Владимиром Путиным», сайты Совета Федерации, МВД и МЧС, движение «Движение первых», а также авиакомпании «Аэрофлот» и «Победа».
Среди инфраструктурных и деловых ресурсов — «Россети», «Росатом Сеть зарядных станций», Московская биржа, оператор связи «Мотив» и портал по поиску работы HeadHunter.
Перечень пополнился и сервисами для повседневных задач: каршерингом «Ситидрайв», логистической компанией «Деловые линии», сетью ресторанов «Вкусно — и точка», онлайн-кинотеатром «Иви», а также крупными торговыми сетями — «ВкусВилл», «Ашан», «Спар», Metro и «Петрович».
Отдельный блок — средства массовой информации. В «белый список» включены как сайты и приложения федеральных телеканалов (Первый канал, НТВ, RT, ОТР, ТВЦ, ТНТ, СТС, «Пятый канал», «РЕН ТВ», «Пятница», «Домашний», «Муз-ТВ», «Мир», «Спас»), так и печатные издания и цифровые СМИ: «Аргументы и факты», «Российская газета», «Ведомости», «Московский комсомолец», а также приложение «Радиоплеер».
Кроме того, список продолжает расширяться за счёт региональных ресурсов. Ранее туда уже входили социально значимые сервисы в сферах здравоохранения, образования, транспорта и региональных госуслуг. Теперь к ним добавились сайты администраций субъектов РФ и дополнительные региональные платформы.
Напомним, что в «белый список» также входят сайты Президента и Правительства России, крупные маркетплейсы (Ozon, Wildberries), сервисы заказа такси («Яндекс», «Максим») и онлайн-кинотеатры («Кинопоиск», «Винк», Kion, Okko). Перечень формируется на основе предложений федеральных и региональных властей и согласовывается с органами, отвечающими за вопросы безопасности. Работа над его расширением продолжается.
Свидетельство о регистрации СМИ ЭЛ № ФС 77 - 68398, выдано федеральной службой по надзору в сфере связи, информационных технологий и массовых коммуникаций (Роскомнадзор) 27.01.2017 Разрешается частичное использование материалов на других сайтах при наличии ссылки на источник. Использование материалов сайта с полной копией оригинала допускается только с письменного разрешения администрации.