はりをきば

そこにピカマンがいる限り 私はテイッハットウッをやめない


Caution!!
この日記はバカな私(はりを)が何かを忘れない為に、バカの一つ覚えの如く色んな記事を投稿しています。…が、
あくまでもただの備忘録のひと握りに過ぎず、情報の信憑性や真偽までは保証していません。
極力正しい情報をまとめているつもりですが、万一誤った記事の内容を実行しトラブル等が発生しても
当方は如何なる責任を負いません。自己責任でご利用ください。

以上に同意する方のみ、この雑記帳の閲覧をお願いします。

初めての方はこちらも併せてお読みください。このブログについて (About)


…ちゃ、ちゃんと予防線張ったからな!! ホント何があっても知らねーからな!!!(小学生並の言い訳)

予防線(☢Caution!!☢)の表示
テキスト全般の表示に使うフォント (大抵は「メイリオ」か「ヒラギノ角ゴ ProN W3」) (マルチバイト文字はSource Han Sansと同じ) (マルチバイト文字はNoto Sansと同じ)
ソースコードの表示に使うフォント
ピカマンロケットの効果音

設定を保存キャンセル

【5.5.2対応】WiiUでHBLを起動するボタン作った【2018年版】

【重要】
この記事は最終更新日から以上経過している為、
もしかしたらリンク切れしていたり、情報としては役に立たなくなっているかもしれない。

…ので、ここに公開しておく。実は1ヶ月以上前に完成してた




\じゃじゃーん/

WiiU 5.5.x HBL (はりを改造版JsTypeHax)|gutyan.jp

https://file.gutyan.jp/wiiu/hbl


loadiine.ovhu.drg.liよりも起動(トリガー発動)するのが早いのが特長。
上記2つのサイトがタップしてから起動するまで20秒以上かかるのに対し、ワシのこいつは約6秒



使い方

HBL本体(とHaxchiインストーラ)をそれぞれダウンロードし、FAT(16/32)のSDカードに配置する。

GitHub - dimok789/homebrew_launcher: WiiU Homebrew Launcher

https://github.com/dimok789/homebrew_launcher

GitHub - FIX94/haxchi: Persistent WiiU DS VC Exploit

https://github.com/FIX94/haxchi

HBLは必ず1.x系列の最新版を使うこと。(今現在1.4)
2.x系列はブラウザからは起動できない(CFWで使うものな)ので無視。


パスはこう。

sdmc:/wiiu/apps/homebrew_launcher/homebrew_launcher.elf

WiiUに限った話ではなく、3DSやWiiにも言えることだがSDのパスは大文字小文字を区別しない
従って、/wiiu/APPS/Homebrew_Launcher/HoMeBrEw_lAuNcHeR.eLfみたいな滅茶苦茶なファイル/フォルダ名でもちゃんと動く。
ちなみに私は、わかりやすいよう/WiiU/Apps/Homebrew_Launcher/homebrew_launcher.elfとしている。
(ファイル名はそのまま、フォルダ名は先頭大文字に)


ファイルをセットしたSDをWiiUに挿し、ブラウザを起動。
この時、複数のタブを開いている場合は一旦全て閉じる
1つしか開いてない場合も、そのタブが使い回し(別のサイトを読み込んでる状態)だと失敗するので、閉じてスタート画面(時計表示画面)に戻す。
タブが1つのみで、且つそれがスタート画面な状態で、改めてアドレス入力でfile.gutyan.jp/wiiu/hblと入れアクセス。
(httpsの有無はお好きにどうぞ)


起動ボタンのあるページを開いたら、一旦ブックマーク。


ブックマークしたら、いざポチっと押す。
成功すれば、5~7秒くらいで起動する。


5.5.2のブラウザHBLはガチャ(運ゲー)なので失敗(フリーズ)するのは当然で、数回リトライ&フリーズしたくらいで騒がないように。
まず数回試してみて、全滅するようならAlt modeにチェックを入れてもう数回トライしてみる。
それでもフリーズする場合、下記のFAQも参照。


運良く起動できたら、後はサクっとHaxchiをインストールして終わり。
次からはHaxchiを使ってHBLをオフライン且つ100%確実に起動できるようになる。


申し訳無いがHaxchiのインストールや使い方は割愛。
(後日HaxchiとCBHCの記事も書く予定)



多謝

このHBL起動ボタンは、下記のコードをベースに作成した。
というか8割くらいオリジナルママ

GitHub - WiiUTest/JsTypeHax

https://github.com/WiiUTest/JsTypeHax

ちょい解説

このオリジナルのコードは、以下のWebkitのバグ(CVE-2013-2857)を使用している。

240124 - Heap-use-after-free in WebCore::ImageInputType::attach - chromium - Monorail

https://bugs.chromium.org/p/chromium/issues/detail?id=240124

2013年、Blink分岐直後のWebkitに見つかったこいつは、type="image"なinput要素に割り当てたハンドラからtype="radio"にするとメモリ破壊&任意コード実行できるという普通にアカンやつ。
んで、そこからHBLのelfを起動するペイロード(3DSでいうところのotherapp.bin的な)をメモリに書き込み&実行するというのがこのJsTypeHaxなるもの。


サイト側からは書き込んでよいアドレスを検知できないので、書き込めそうなアドレスに当たりを付けてペイロードを置くというその仕様上、
書き込んだアドレスがフリー(writable)であるという保証は無く、運悪く使用中のアドレスに置いてしまうと起動中のシステムが破壊されてしまう。
フリーズするのはそういうことである。



FAQ(Freezy Asked Questions - よくあるフリーズとその回答)

Q.「FSGetMountSource failed」と出る

A. exploitを使った起動シーケンスは運良く成功しているが、肝心のHBL本体が読み込めていない。

このエラーが出る要因としては

  • ELFファイルのパスが不一致
  • SDカードがFAT(16/32)形式じゃない
  • SDカードの接触不良、或いは故障?
  • そ も そ も S D が 挿 さ っ て な い

この起動ボタンはSDに入ってるHBLを呼ぶものなので、そもそもSDにそれが入ってないと話にならない。
SD無しでWebからロードできた5.5.1のやつとは違う。
SDXC(64GB以上のSD)は初期フォーマットがexFATなので、最初にFAT32でフォーマットしておく必要がある。

Q. 何回やってもフリーズマンが倒せない

A. Haxchiだけは最後まで取っておく

…フリーズ率が上がる行為をリストアップしたので、以下の行動は控えてポチるよう心がける。

  • 起動ボタンページを開いてから数十秒以上放置
  • 起動ボタンページを開いてる状態でブックマークリストを無意味に開く
  • Wiiリモコンを使ってボタンを押している(ゲムパ使ってね…)
  • 複数のタブを開いている(フリーズ確定)
  • タブを使いまわしている(戻る/進むで別サイトのキャッシュをもっている、フリーズ確定)

とにかく運ゲーなので、音を上げる前に最低でも10回は試してね。


尚、海外のハック解説サイトや国内の同ブログの中には
HBLは1.3の方がいいとか、ブラウザのカーテン(TV出力)は開けた方がいいとか書いてあるとこもあるが
私が一通り試してみたところ、特に有意な差は確認できなかった。
迷信の類だと思われるので、それらは無視しても良い。




その他、バグっぽい動作(5秒どころかボタンを押した瞬間に確定フリーズする等)を見つけたら
コメントに書いておくと助かったりそうでもなかったり。