NSOをELFに変換して分析しよう

Hack

NSOとは

NSO - Nintendo Switch Brew

Nintendo Switchの実行ファイルのこと、詳しくはwikiを参照。

ここを見ることでゲームの全てを明らかにできるはずです。

NSOの展開の仕方

まず初めに、Splatoon2のゲームデータをダンプする必要がある。

その手順については各ページで紹介されていると思うのでここでは割愛します。

Releases · aboood40091/SARC-Tool
Tool for extracting and packing SARC files present in Nintendo EAD games. - aboood40091/SARC-Tool

ダンプしたデータであるxciをsarc_toolなどで展開すればmainファイルが取り出せます。

取り出したNSOは暗号化されているのでこれを使ってELFに変換します。

Releases · tkgstrator/nx2elf
The tool to convert NSO to ELF. Contribute to tkgstrator/nx2elf development by creating an account on GitHub.

MK8DXだけ何故かエラーがでて読み込めません。

これでNSOをELFに変換することができました。

逆アセンブラを用意する

実行ファイルであるELFはそのままでは機械語とよばれる言語で書かれているため、人間には扱うのが難しいです。

機械語をアセンブリとよばれる(機械語に比べたら)比較的人間にも読みやすいコードに変換するツールが必要となります。

Pro版は1000ドル以上もするので普通は評価版を使うことになります。

GHIDRAを使うのが無料で手っ取り早いのでそれを使いましょう。

コメント

  1. ひとえのきわみ より:

    結局IDAプロ買ったんですか!?

    • me より:

      普通に10万円以上するので買えていません…

      https://ghidra-sre.org/

      で入手できるGHIDRAがとても便利で、正直もうIDA Proは要らないのではというレベルなのでご検討いかがでしょうか?

  2. Switch.wiiu.hack より:

    SARC-Toolの使い方結局分かりませんでした。
    教えてくださると嬉しいです。

    • Switch.wiiu.hack より:

      SARC-Toolの使い方結局分かりませんでした。
      教えてくださると嬉しいです。(2回目)
      調べましたが、分からなかったんです…

    • me より:

      https://tkgstrator.work/?p=12500

      こちらの記事で解説しているのでどうぞ。
      ただ、SARC toolの使い方が自力でわからないようだとこの先の移植などは結構厳しい気がします。

  3. 匿名 より:

    自分のpcは確かに64bitでした。ですが、やはりelfに変換されません。なぜですか?

    • えむいー より:

      D&Dすると元のNSOと同じ場所にELFが生成されるのですが、確認しているフォルダは合っていますか?
      5.1.0のmainは23,432KBなのですが、合っていますか?

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