Сразу отмечу, что автор статьи не несет ответственности за работоспособность Ваших девайсов! Помните: все, что Вы делаете - Вы делаете на свой страх и риск!
Мне удалось заполучить 3DS в 2022 году, ко мне в руки она попала уже взломанная, но мне было интересно как же можно обновить прошивку и как это работает. В этот момент я начал смотреть видео гайды на ютубе и везде была одна и та же проблема, за основу брался некий архив, в котором уже было что-то установлено. Автор предлагает скачать архив, закинуть все содержимое в корень флеш карты и забыть об этом. Меня этот подход не очень устроил, поэтому я решил попытался разобраться что же находится в этом загадочном архиве, а за одно расписать по пунктам как же делается прошивка.
Весь процесс делится на два простых шага: подмена bootloader'а, чтобы он позволял запускать нам свои прошивки и установка прошивки на флешку с окружением для дальнейшей работы.
Замена bootloader'a
1) Обновляем прошивку консоли до последней версии (на данный момент это 11.15.0)
2) Подготавливаем флеш карту
Нам нужно отформатировать флеш карту в формат fat32.
Инструкция для Linux
Открываем устройство через fdisk
1) "o" - выбираем DOS partition table
2) "n" - создаем партицию на весь размер флеш карты
3) "t" - запускаем смену типа партиции и выбираем 'c' - W95 FAT32 (LBA)
Инструкция для Windows
Скачиваем rufus https://rufus.ie
Выбираем флеш карту в выпадающем списке
Выставляем следующие настройки:
1) Метод загрузки - Незагрузочный образ
2) Метка - оставляем пустым
3) Файловая система - FAT32
4) Убираем галочку - Создать расширенную метку и значок устройства
3) Как только у нас есть готовая флешка, устанавливаем ее в консоль и запускаем ее. Приставка создаст на флеш карте папки, которые нам потребуются в дальнейшем. После этого консоль можно выключать и подключать флеш карту обратно к ПК.
4) На флешке в корне должна появиться папка Nintendo 3DS, а внутри нее будет папка содержащая в названии 32 шестнадцатеричных цифры - это идентификатор консоли, нужно его сохранить. Для удобства назовем его ID0.
5) Так же нам нужно получить свой friend code. Для этого нужно будет создать аккаунт в консоли, если он у вас отсутствовал, либо же просто скопировать его, если аккаунт уже есть.
6) Заходим на сайт https://seedminer.hacks.guide/, там нужно будет указать свой friend code и ID0. После этого на консоли к нам в друзья добавится бот, нужно принять заявку. После добавления бота в друзья, смотрим за прогрессом на сайте и ожидаем завершения процесса. Как только все завершится, появится возможность скачать файл movable.sed, скачиваем его.
7) После получения файла заходим на другой сайт https://3ds.nhnarwhal.com/3dstools/unsafemode.php и указываем ранее полученный movable.sed файл. Нажимаем кнопку Build and Download, скачиваем полученный архив unSAFE_MODE.zip. Архив содержит в себе два файла: F00D43D5.bin и usm.bin
8) Файл usm.bin помещаем в корень флеш карты.
9) В корне флешки, внутри папки Nintendo 3DS находится папка с именем ID0, который мы до этого скопировали. А внутри папки ID0, находится еще одна папка содержащая в названии 32 шестнадцатеричных цифры (пусть будет ID1), вот внутри нее нам нужно создать еще одну директорию Nintendo DSiWare и поместить туда F00D435.bin
Т.е. итоговый путь должен выглядеть как-то так:
Nintendo 3DS/ID0/ID1/Nintendo DSiWare/F00D435.bin
10) Скачиваем zip архив прошивки luma https://github.com/LumaTeam/Luma3DS/releases из последнего релиза. Внутри архива находится два файла boot.firm и boot.3dsx, оба файла помещаем в корень флешки - это и есть новая прошивка, которая будет запускаться вместо стандартной нинтендовской.
11) Скачиваем boot9strap https://github.com/SciresM/boot9strap/releases/ релизную версию. В корне флеш карты создаем папку boot9strap и копируем в нее из архива файлы boot9strap.firm и boot9strap.firm.sha
12) Скачиваем SafeB9SInstaller https://github.com/d0k3/SafeB9SInstaller/releases/ последнюю версию. Из архива копируем файл SafeB9SInstaller.bin в корень флеш карты.
13) Подготовка завершена, вставляем флеш карту назад в консоль и запускаем ее.
В следующих шагах произойдет подмена bootloader'а консоли на новый.
14) Заходим в “Системные настройки” (System Settings) -> “Управление данными” (Data Management) -> “DSiWare”
Выбираем на нижнем экране вкладку сверху "SD Card"
Выбираем "Inject Haxx" и приставка должна перезагрузиться.
15) Теперь зажимаем одновременно 4 клавиши: L + R + крестовину вверх + A, а затем, не отпуская указанные кнопки, включите приставку. Когда подсветка экранов засветится, отпустите кнопки. Приставка загрузиться в режим восстановления.
16) В меню восстановления:
Нажмите “OK”, чтобы начать поиск точки доступа
Согласитесь с условиями пользования и нажмите ОК
Поиск завершится с ошибкой 003-109. Так и задумано, нажмите ОК
На запрос “Выполнить Интернет-настройки” (Would you like to configure Internet settings?), нажмите “Выполнить”
В появившемся меню нажмите несколько раз “Далее”, затем выберите Связь 1 (Connection 1) -> Изменить настройки (Change Settings) -> перейдите на следующую страницу (стрелка в правой части экрана) -> Настройки прокси (Proxy Settings) -> Подробнее (Detailed Setup)
Когда верхний экран окрасится в серый и на нём появится сообщение B9S install SUCCESS, нажмите любую кнопку
17) После рестарта консоли вы должны попасть в меню настройки Luma3DS. Можно просто нажать Start и ничего не изменять. Вы в любой момент можете зайти в него, при выключенной консоли зажать и держать клавишу Select и после этого клавишу Power, дождаться включения консоли и вы должны увидеть это же меню.
Если все прошло успешно, то поздравляю, вы обладатель взломанной консоли!
Так же хочу отметить, если вы сторонник чистой флеш карты как и я, из-за чего я, собственно, и сел разбираться как работает установка прошивки, то на этом этапе вы спокойно можете удалять с флеш карты все, кроме загрузчика Luma, который мы установили на шаге 10.
Настройка окружения
В данном блоке мы выполним установку приложений, которые помогут нам пользоваться нашей консолью на полную. Краткое описание каждого приложения:
FBI - установщик пакетов *.cis, с помощью которого и будут производиться все установки
Homebrew Launcher Loader - приложение, которое позволяет запускать *.3dsx файлы без установки в систему
Checkpoint - приложение, позволяющее делать бэкапы своих сохранений
GodMode9 - утилита, которую можно запустить при старте консоли. Вообще обладает мощным функционалом, но для нас самое главное, что она позволяет конвертировать *.3dsx в *.cis файлы, чтобы их можно было устанавливать полноценно в систему
ndsForwarder - позволяет создавать иконки для DS приложений и запускать их
Anemone3DS - менеджер тем
FBI
По сути - это главное приложение, которое будет позволять нам, устанавливать другие приложения. Поэтому его мы и устанавливаем первым делом.
Для начала скачиваем архив из последнего релиза https://github.com/TheRealZora/FBI-Reloaded/releases нам понадобятся оба файла FBI-Reloaded.3dsx и FBI-Reloaded.cia, светлую или же темную тему - это уже на ваш выбор.
Дело в том, что FBI мы установим при помощи FBI. В новой прошивке можно хитрым образом запустить Homebrew Launcher, который позволит нам, запустить FBI-Reloaded.3dsx приложение, при помощи которого мы уже и установим FBI-Reloaded.cia.
В корне флеш карты создаем две папки 3ds и cias. FBI-Reloaded.3dsx помещаем в 3ds, а FBI-Reloaded.cia в cias.
Теперь нам нужно запустить Homebrew Launcher, делается это следующим способом. Запускаем в консоли приложение Download Play, после этого зажимаем комбинацию клавиш L + вниз на крестовине + Select.
На нижнем экране вы должны увидеть черный экран с меню.
Выбираем пункт Miscellaneous options -> Switch the hb. title to the current app.
После этого выходим из меню несколько раз нажав B, а затем закрываем приложение.
То что мы выполнили временно заменяет приложение Download Play на Homebrew Launcher. После закрытия приложения повторно запускам его и должны увидеть заветный Homebrew Launcher.
На нижнем экране в списке приложений мы должны увидеть FBI, запускаем его.
После запуска FBI на нижнем экране заходим в верхний пункт SD, далее выбираем папку cias, внутри нее выбираем FBI-Reloaded.csi, в контекстном меню выбираем либо Install CIA, либо же Install and delete CIA если не планируете сохранять эти файлы после установки.
Если все прошло успешно, то на главном экране мы должны увидеть новое приложение.
Так же нам больше не требуются файлы, которые мы изначально копировали в 3ds и cias, их можно удалять.
Так же можно не переживать по поводу приложения Download Play, после перезагрузки консоли Homebrew Launcher больше не будет запускаться вместо него.
Homebrew Launcher
В этот раз все гораздо проще. Скачиваем Homebrew_Launcher.cia https://github.com/PabloMK7/homebrew_launcher_dummy/releases, помещаем в /cias, запускаем FBI и устанавливаем с удалением или же оставляем cia файл.
Checkpoint
Скачиваем Checkpoint.cia https://github.com/FlagBrew/Checkpoint/releases, помещаем в /cias, устанавливаем через интерфейс FBI.
В интерфейсе приложения вы можете создавать точки возврата сохранений для каждой игры по отдельности.
GodMode9
Как и было указано выше - это утилита с мощным функционалом, но мы не будем рассматривать его весь. Дело в том, что в интернете очень часто встречаются приложения в формате *.3dsx, которые мы не можем установить к себе в систему. Через GodMode9 мы будем конвертировать их в *.cia, а потом обычным способом будем устанавливать их через интерфейс приложения FBI.
Скачиваем zip архив https://github.com/d0k3/GodMode9/releases из последнего релиза. В этом архиве нам интересен файл GodMode9.firm и папка gm9. Сам файл GodMode9.firm - это приложение, которое и будет запускаться, а в gm9 лежат скрипты для этого приложения, которые могут быть исполнены в интерфейсе.
Папку gm9 помещаем в корень флеш карты. А файл GodMode9.firm должен лежать по пути /luma/payloads/GodMode9.firm
Чтобы проверить как работает эта утилита, поместим какой-нибудь *.3dsx файл в /cias, например test.3dsx.
Чтобы попасть в GodMode9 нам нужно выключить консоль, а затем зажать и удерживать клавишу Start и включить консоль, дождаться загрузки и мы должны увидеть интерфейс приложения.
Выбираем первый пункт SDCARD, далее заходим в папку cias, выбираем test.3dsx, в контекстном меню выбираем пункт NCSD image options -> Build CIA from file, ждем завершения процесса и нажимаем клавишу A для подтверждения. Готовый *.cia файл будет находиться по пути /gm9/out/test.cia
Теперь мы можем перезагрузить консоль нажав Start.
Дальше открываем FBI, переходим в директорию /gm9/out и устанавливаем приложение.
Больше нам test.3dsx и test.cia не нужны, можем удалять их.
ndsForwarder
Для запуска DS приложений можно установить эмулятор и через его контекстное меню можно заходить в папку с ромами, запускать нужный, но это неудобно. Лаконичнее выглядит вариант, когда для каждой игры на главном экране присутствует иконка, через которую мы и можем запускать приложение. ndsForwarder по сути не производит установку приложения как это делает FBI с *.cia файлами, а просто создается иконка для приложения, которая автоматически запускает эмулятор с указанием *.nds файла.
Скачиваем ndsForwarder.3dsx https://github.com/MechanicalDragon0687/ndsForwarder/releases и помещаем в папку 3ds.
Скачиваем TWLFix-CFW.3dsx https://github.com/MechanicalDragon0687/TWLFix-CFW/releases и помещаем в папку 3ds.
Скачиваем 7z архив https://github.com/RocketRobz/NTR_Forwarder/releases, внутри архива находится папка _nds, ее помещаем в корень флеш карты.
Теперь нам нужно поместить какое-нибудь *.nds приложение на флеш карту в любое удобное место. Например создадим директорию DS Apps в корне флеш карты и поместим туда файл test.nds
Загружаем консоль, открываем Homebrew Launcher, находим в списке NDS Forwarder Generator, запускаем его. Переходим в директорию DS Apps, соглашаемся на установку приложения и можем выходить на главный экран, там должна появиться иконка только что созданного ярлыка.
Если вы хотите, чтобы изображение при запуске DS приложения не растягивалось на весь экран, то вы можете зажать клавишу Start перед запуском и тогда у вас по бокам появятся рамки, но зато картинка будет в оригинальном разрешении.
Замечу еще раз, в данном случае мы не можем удалять файлы из папки DS Apps т.к. сами эти приложения и запускаются.
Для того, чтобы удалить ярлык с главного экрана, в настройках нужно заходить в пункт Data Management -> DSiWare
Anemone3DS
И завершим наш список приложением для установки кастомных тем для главного меню.
Скачиваем Anemone3DS.cia https://github.com/astronautlevel2/Anemone3DS/releases, помещаем в cias и устанавливаем через FBI.
В корне флешки создаем две папки themes и splashes.
Найти готовые темы можно тут https://themeplaza.art/themes. Скаченные zip архивы кладем в папку themes.
Единственный подвох, с которым вы можете столкнуться - это при первом запуске в приложении отображается ошибка "Theme extdata does not exist! Set a default theme from the home menu." Для решения этой проблемы выходим в главное меню, в левом верхнем углу нажимаем на кнопку "HOME Menu Settings" и изменяем тему на любую из представленных, например красную. После этого снова заходим в приложение и устанавливаем загруженную.
Тема применяется только после перезагрузки консоли.
Использованные материалы:
Детальнее весь процесс описан на сайте https://3ds.hacks.guide, спасибо@aikза нее
aik
Не думаю, что уровня хабра материал. Инструкций по взлому в сети полно (https://3ds.hacks.guide). Лучше бы про homebrew-сцену рассказали, какие программы есть, какие игры/порты, какие эмуляторы… Было бы полезнее.
На счёт вытягивания иконок DS-игр с автозапуском эмулятора — на мой взгляд, лучше всё же отдельно запускать TWiLight Menu, а оттуда игры. Разве что «постоянные» можно вытащить, которые уже удалять не будете. А «прошел — удалил» или просто редко запускаемые — зачем?
HardDie Автор
Спасибо за ссылку, действительно все подробно расписано, по крайней мере на первый взгляд!
В оправдание могу сказать что я проверял в основном youtube из источников и там все использовали "магический" архив и именно из-за этого я и решил разобраться в деталях.
По поводу homebrew сцены я пока что мало о чем могу рассказать, т.к. в руки консоль мне попала всего лишь пару недель назад и не успел углубиться в такие материалы.
А на счет эмулятора DS игр, я все-таки подразумевал игры, которые вы планируете проходить. Понятно что если вы игру скачали просто ради того чтобы запустить и удалить, то в этом случае логичнее будет запускать из TWiLight Menu. Но этого материала полно на ютубе.
aik
Ютуб имеет свойство устаревать. И если текстовые инструкции актуализируют, то ютубовские ролики не переснимают. В лучшем случае новую версию сделают, но старую при этом не убирают — она же просмотры приносит даже сейчас, особенно если популярная.
Ну вот и надо было бы углубиться, чтобы интересный материал создать. А так вышла перепечатка одной из многих инструкций по взлому.
Ну вот я сейчас прохожу Portrait of Ruin. Пройду и больше не вернусь. Вытаскивать его на «рабочий стол»? Лень. И так нормально — запустил эмулятор, а он помнит, во что играл последнее. То есть один клик только в сравнении с выбором игры на «десктопе».
А вот TetrisDS какой-нибудь можно и вытащить, ибо вечная игрушка.
PS. Я сам не так давно обзавёлся new2ds, так что тоже не особо разбираюсь. С NDS было проще — воткнул картридж r4 и радуйся. :)
HardDie Автор
Если бы я знал о существовании сайта, который вы скинули то в этом случае статья не вышла бы)
А так когда я искал, то ничего не нашел похожего. Поэтому я пошел по пути "если тебе не хватает контента, то делай контент сам".
HardDie Автор
По поводу иконок DS игр - ну тут все от подхода зависит. Мне приятно видеть иконки игр на главном экране, возможно я не один такой и кому-нибудь это пригодится.
JPEGEC
Вы считаете что F00D43D5.bin менее "магический" :)
HardDie Автор
Согласен, там тоже не все так просто) Но там хотя бы понятно кто ее генерирует, куда ее вставлять и на каком этапе оно нужно)