Оглавление

WMB и WiFiMe

Основная проблема PassMe заключалась в том, что это была крайне неудобная конструкция, которая еще и сильно торчала из слота для Nintendo DS картриджей. Конечно, PassMe можно было убрать из этого уравнения, если установить прошивку FlashMe на Nintendo DS. Но получилась немного странная история. Чтобы использовать FlashMe вам нужно было купить PassMe, надобность в котором отпадала сразу после установки FlashMe.

Со временем появился и второй способ перепрошивки, через уязвимость находящуюся в DS Download Play.

Как известно, Nintendo вложили очень много сил в разработку беспроводных возможностей Nintendo DS. Имея две консоли NDS, можно напрямую играть без всяких роутеров. Это, кстати, отличительная черта Nintendo до сих пор. Они добавляют Wi-Fi возможности в свои консоли, но не делают это бездумно – мол подключись к Wi-Fi роутеру с интернетом и тогда тебе будет счастье. Нет, многие консоли Nintendo умеют не только подключаться к роутеру и получать данные от него, а еще и отправлять свой сигнал, который может быть принят на другой консоли.

13 апреля 2005 года Tim Schuerewegen выпускает драйвер и программу, которые копируют возможности PassMe, но используют при этом беспроводные возможности консоли.

Wireless MultiBoot Hack

Эта технология называлась WMB (Wireless MultiBoot Hack).

История

История этого способа взлома начинается с поста на форуме Warp Pipe.

MetalSonic53 написал, что включил программу PictoChat и начинал набирать сообщения, посылая их в комнату чата, а Nintendo DS стала работать как точка доступа и транслировать сигнал вовне. Он зафиксировал это, когда использовал программу Network Stumbler.

История Wireless MultiBoot Hack

Оказалось, что Mac адрес, указанный сверху (00-09-BF) принадлежит компании Nintendo. А скорость 2 Мбит/с указывала на стандарт IEEE 802.11b.

История Wireless MultiBoot Hack

Это сообщение репостнули на форуме gbadev.org. И после этого участники сообщества начали изучать как функционирует Wi-Fi на Nintendo DS. Общение растянулось на целых 34 страницы.

По итогу оказалось, что существует три проблемы:

1. Нужно было иметь 2 Nintendo DS и 2 игры, которые имели сетевой режим, потому что нормально контактировать с роутером консоль не могла. Точнее дело даже было не в консоли, а в том, что она отправляла сигналы, а роутер их просто не понимал.

DrEggman поставил на своем роутере LinkSys MAC-адрес от Nintendo DS и роутер чуть не сошел с ума. После этого пользователь Darkain купил две консоли с двумя играми и выложил запись перехвата пакетов между консолями.

2. Нужно было расшифровать пакеты, которыми обменивались между собой консоли. Пользователи форума долго грешили на то, что Darkain не смог правильно перехватить пакеты и часть из них была потеряна. Но в итоге оказалось, что Nintendo DS просто сжимала пакеты, а на другой консоли они разархивировались. После того как участники комьюнити это поняли, они смогли правильно открыть пакеты данных и работать с ними.

3. В итоге оказалось, что и не каждый роутер подходит. Большинство чипсетов, работающие со стандартом Wi-Fi 802.11, были спроектированы таким образом, что не могли отправлять несовместимые пакеты данных, а порою еще и пытались исправить их. По своей сути в Nintendo DS стояли чипы, которые работали по технологии "Ni-Fi" (реализация Wi-Fi от Nintendo), а не использовали стандарт Wi-Fi 802.11.

Когда во всем этом разобрались, а участие в этом принимало очень много людей (Darkain, Tim Schuerewegen, DarkFader и другие), Tim Schuerewegen разработал свой драйвер для Wi-Fi плат на чипсете RT2500 и RT2560. И только после этого всё заработало как надо.

Wireless MultiBoot Hack

Суть этой технологии заключалась в том, что вы могли запустить на Nintendo DS демо версию игры или homebrew программы без использования устройства PassMe.

Признаться честно, у меня были некоторые сомнения на тему того, что проще? Купить PassMe или попробовать прошить консоль через WMB. Но в 2023 году первый PassMe с нужной игрой (от Natrium42 или Lynx) уже не найти в продаже, а вот WMB запустить все еще можно. Проблема только в том, что там отнюдь не всё так просто.

Вам понадобится специальная PCI или PCMCIA Wi-Fi плата на чипсете RT2500 или RT2560.

Когда у вас появится такая плата, то вам нужно было установить для нее специальные драйвера. По сути получается, что вы не сможете использовать эту плату для обычного Wi-Fi, она подходит только для работы с Nintendo DS Download Station.

Для того, чтобы понять какая плата вам нужна посмотрите список: Беспроводные устройства 802.11g на базе чипсета Ralink RT2500.

Лично я купил карту PCMCIA Asus WL-107G. Обратите внимание, если вы решите повторить мой путь, то вам понадобится еще и старый ноутбук на Windows XP. Я еще пару лет назад купил себе Dell Inspiron 510m, и он меня постоянно спасает.

Asus WL-107G

Еще нужно, чтобы прошивка вашей DS была не выше третей версии. Прочитать подробнее о версиях прошивки Nintendo DS можно в статье: «Прошивка Nintendo DS».

Если у вас уже есть компьютер на Windows XP, совместимая Wi-Fi плата на чипсете RT2500 и Nintendo DS с прошивкой не выше третьей версии, то можно приступать.

Подготовка

Скачайте два архива.

rt2560_app_wmb_1_5_2.zip – программа для работы с WMB;

rt2560_driver_1_0_0_8.zip – драйвера для Wi-Fi платы.

Установите вашу Wi-Fi плату в компьютер и включите его. Когда компьютер загрузиться и распознает новое устройство, то предложит установить драйвера. На этом этапе вам и нужно подсунуть те драйвера, которые находятся в архиве rt2560_driver_1_0_0_8.zip.

После установки драйверов. Ваша Wi-Fi плата отобразиться в диспетчере устройств таким образом:

Wireless MultiBoot Hack

Это значит, что плата распозналась и драйвера к ней подошли. В ином случае у вас не та плата.

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

Дальше нужно разархивировать rt2560_app_wmb_1_5_2.zip в корень диска C:\. После этого переименуйте эту папку во что-нибудь попроще, например, назовите папку nds.

У вас должно получится так (на диске C:\ находится папка nds, а в ней уже файлы wmb.exe, wmb-xp64.exe, папка data и другие):

Wireless MultiBoot Hack

Положите в папку data (C:\nds\data) демоверсию игры или программу, которую вы хотите передать на Nintendo DS. В моем случае это демоверсия игры Brain Age, файл называется brain_age_demo.nds.

Wireless MultiBoot Hack

Теперь мы полностью готовы.

Запускаем Wireless MultiBoot Hack

Если нажать два раза на файл wmb.exe, то откроется черное окошко и сразу погаснет. Эта программа предназначена для запуска из командной строки. Поэтому нажимаем "Пуск" – "Выполнить" в окошке "Запуск программы" вводим cmd и нажимаем OK. Открывается окошко командной строки:

Wireless MultiBoot Hack

Если у вас открылся не диск C:\ (как у меня), то наберите C: и нажмите Enter.

Теперь вам нужно войти в папку nds, для этого наберите cd nds и нажмите Enter.

И вот на этом этапе нужно ввести название файла, который мы хотим запустить – wmb.exe. Но если просто запустить программу, то появится ошибка: error: parameter -data is required.

Wireless MultiBoot Hack

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

Вводим wmb.exe -data brain_age_demo.nds и нажимаем Enter.

Программа пытается загрузить файл brain_age_demo.nds и говорит, что все ок. После этого появляется надпись: Sending multiboot beacons & waiting for authentication.

Wireless MultiBoot Hack

Теперь нужно включить свою Nintendo DS и зайти в меню DS Download Play и там вы увидите, что ваша демоверсия игры (или homebrew приложение) передается через Wi-Fi.

Wireless MultiBoot Hack

Дальше нужно нажать A и еще раз подтвердить, что вы хотите загрузить этот файл.

Wireless MultiBoot Hack

После этого пойдет загрузка файла на консоль.

Wireless MultiBoot Hack

На самом же компьютере пойдет процесс загрузки.

Wireless MultiBoot Hack

А на консоли запустится демка.

Поговорим об одной ошибке. Если после надписи Sending multiboot beacons & waiting for authentication начинает постоянно появляться фраза DeviceWritePacket() failed:

Wireless MultiBoot Hack

То для решения этой проблемы вам нужно перезагрузить Wi-Fi плату. Нажмите правой кнопкой мышки на иконку "Мой компьютер" и выберите "Свойства". Дальше откройте вкладку "оборудование" и нажмите на кнопку "Диспетчер устройств". Нужно открыть вкладку "Nintendo DS – 802.11" (нажав на плюсик около этой надписи) и нажать правой кнопкой на "Ralink RT2560 Device" после чего нажать на кнопку "Свойства". В открывшемся меню перейти на вкладку "Advanced" и просто нажать OK.

Wireless MultiBoot Hack

Плата перезагрузиться и начнет работать. Можно вернуться обратно в командную строку и повторить команду. В этот раз все будет нормально.

Wireless MultiBoot Hack

Я советую делать это в случае наличия любых ошибок.

WiFiMe

Запуск демоверсий игры – это конечно прикольно. Но самая интересная фишка WMB именно в том, что с ее помощью можно запускать .nds файлы с Game Boy Advance флеш-картриджа. Эта возможность называется WiFiMe.

Что вам понадобится?

1. Game Boy Advance флеш-картридж, умеющий запускаться в режиме NDS, например, так умеет самый дешевый Supercard (плюс нужна карта памяти для него).

2. Нужно скачать архив wifime.zip

Обратите внимание. WiFiMe использует возможности и функционал WMB, а значит все те шаги, которые я выполнил выше, должны быть пройдены вами!

Если у вас все готово, то можно приступать.

Разархивируйте архив wifime.zip. Скопируйте получившуюся папку wifime и вставьте ее в папку data. У вас должен получится путь C:\nds\data\wifime\ и там должно находится 5 файлов: arm7, arm9, beacons, header, rsa.

Wireless MultiBoot Hack

После этого запускаем программу wmb, но уже с командой wmb.exe -data wifime

Появятся надписи wifime ok и Sending multiboot beacons & waiting for authentication.

Wireless MultiBoot Hack

Теперь вставляем в Nintendo DS ваш флеш-картридж и включаем консоль. Заходим в DS Download Station и выбираем наш Wireless Multiboot “WiFiMe”. Два раза нажимаем А и процесс загрузки начинается.

Wireless MultiBoot Hack

На данном этапе наш флеш-картридж запустится в режиме Nintendo DS и можно будет запустить ту же самую демоверсию игры или, например, начать перепрошивку консоли с помощью FlashMe.

Wireless MultiBoot Hack