[10.0.4対応] HACGUIの使い方

CFW

HACGUI

shadowninja108/HACGUI
A simple interface for extracting Nintendo Switch contents. - shadowninja108/HACGUI

shadowninja108氏が作成した、ニンテンドースイッチのNANDから直接各種キーを抜き出し、それを使ってNANDやSDに保存されているデータを復号してバックアップできるツールのこと。ほぼ同等(あるいは上位互換)の機能を持ったものにNxDumpToolがあるが、それとの比較もおこなっていきたいと思う。

アイコンはめぶいた風メーカーさんから使わせていただきました。規約は目を通したのですが、ブログのアイコンについての記述がなかったので、問題がある場合は連絡をいただければすぐに削除・対応致します。

ちなみになんでアイコン使ったかというと、DiscordのShadow氏のアイコンがこれだからです。それ以外の理由はないです!

NxDumpToolとの違い

ざっくりまとめると以下のような違いがあります。それぞれどういう風に違ってくるのかも解説します。

HACGUINxDumpTool
PCレス不可
CFWレス不可
BCATのダンプ不可
SAVEのダンプ不可
個人証明書の置換不可*
NCAの展開
BANの危険性

PCレス

HACGUIはWindowsで動作するツールですので、パソコンが必ず必要になります。それに対してNxDumpToolはCFWが動作するスイッチ上で動作するプログラムですので、パソコンは不要です。

CFWレス

HACGUIは一度prod.keysを抜き出してしまえばどんなシステムファームウェアからでもデータを抜き出せます。なので初回起動以後にシステムアップデートで使えなくなったりすることはありません。ただ、最初のキーを抜き出すところでlockpickが必要になるので、初回起動時にニンテンドースイッチがlockpickが対応していないバージョンだと、使えないことには注意しなければなりません。

NxDumpToolはHomebrewアプリですのでCFWが動作しないと使うことができないのは当然です。

BCATのダンプ

BCATとはBackground Content Asymmetric synchronized delivery and Transmissionのことであり、バックグラウンドでダウンロードされる軽量のコンテンツだと思っていただければ大体合っているかと思います。これに該当するのがスプラトゥーンのフェス情報やフェスのモデル・マップデータや、ガチマッチやナワバリバトル、サーモンランのシフトのデータなどです。

一度に一ヶ月分くらい送信されるので、これを取得することで将来のシフトがわかるというわけです。

HACGUIはこのBCATの抽出に対応していますが、NxDumpToolは対応していません。

SAVEのタンプ

Checkpointというアプリがある以上、HACGUIでセーブデータを保存することのメリットはあまりないのですが、HACGUIはセーブデータバックアップにも対応しています。

Checkpointが対応していないACNH(あつまれどうぶつの森)などにも対応してると思います、多分。

個人証明書の置換

個人鍵というのはPersonalized Ticketのことで、eShopからダウンロードしたコンテンツ(体験版だけ?)に施されている署名の一つです。

この個人鍵は本体のNANDと結びついているので、仮に自分がSYSNANDでダウンロード・ダンプしたNSPであってもEMUNANDにインストールすると起動時にチェック(2155-8007エラー)で弾かれてしまう場合があります。

EMUNANDとSYSNANDの個別情報(本体の初期化ごとにリセットされる)が異なると起動できなくなります。

この認証システムはNSPが署名されているか(Ticketを含むかどうか)とは無関係なので注意。

これを回避するためににはPersonalized TicketをCommon Ticketに書き換える必要があるのですが、これはNxDumpToolでは “Remove console specific data” という機能でこれに対応しています。

対して、HACGUIではTicketの書き換え機能が存在しないので、例えばSYSNAND(OFW環境)でeShopから正規にダウンロードしたスプラトゥーンの体験版をHACGUIでNSP化し、それをEMUNANDにインストールして遊ぶことは不可能です。

ちなみにこの機能自体は実装可能であるものの「海賊行為を助長する恐れがある」との判断でShadow氏は実装しなかったそうです。

NCAの展開

HACGUIはゲームデータをNSPまたはNCAまたは展開したファイル(Extract partitions)として出力することができ、NxDumpToolも同様にNCA内のファイルを復号してSDカード上に出力することができます。

この点はどちらのツールにも差異はないといって良いでしょう。

BANの危険性

HACGUIはニンテンドースイッチのブートローダ以前の領域で鍵取得をおこない、一度鍵を抽出したあとはRCM状態のスイッチないしはSDカードをパソコンに接続するだけでゲームデータのダンプがおこなえるのでBANの危険性とは皆無です(もちろん、NSPを証明書なしでダンプしてインストールし、オンラインに繋いだりしたらBANされますが、それはHACGUIとはまた別の問題)。

それに対してNxDumpToolはCFWで動作させなければならないという仕様上、少なからずBANの可能性がつきまといます。もちろん適切にCFWを運用していれば良いですが、90DNSの設定が外れていたりすると非常にキケンです。

特に、体験版のデータを抜き出すためにSYSNANDでNxDumpToolを起動する際は最新の注意が必要となるでしょう。

HACGUIの使い方

スイッチを改造できる環境があるのであれば特別な物理的なデバイスは不要です。

必要なもの

HACGUI

GitHubに公開されているものは最新のビルドではないので、Shadow氏が個別にビルドしたものを使います。

Dokan_x64.msi

BCATのデータをマウントする際に必要になりますが、ゲームのデータおよびアップデータをNSP化するだけなら不要です。

ニンテンドースイッチから鍵を抜き出す

最初に、ニンテンドースイッチから固有鍵(Prod.keys)を抜き出す必要があります。ダウンロードしたHACGUIを展開し、HACGUI.exeを右クリックで管理者権限で起動してください。

何も考えずにStartをクリックします。

コンソール名の入力を促されますが、何を入力しても大丈夫です。

ここからの手順は全部で四つです。

  1. スイッチをRCMにし、パソコンと接続する
  2. Send Lockpickをクリックする
  3. スクリーンに表示される指示に従う(必要なら再起動がかかる)
  4. スイッチを再びRCMで起動し、Mount SDをクリックする
RCMのスイッチを接続したところ

RCMのスイッチを接続するとこのようにSend Lockpickなどのボタンがクリック可能になります。このとき、TegraRcm GUIのAuto inject (selected payload)のチェックが入っていると、Lockpickを挿入するよりも前にHekateないしはCFWが起動してしまうのでチェックはオフにしておくなどしておきましょう。

Lockpick_RCMを起動したところ

基本的にはSysNANDからデータを抜きだしたい場合が多いと思うので「Dump from SysNAND」を選択しましょう。

再起動後に各種キーを抽出

ある程度新しいCFWを使っている場合はseptを採用しているので再起動後にキーを抽出してくれると思います。非常に高速なので10秒もあれば完了します。

終わったらメインメニューに戻り、「Reboot RCM」でニンテンドースイッチをRCMで再起動しましょう。

つぎにMount SDを選択してSDカードをPCにマウントします。

マウントしたら「…」を選択し、SDカード直下のswitchフォルダ内のprod.keysを選択しましょう。

選択すれば自動でprod.keysをコピーしてくれます。

このとき、ニンテンドースイッチにはmemloaderを読み込んだ状態になっており、RCMではない特別な状態になっているので電源ボタン長押しで強制電源オフをかけて、RCMジグを使って再びRCMに切り替えます。

そこでNextをクリックすると以下のような画面が表示されます。

「Select file(s)」はダンプしたNANDから鍵を抽出するモードですが、NANDのバックアップをPCにコピーすると30GBも消費するのでわざわざこちらのモードを選択しなくて良いと思います。

ここで抜き出す鍵はさっきLockpickで抜き出したものとはまた異なるので注意!

なので再びmemloaderを使って今度はニンテンドースイッチのNANDをマウントし、鍵を抜き出そうと思います。

Inject for meを選択したところ

五秒くらい待つと鍵の抽出に成功します。たまに失敗するようなので、そのときは最初から再チャレンジしてみてください。

鍵の抽出に成功!

再度HACGUIを管理者権限で起動するとSDカードおよびNANDに保存されているゲームデータが表示されます。

ゲームデータの表示に成功!

セーブデータの項目をみるといろいろ見れますが、こっちに関してはあまりいじらない方が良いでしょう。

ゲームデータのバックアップ

今回はSDカードにインストールされているスプラトゥーン2の5.2.0のアップデータを抽出しようと思います。’

インストールされているバージョンが5.2.0であることがわかるね。

Title Managerからダンプしたいゲームをダブルクリックするとサブウィンドウがひらきます。

TitlesからExtractを選択し、今回はアップデータをダンプしたいのでPatchにチェックを入れます。

こうすることでアップデートパッチをダンプすることができます。

Extractor PickerはRepack as NSP(NSPとしてリパック)を選択しておくと使い勝手が良くていいと思います。

ここはパソコンのスペックやSDカードの転送速度にも依りますが十分くらいでアップデータが抽出できると思います。

BCATデータのダンプ

SavesにあるSaveDataとは別のBcatDeliveryCacheStorageがBCATデータです。これは直接抽出することができず、ファイルシステムをマウントする必要があります。

これには一番最初に説明したdokanのドライバーが必要になるのでインストールしておきましょう。

ここまでできればあとは簡単だと思うので詳細は省略しておきます。

コメント

  1. しじみ より:

    回答ありがとうございます。

    SysNANDにCFW起動中なら インストールしたゲームが動くということですから、大丈夫だと思います。
    SysNANDでCFW起動しないで 通常起動した際は、怖いので毎回バージョン確認してます(汗

    EmuNANDにはSysNANDにインストールしたソフトは表示されていません(汗

    てっきりCFW起動中でないとインストールしたものは起動しないと思っていました。
    試したところファイル破損と出るのでたぶん、ダンプ時に失敗しているのだと思います。

    大きな問題ではないので、このままSwitchを楽しいみたい思います。

    • えむいー より:

      このコメントを見る限り、SysNANDでCFWを起動したときにNSPをインストールされていそうなのですが合っていますか?

      もしもそうであれば、この状態は俗に言うところの「NANDが汚れている」にあたるので、SysNANDでオンラインに繋ぐとたとえOFWであってもBANされる可能性があります。
      なので、カートリッジタイプのモンスターハンターを購入してプレイするのは極めて危険であると言えます。

      OFWで起動した場合、インストールしたゲームがファイル破損と表示されて起動できないのは正しい挙動ですので問題ありませんが、将来的にSysNAND側でオンラインプレイを楽しみたいのであれば一度CFWが起動していた痕跡を全てリセットして(初期化なので全てのデータが失われます)からでないと危ないと思われます。

  2. 匿名 より:

    わざわざありがとうございます。

    一度、時間のある時に初期化を試してみます。

    ではでは。

  3. 匿名 より:

    SDカードにインストールしたソフト(orアップデート)をダンプすることは可能ですか?

    • えむいー より:

      はい、可能です。

    • 匿名 より:

      もし時間があればやり方を教えてくれませんか?

    • えむいー より:

      ここの記事に書いてある通りなのですが、どこかで詰まられましたか?

    • 匿名 より:

      スプラトゥーン2のバージョン5.3.1(SDに入ってる)をダンプしたくてこの方法を試したのですが、
      スプラトゥーン2が出てこなかったのでSDは無理なのかなと思いました。
      もう一度しっかり読んで試してみます。

    • えむいー より:

      SDカードでのやり方、詳しく書けていなかったので記事にしますね。

    • 匿名 より:

      返信遅れてすいません
      ありがとうございます!!

  4. 匿名 より:

    こちらの記事を参考に、アップデータとDLCをCFWへインストールしましたが、
    「ソフトをあそべるかチェックしています。」と表示された後、「あそべない追加コンテンツがあります」と表示されてしまいます。
    ソフト自体は「このままつづける」を選択すれば起動できますが、DLCが使用できない状態です。

    なにか対応方法がございましたら、教えていただけないでしょうか。

    本体のFWは11.0
    deepseaは1.9.3

    ソフト→カードリッジ
    アップデータ、DLCはOFWよりダンプ

    インストールはGoldleafではなく、NSAinstallerを使用しました。

    よろしくお願い致します。

    • えむいー より:

      SysNANDからダンプしたNSPをEmuNANDで使おうとしているということで良いでしょうか?

      もしそうであれば、一度でもEmuNAND側を本体の初期化などを行っている場合には、ダウンロード版からダンプしたNSPはSigpatchなしにはインストールできず、DLCの場合は「遊べない追加コンテンツ」として認識されてしまいます。

      これに対応するためにはNSPの証明書をPersonalized TicketからCommon Ticketに切り替える必要があります。そして、この機能にHACGUIが対応していないため(海賊版対策のためらしいです)、実質的にHACGUIを使ってダウンロード版やDLCをダンプするのは意味がなかったりします。

      証明書の変換機能はNSC Builderなどが対応しているようですが、手順が少々複雑な上に自分はこのツールを使ったことがなく詳細はわかりかねます。

      簡単かつ確実なのはNXDumpToolを使う方法で、これであれば自分も何度もDLCやダウンロード版をダンプしてEmuNANDのCFWでの起動に成功しています。

      ただ、NXDumpToolはHomebrewなのでダンプしたいNAND(eShopに繋げられる)に対してCFWで起動する必要があります。つまり、CFW(SysNAND)で起動する必要があるということであり、ネットワークの設定を削除する等確実にインターネットに繋がらないようにしなければ、BANされてしまう可能性があります。
      その点だけが注意ではあるのですが、頻繁にダンプするようなこともないので実行の際にだけ気をつけていればこちらを使うほうが便利だと思います。

  5. 匿名 より:

    えむいーさん

    ご連絡ありがとうございます。
    一点確認させていただきたいのですが、
    NSPファイルにダンプする際、「include tickets」のチェックを外しても
    チケット切り替えは必要ということでしょうか?

    CFWの方はSigpatchをインストール済みで、上記のチェックを入れた状態と外した状態の
    両方を試しましたが、どちらも同じ結果となりました。

    別のDLCとなりますが、ニンテンドーアカウント連携済みで
    ダウンロードコンテンツインストール履歴のある状態でEmuNANDを作成したCFW(90DNS設定済み)
    については、正常に起動してます。

    知識不足で申し訳ございませんが、その辺の仕組みを教えていただけないでしょうか。

    • えむいー より:

      はい。HACGUIのinclude ticketsのオプションはチケットを同梱するだけで、チケットの切り替えは行いません。切り替えを行うにはNSC BuilderかNXDumpToolのどちらかを利用する必要があります(ひょっとしたら他にもあるかもしれませんが)

      Sigpatchは「偽のチケット(値が全部0x0か0xFだったはず)を受け入れる」というものですので、そうでないチケットに関しては「正規のもの」として何もしないため、Sigpatchを有効にしていても「遊べない追加コンテンツがあります」と表示されるDLCについては有効化できません。

      以下、推測を多分に含むことをご了承ください。

      詳しくは存じないのですが、DLCをダウンロードすると「ダウンロードしたユーザ」と「インストールしたDLC」の二つに紐つけてチケットが発行されるようで、起動時にはその検証が行われます。

      HACGUIはその二つのチケットのうち一方(おそらくDLCに対するチケット)しか同梱しないので、(チケット自体は正しいものなので)インストール自体は成功するものの「この本体(NAND)にはこのDLCをダウンロードしたユーザがいないので(ライセンスがなく)起動できない」と表示されてしまうのだと思います。

      ひょっとするとチケットを切り替えなくともLinkalhoやKefirのようにNSOアカウントと偽装リンクを貼るような仕組みでも「遊べない追加コンテンツ」のチェックをパスして起動できる可能性があるのですが、個人的にはNXDumpToolで十分要件は満たしているので今のところ未検証です。

  6. 匿名 より:

    えむいーさん

    丁寧なご説明有難うございます。

    やはり「include tickets」の有無にかかわらず、切り替えが必要なんですね・・・

    ご提案頂いた「CFW(SysNAND)で起動し、NXDumpToolを使用する」方法を試してみたいと
    思います。

    助かりました。有難うございます。

タイトルとURLをコピーしました