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

NSOとは

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

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

NSOの展開の仕方

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

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

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

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

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

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

逆アセンブラを用意する

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

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

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

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