- 大人の自由研究

大人の自由研究 ホーム » 

Luma3DS v8.1


Luma3DS v8.1がリリースされていた

以下、コピペー

Add saving of Rosalina settings (key combo and homebrew title ID)
Add a reboot and a power-off option in the "Miscellaneous" Rosalina menu
Display the IP address on most menus when either InputRedirection or the GDB stub (or both) is enabled
Full support for system versions >= 4.0
Partial support (all arm9 patches, but no arm11 patch) for 3.0
Halve the time necessary to take a screenshot
Boots around 1 second faster on New 3DS
Add region-free patch for e-manuals
Add DSP firmware signature patch by @MerryMage
Fix InputRedirection, C-stick/ZL/ZR redirection works in games too
Fix langemu bugs
Fix write-only hardware watchpoint support in the gdbstub
Fix random boot issues
Fix booting on 2.x and 1.x dev units
Merge #561
Fix building on macOS
Other minor improvements and fixes

3DS ペーパーマリオ スーパーシールで HBL起動 / stickerhax(後編)


 ペーパーマリオ スーパーシール を手に入れた
 stickerhax の導入だ。
 恒例の自分でビルドしてみよう。
 https://github.com/yellows8/stickerhax ここからソースを持ってきてビルド実行。
$ make clean ROPKIT_PATH=3ds_ropkit && make ROPKIT_PATH=3ds_ropkit
Building for title 00040000000a5d00...
Building v1.0_JPN...
Building for title 00040000000a5e00...
Building v1.0_USA...
Building for title 00040000000a5f00...
Building v1.0_EUR...
Building for title 00040000000c6800...
Building v1.0_KOR...
Building for title 00040000000c8100...
Building v1.0_CHNTWN...
 というメッセージが出力されて終了。
 ※3ds_ropkit は https://github.com/yellows8/3ds_ropkitから。

 なにやら深い階層の中にv1.0_JPN.binが作られている、セーブデータであろうw

 どうやら、この深い階層は、sploit_installer で利用する為の フォルダ形式らしい。

 https://github.com/smealum/sploit_installer を覗いてみると /romfs_exampleとして同じフォルダ形式のサンプルを発見!
 なるほどねぇ、sploit_installer を使えば、入れられるって事か。

 ただ、現在配布されている、homebrew の starter-kit. に入っているとか。
 
 確かに、sploit_installer_stickerhax.xml の文字が。。。ん?xml?
 xmlファイルを開いてみると、またまた怪しい定義がw

/3ds/install/install.3dsx
/3ds/sploit_installer_stickerhax.smdh
 ショートカットだw
 /3ds/install/install.3dsxを実行してるのか。

 で、疑問。
 さっきビルドして作られたv1.0_JPN.binはどうするのか?
 どこに入れておく?
 あれ、sploit_installer って使わない?

 :
 :
 :

 stickerhax でググると、こちらの記事が見つかる
 画像付きで親切設計。
 よく見ると、「auto-detected version of Stick-Star」の文字がw
 って事は、自動で認識しちゃう感じなのか?!

 セーブデータどうするの?
 と思った疑問は、install.3dsxをバイナリエディタで開いて解決した。
 なんと、v1.0_JPN.binの同じバイナリコードが同梱されているではないか!時オカのセーブデータもw
 
 バイナリ比較で同じって事は。。つまり v1.0_JPN.bin もちゃんとビルド出来ていたって事になるか(笑)

 という事で、せっかく、stickerhax や、sploit_installer もビルドしたが、starter-kit に入っている、sploit_installer_stickerhax.xmlから実行してみたw

 結果、ちゃんと、ペーパーマリオ スーパーシールからHBL起動が出来ましたw

 それと、セーブエディター2で、バックアップを取ってから、セーブデータを削除。その後にリストアしても問題なくHBLが起動する。当たり前だがw

 相変わらずキュービックニンジャは高額なので、ペーパーマリオ1枚あっても良いかも。
 HBL起動可能な環境が必要ですが。。。

3DS ペーパーマリオ スーパーシールで HBL起動 / stickerhax(前編)


 時オカ使ってのハックは良く知られている。
 他にもいくつかあるという事も知っていたんですが、実際に試した事は無かったw

 という事で、ntrboothaxもまだ来る気配も無い(FW 11.5 がリリースされる後かな)ので、ペーパーマリオ スーパーシール を使ったハック「stickerhax」を試してみようかと。

 ただ、持ってない(笑)
 林家ペーパーマリオ スーパーシール
 アキバの中古ゲームソフト屋さん見に行ったら、1800円くらいだったか、ちとネットより高かった。amazonの中古で1000円くらいであったので、昼飯食べながらお買い物しちゃいました。
 で、翌日に届いた。
 
 あ、今みたら、もっと安くなってるし(笑)
 まぁ時オカの半値くらいで買えますかねぇー

 ここのSecondary Exploitsを見ると「Works on latest fw」の項目が「Yes」になってるし「From 9.0.0-X up to and including 11.4.0-X.」との記載もw

 と楽しみを残しつつ、飲みの席も楽しむ(笑)
 後編へ

3DS HBL 3dslink(netloader) が便利だった


 これは便利
 自作アプリってデバッグが面倒で、エミュレータ使ったりしていたが、結局は3DS上で動かさないと。
 SDの抜き差しが面倒で、FTP経由で転送していたが、調子悪いと、なかなか繋がらなかったりで。。。

 面倒だなと思っていたら、こんな便利な機能があるとは(汗)知らなかったーー

 3DSでHBLを起動して、Yボタンを押す。
 すると、「3DSLink」がなんちゃらと、IPアドレスの表示が。
 この状態で、コマンドラインから
$ 3dslink extdata_dump_MHXX.3dsx
 と入力。
 すると
Sending extdata_dump_MHXX.3dsx, 203508 bytes
94349 sent (46.36%), 10 blocks
 な感じになる。
$ 3dslink extdata_dump_MHXX.3dsx
No response from 3DS!
 と3DSが見つからない時もあるが、何度かやれば繋がって、3dsxを転送してくれるし
 転送が終わると、自動で起動までしてくれる!

 また
$ 3dslink extdata_dump_MHXX.3dsx -0 sdmc:/3ds/extdata_dump_MHXX/
 と -0(ゼロ) オプションで、作業ディレクトリが指定出来るらしい。。。
 ちょっと試したのだが。。。SDへのR/Wで失敗するようだった。

 とはいえ、なんと便利なのでしょーか
 しかも、3DSLink.exe って、devkitPro に入っていたとは(汗)

3DS 11.4 で 時オカハックが出来るかためしてガッテン


1.oot3dhax_installer の導入


 oot3dhax_installer の存在を最近知った。
 時オカハックを利用する場合、今までoot3dhax_rawsaveimages_haxpayloads_01-08-17のデータを oot3hax_make で編集後、サイバーガジェットの セーブエディター2を使いセーブデータをリストアしていた。
 この、oot3dhax_installer というツールを使うと、カートリッジに直接データを書く事が出来るようで、セーブエディターが必要ないみたい。
 注)oot3dhax_installer はHBLが動かないとダメなので、ノーマル3DSだけの場合は使えない手法。別途HBL起動できる3DS必要。

 ソースを持ってきまして
$ git clone https://github.com/phase/oot3dhax_installer.git

 直ぐにビルド
$ cd oot3dhax_installer
$ make

 当然の如くエラーがダーって出てきますねw
error: incompatible type for argument 2 of 'httpcOpenContext'
 確かに今の libctru にある httpcOpenContext とパラメータが違う(汗)
 libctru-1.2.0 くらいから変わっているみたい。

 古めの libctru-0.6.0 だと、別のエラーが(汗)
 結局、libctru-1.1.0 で、ビルドが出来た。

 ただ、今の3DS環境からHBL起動して、oot3dhax_installer を起動すると
 Rosalinaさんが
 「この自家製エクスプロイトは、ターゲットタイトルの下でアプリを起動することができません。別のエクスプロイトを使用してください。」
 と申して、実行させてくれませんw
 とりあえず、oot3dhax_installer.xml を削除するか、xmlに記載ある
<targets selectable="true"></targets>
の true を false に変えれば、起動する事が出来た。

 (そう言えば、虚無空間さんのとこでもコメントあったなぁー、JKSMが動かないって、ダウンロードしてみたら、同じく、JKSM.xml があって内容も一緒)

 やはり、Rosalinaさんの言うことを聞くべきなんでしょうかねぇ。oot3dhax_installer がうまく動かなかった。。。

 

2.oot3dhax_installer の大まかな動き


 ざっくりとした動きは
 ・選択されたファームバージョンのpayloadを、ネット経由で取得する。
  アクセスURLは、 http://smea.mtheall.com/get_payload.php?version=NEW-10-1-0-0-USA な感じ
  すると、N3DS_U_21504_usa_9221.bin がダウンロード出来る。

 ・予め用意してあるセーブデータを 読み込み(各リージョン毎:save0x.bin.eur | save0x.bin.jpn | save0x.bin.usa

 ・指定されたゲームスロットへ書き込む( /save00.bin | /save01.bin | /save02.bin

 ・そして、先にダウンロードした、payload(N3DS_U_21504_usa_9221.bin)を /payload.bin として保存する

 ・終了です。


 なるほどぉ。

 って事は、SaveDataFiler とかで、同じ事を手動でも出来るかw

 

3.手動でやってみた


 せっかくなので、yellows8さんのoot3dhax を使いセーブデータを作ってみようかと。
 こちらのコマンドでセーブデータが作られる
make EXECHAX={value} FWVER={value}

 いくつかファイルが作成されるが、oot3dhax_jpn.binsave01.binなどリネームして使う。

 payload はこちらお馴染みのサイトから、ダウンロード。

 今回は、New/Oldの 11.4環境 を試したいので、New3DS 11.4 と、Old3DS 11.2 をチョイス。Old3DSは11.4のpayloadが無く、11.2で動くとか。。。

 SaveDataFiler を使い、時オカのカートリッジに、/save01.bin/payload.bin をリストアして何パターンか試す。

 

4.結果


 最終的にHBLが起動したのは、New3DS だけでした。
 やり方が悪いのか、Old3DS の方は、11.2 のPayloadを使ってもダメでした(泣)

 私が使った /save01.bin/payload.binこちらに準備しておきました。
 あくまでも、私のNew3DS 11.4.0-37J の環境で動作したもので、他で100%動く保障はありませんので。もし、ためしてガッテンしようって人が居たら、そのつもりで。