3DS homebrew “Hello,world!”

とりあえず『マジコンを使わずに3DSで自作ソフトを走らせる』までをメモ。
当記事は173210氏の記事「開発環境構築と3DS Homebrew開発」を参照しました。

あと一言加えておくと…
現在の国内法では「3DSのROMダンプ」も「ROMの違法ダウンロード」もアウト。
つまりバックアップに関するハックは一切扱うことが出来ません。
(3DSハックは唯一、自作プログラムを走らせることだけがどうにか合法です)。
当記事は『3DSで自作ソフトを走らせたい人のため』の内容ですのでご了承下さい。

・必要機材(あれば便利なものも含む)

ファームウェアバージョン4.1.0-4.5.0の3DS本体
– 言わずともがな。ヤフオクや親しいゲームショップで手に入れましょう。

Amazon : CYBER コードフリーク type III (DS用) ¥7,700
– ROPLoader実行用に。コレとDS用ソフト(Newスーパーマリオブラザーズなど)も必要。

Amazon : PQI Air Card Wi-Fi内蔵SDカードアダプタ (アダプタのみモデル)¥3,400
– コレと適当なmicroSDカードが1枚必要。SDカードでも代用できるけど圧倒的に楽。

・ROPLoader書き込みまでの流れ

1.”3DS Toolkit”でググってダウンロードし、同梱の ROPLoader.nds を
適当なmicroSDカードに書き込む。

2.コードフリークtypeIIIにmicroSDカードと適当なDS用ソフトを挿入して3DSで起動し、
option → nds launcher → ZZZZZZZZZZZZZZ…(ROPLoader)をブート。

3.”ROP Loader 3DS INSTALLER”が起動したらAボタンで3DS本体にインストール。
これでDS profile exploitが実行可能な状態になります。

・PQI AirCardの自動リンク環境を構築する

本来はカメラに挿入したAirCardを専用ツールからWi-Fiアクセスして写真を~…
という使い方をするAirCardですが、あらかじめ自宅のWi-Fiルータなどに
接続設定を済ませておき、SDカードのルートに “autorun.sh” という
自動実行シェルスクリプトファイルを作成。
改行コードLF固定で下記の青文字の内容を入力して保存しましょう。
※自宅ネットワークが192.168.0.0/24の場合。環境ごとに読み替えてね。
#!/bin/sh
sleep 5
/usr/bin/w2
sleep 5
ifconfig mlan0 192.168.0.100

このautorun.shの入ったAirCardを3DSに挿して、PCからWinキー+Rで下記コマンドを実行。
ping 192.168.0.100 -t

1~2分放置してタイムアウトから「応答」に変わればPCからアクセスが可能です。
ちなみにPINGを止めると勝手に切れたりするのでこのPINGは作業中ずっと放置です。

試しにエクスプローラなどから ftp://192.168.0.100/ と打つと…
aircard
こんな感じにカードにファイルアクセスが可能です。
いちいちカードスロットを触らなくて良いのでラクチンです。

・”launcher.dat”を実行する
先ほどの3DS Toolkitはユーザメモリをダンプするサンプルプログラムなのですが、
RAMDumpingフォルダの “Launcher.dat” をSDカード(AirCard)のルートにコピーして、
3DSの「本体設定」→「その他の設定」→「ユーザー情報」→「DSソフト用設定」を開いた瞬間、
しばらくフリーズした後にエラーが発生してHOME画面に戻ります。
(ここでSDカードへの通電が切れるようで、AirCardの再起動にしばらく時間がかかります)。

この裏ではユーザメモリをダンプしたものがSDカードに”DUMP.BIN”として保存されており、
AirCardの再起動後にファイルを取り出すことができます。

・devkitProとPythonのインストール

3DS homebrew開発にはdevkitProとPythonを用います。
1.devkitProUpdater-1.5.3.exeをc:\devkitproにインストール。
2.Python 2.7.6をC:\Python27にインストール。
これらにパスを通すように環境変数を修正しても良いのですが、
とりあえず後述のハローワールドビルド時にバッチファイルに組み込みます。

・ハローワールドをビルドする

173210氏作のハローワールドを検証ビルドしてみます。
githubの「Download ZIP」でソースコードを丸ごとダウンロードし、適当なフォルダに展開。
同フォルダに “build.bat” など適当なバッチファイルを作成し、下記青文字内容を入力。
set path=%PATH%;C:\devkitPro\devkitARM\bin;C:\Python27
make
pause

これを実行し、特にエラーメッセージを表示することなく
「python ./tools/append.py S0.DAT kfs.bin Launcher.dat」
とログが出力されれば成功。

これで生成された launcher.dat をAirCardのルートにコピーして実行し、
ハローワールドが実行されれば成功です。

・さいごに

今回紹介した内容は「入り口に立つまで」です。
ゼロから新規に組むには数万円の投資が必要になるものの
『マジコンを一切使うことなく3DSで自作プログラムが実行可能になる』
というのは驚異的です。

DSは違法コピーが蔓延し、結果的にhomebrewすら衰退してしまったことを考えると、
『違法コピーが話題にすらならない3DS homebrew環境が出来た』
というのは大変嬉しいことです。

それでは、一足先に「3DSハック」の海へ行ってきます。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です