[完全版] NXDumpToolの使い方

NXDumpTool

ニンテンドースイッチのみでゲームカートリッジおよびアップデータをNSPとして抽出したり、ExeFSやRomFSを展開できる便利すぎるツール。

Kosmosを使ってCFW環境を構築したのであれば最初から同梱されているので、特別何かをインストールしたりする必要はありません。

暗号化を解除する必要があるのでNXDumpToolを使う前にlockpickでキーを取得しておく必要があります。やり方についてはこの記事を参考にしてください。

NSPのダンプ

まだ自分でも全部は把握できていないのですが、おおよそ以下のようなフローチャートになっているようです。

NSPインストールの可否チェック

今回はnosigpatchを使っていない状態でNSPをインストールして正しく起動するための方法について解説します。

Ticket

Ticketはゲームカードごとに固有のものであり、ゲームのインストール時に本体に保存される証明書です。

逆に言えば、同じTicketをもつゲームが同時に起動しているということは、誰かがゲームカードをコピーして海賊行為を働いているということです。これが任天堂に検知されるとソフトBANされます。

The NSP has a ticket to be importedと書かれていたらTicketが同梱されています。ちなみにTitle keyとは関係ないよ。

nosigpatch

TicketがないNSPは本来はインストールすることができませんが、それを回避するためのKosmos用のパッチ(sigpatch)があります。

そのやり方についてはこの記事で詳しく解説しているのでどうぞ。

nosigpatchがあればticketがないNSPもインストールできます。

Common key

後述するRemove console specific dataを有効にした状態を指します。

NXDumpToolの設定

NXDumpToolの設定

Split output dump (FAT32 support)

SDカードがFAT32でフォーマットされており、4GB以上のアップデータやNSPを抽出するときはYesにしましょう。exFATの場合はNoで問題ありません。

Verify dump using No-Intro database

ファイル整合性をチェックしてくれますが、インターネット環境が必要になります。Noでも問題ありません。

Remove console specific data

Ticketにはpersonalized ticketとcommon ticketの二種類があるのですが、どうもeShopからダウンロードしたものにはpersonalized ticketが使われているようです。

どちらのTicketも有効なのでnosigpatchをあてていなくてもインストール可能なNSPになるのですが、personalized ticketは初回起動時にTicketの有効性をチェックするためにダンプした本体以外(EMUNANDも含む)にインストールして起動しようとすると、インターネット接続(ニンテンドーネットワーク)が要求されます。

CFW環境ではインターネット接続およびニンテンドーネットワーク接続はBANの原因となりかねないので、このチェックは回避したいわけです。

このRemove console specific dataのオプションはpersonalized ticketをcommon ticketに切り替えることでそのチェックをバイパスできます。

なので、よっぽど特別な場合を除いて常にYesにしておいて良いと思います。

というか、これがNoだとeShopからダウンロードしてNSP化するとその抽出した本体でしか起動できなくなります。

ちなみにゲームカートリッジからダンプしたNSPの場合は既にcommon ticketが使われていますが、ここをYesにしておいても問題ないそうです。

Change NPDM RSA key/sig in Program NCA

このオプションを無効化するとどのようなCFWでもNSPが正しく動作するためにACIDパッチが追加で必要になるとのこと。

ということは常にYesで良さそうです。

各設定でインストールしてみた

Specific dataticket-lessprogram NCA
YesNoNo
YesYesNo
YesNoYes
YesYesYes
NoYes
試してみた設定一覧

さすがに全通り試すのはめんどくさかったので、これだけしかやってませんが十分でしょう。

検証環境

  • FW 9.2.0 EMUMMC
  • Kosmos 15.6
Specific dataticket-lessprogram NCAResult
YesNoNo2155-8007
YesYesNo2002-4518
YesNoYes起動
YesYesYes2002-4518
NoYes2155-8007
試してみた設定一覧

というわけで、nosigpatchなしで起動しようと思った場合には三番目の設定にしなければいけないことがわかります。

まあ二番目と四番目はTicket-lessだからそもそもインストールできないんだけれども。

検証環境(nosigpatch)

  • FW 9.2.0 EMUMMC
  • Kosmos 15.6
  • nosigpatch
Specific dataticket-lessprogram NCAResult
YesNoNo起動
YesYesNo起動
YesNoYes起動
YesYesYes起動
NoYes2155-8007
試してみた設定一覧

nosigpatchを入れてみたところSpecific dataの項目をYesにしてcommon keyに切り替えてさえいればちゃんと起動することがわかりました。

まとめ

というわけで、nosigpatchを使わない前提であればNXDumpToolは以下の設定にしておくのが無難そうであることがわかりました。

オススメの設定

アップデータのダンプ

要望があれば追記予定。