[Hack] アップデータの解析

Hack

HACGUI

アップデータはHACGUIを使って取得するのが一般的です。

ダンプしたアップデータはNSPかNCA形式のどちらかなので、それをまずは展開しましょう。

NSP to NCA

Releases · SciresM/hactool
hactool is a tool to view information about, decrypt, and extract common file formats for the Nintendo Switch, especially Nintendo Content Archives. - SciresM/h...

XCIとNSPからNCAを抽出するためにはprod.keys(プロダクトキー)とtitlekey(タイトルキー)が必要になります。

これは以下の記事で取得方法を書いているのでどうぞ。

取り出した二つのキーをパソコンの特定の場所にコピーします。

C:\Users\"UserName"\.switchっていう場所になります。

こんな感じでファイルを配置

何故この作業が必要かというとhactoolは自身が鍵情報を持ってなくて、このフォルダにファイルがあると決め打ちして動いているからなんですよね。

NSPからNCAを取り出すのは多分ドラッグアンドドロップだけでいけるのですが、いけなかった場合は以下のコマンドを叩いてみてください。

hactool -t pfs0 --pfs0dir=nca <NSP File Name>

できたらncaというフォルダの中に3GBくらいのでかいファイルがあると思うので好きなファイル名をつけましょう。

個人的にはバージョンに合わせて510.ncaとか100.ncaがオススメです。

3GBくらいのファイル以外は全ていらないので消しちゃってオッケーです。

NCAの抽出

アップデータ解析には1.0.0のNCAが必要です

さて、無事に解析したいバージョンのNCAと1.0.0のNCAが取り出せたとします。

ここでは仮に510.ncaと100.ncaというファイル名をつけていたとしましょう。

そのとき、以下のコマンドを叩けばアップデータの中身が全て出力できます。

もしも差分だけが取りたい場合は--onlyupdatedのオプションをつけてください。

hactool 510.nca --basenca 100.nca --exefsdir=exefs --romfsdir=romfs

hactool 510.nca --basenca 100.nca --exefsdir=exefs --romfsdir=romfs --onlyupdated

このとき、あたりまえですが510.ncaと100.ncaはhactoolと同じ場所においておきましょう。

ファイル展開中
ファイルの展開に成功!
とりだせたファイル

なんかエラーでるかもしらん、でたらゴメンね(てへぺろ

コメント

  1. みかん より:

    すみません。
    updataファイルまで行けたんですけどその後がよく分かりません…

  2. me より:

    updateからncaへの展開まではできたということでしょうか?

  3. あほ より:

    初期バージョン1.0.0ってどこで入手できますかね

    • 匿名 より:

      ゲームカートリッジに入っているのが1.0.0なのでWAIN DUMPERなどで取り出せます。

  4. みみ より:

    NXDumpToolで1.0.0と5.1.0のNSPを取り出して。.switchにキーを入れてドラッグアンドドロップをしてもncaを取り出せませんでした。間違ってる箇所はありますか?

    • えむいー より:

      それだけではなんとも言えません。
      ログ等を教えていただけませんか?

  5. 匿名 より:

    できないことがあるので教えてください。
    本体9.2.0 CFW kosmos 15.3
    NXDumpToolでスプラトゥーン2のbaseと5.1.0のNSPを取り出して、Lockpickでprod.keysとtitlekeyを取り出してCopy.batでコピー、hactool 1.3.1にドラックアンドドロップしてもコマンドプロントが一瞬表示されるだけでncaが取り出せないので、hactoolと同じフォルダーにNSP(100.nsp)をおいて、コマンドプロントで
    hactool -t pfs0 –pfs0dir=nca 100.nsp
    を打ちましたが、
    [WARN]: Failed to match key “bis_kek_source”, (value 〇〇)
    [WARN]: Failed to match key “bis_key_00”, (value 〇〇)
    [WARN]: Failed to match key “bis_key_01”, (value 〇〇)
    [WARN]: Failed to match key “bis_key_02”, (value 〇〇)
    [WARN]: Failed to match key “bis_key_03”, (value 〇〇)
    [WARN]: Failed to match key “bis_key_source_00”, (value 〇〇)
    [WARN]: Failed to match key “bis_key_source_01”, (value 〇〇)
    [WARN]: Failed to match key “bis_key_source_02”, (value 〇〇)
    [WARN]: Failed to match key “device_key”, (value 〇〇)
    [WARN]: Failed to match key “device_key_4x”, (value 〇〇)
    [WARN]: Failed to match key “eticket_rsa_kek”, (value 〇〇)
    [WARN]: Failed to match key “eticket_rsa_kek_source”, (value 〇〇)
    [WARN]: Failed to match key “eticket_rsa_kekek_source”, (value value 〇〇)
    [WARN]: Failed to match key “retail_specific_aes_key_source”, (value 〇〇)
    [WARN]: Failed to match key “rsa_oaep_kek_generation_source”, (value 〇〇)
    [WARN]: Failed to match key “rsa_private_kek_generation_source”, (value 〇〇)
    [WARN]: Failed to match key “save_mac_key”, (value 〇〇)
    [WARN]: Failed to match key “save_mac_sd_card_kek_source”, (value 〇〇)
    [WARN]: Failed to match key “save_mac_sd_card_key_source”, (value 〇〇)
    [WARN]: Failed to match key “sd_card_custom_storage_key_source”, (value 〇〇)
    [WARN]: Failed to match key “sd_seed”, (value 〇〇)
    [WARN]: Failed to match key “ssl_rsa_kek”, (value 〇〇)
    [WARN]: Failed to match key “ssl_rsa_kek_source_x”, (value 〇〇)
    [WARN]: Failed to match key “ssl_rsa_kek_source_y”, (value 〇〇)
    unable to open 100.nsp: No such file or directory 〇〇は英数
    とでてなにもなりません。何か違いますか?
    長文失礼

    • えむいー より:

      title.keyかprod.keyをhactoolと同じフォルダに配置されているでしょうか?

      また、少し余計に時間はかかりますがNXDumpToolにはRomFSを展開する機能がそもそも備わっているのでそれを利用する手もあります。
      RomFS options->RomFS section data dumpでNSPを展開することが出来ますのでもしよければこちらもお試しください。

    • 匿名 より:

      返信していただいていたのに気づかずすみません。返信いただいた内容をして出来なかったらまた相談します。
      僕のやってることが合ってるか分からないので、一応伝えておきます。最終的Mush.release.packを弄れたらいいのですがやってることはあってますかね?

    • えむいー より:

      はい。Mush.release.packを弄りたければ以下の手順が必要です。

      1. 1.0.0のNSPをダンプ
      2. 5.1.0のNSPをダンプ
      3. hactoolで5.1.0と1.0.0のNSPをNCAに変換
      4. hactoolで5.1.0と1.0.0の差分を展開
      5. 差分として取得したファイルの中にMush.release.packがある
      6. sarctoolでMush.release.packをbprmファイルに展開
      7. the4dimensionなどでbprmファイルをxmlに変換
      8. xmlを編集し、再度the4dimensionでbprm化
      9. bprmをSDカードのromfsフォルダ内の適切な場所にコピー

      今回、NXDumpToolを使えば1-5の手順が省略してMush.release.packを取得できます。
      7-8はBPRM Editorのようなツールを使えば復号化は不要です。

  6. 匿名 より:

    [URL判定]

    • えむいー より:

      URL先の質問拝見しました。
      いまちょうどMacOSで起動していてこちらでチェックが行えないので数時間後にコメントしますね。

  7. 新人(元匿名) より:

    長文書いていただきありがとうございます。
    1から5は書いていただいた通りに出来ました。
    6は展開するとbymlという拡張子になりましたが大丈夫でしょうか?
    7はthe4dimensionの記事を見ましたが、バッチファイルのところがよく分からず、bymlをthe4dimension.exeにD&Dしてxmlで保存しました。
    8はxmlをテキストエディタで編集し、
    先程と同じく記事通りに使えず、the4dimension.exeにD&Dしてbymlで保存。
    9はWeaponInfo_Main.release.bymlを入れる適切な場所とはromfsフォルダのどこでしょうか?
    まとめると
    Mush.releas.packを展開するとbprmではなくbymlになる。
    the4dimensionでbyml(bprm?)を展開、暗号化する方法がよく分からないので使い方を詳しく教えてほしい。
    romfsフォルダ内の適切な場所とはどこでしょうか?
    以上です。ご指摘お願いしますm(_ _)m

    • えむいー より:

      スプラトゥーン2で使われる暗号化済みXMLファイルには(BYML, BPRM, BYAML)の三種類がありますが、本質的には同じもので拡張子を変えるだけで正しく読み込むことができます。

      T4Dの使い方とファイルの配置場所について記事を書きましたので一度こちらを読んでみてはいただけないでしょうか?またわからなければご質問おねがいします。

    • 新人 より:

      わざわざ記事を書いていただいてありがとうございます!
      やってみて分からないこと、出来ないことがあれば、新しく書いていただいた記事の方にコメントさせていただきます。

  8. より:

    hactoolにNSPファイルをD&Dしたんですけど、NCAファイルが出できません。
    なぜでしょうか?
    https://github.com/SciresM/hactool/releases
    これです

  9. より:

    hactoolにNSPファイルをD&DしたのにNCAファイルが出ません。
    ちなみにダンプはNXDumpToolを使いました。
    NCAファイルが出ないというのは、NSPファイルをD&Dしたときhactoolがついて、すぐに消えてNCAファイルも出できませんでした。
    どうしてでしょうか?

    • えむいー より:

      NSPをNCAに復号するためにはprod.keysが必要なためです。

      hactoolを使わなくてもNXDumpToolでromfsは全て復号できるのでそちらのほうが楽だと思います。

  10. より:

    といいますと、prod.keysもダンプしました。
    それでもできませんでした、あとそのNXDumpToolでRomfsを復号するとはどういう意味でしょうか?

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