[Hack] Switch Hackで知っておきたい用語集

Hack

ファイルシステム

TrustZone

ARM型のCPUに含まれるセキュリティ技術のこと。

TrustZoneではセキュアOSが動作しており、仮想的に通常の環境とは切り離されている。

セキュアOSではユーザの個人情報などを保護しており、このセキュアOSにアクセスするにはARMを経由する必要があります。

この仕組みがかなり強固で、実行OS側のROOT権限をもっていてもセキュアOSから情報が盗めないようになっています。

Exploit

Hackするために必要な脆弱性のうち、実際に利用可能なものを指す。

利用可能かどうかはわからない脆弱性はVulnerabilityと呼ばれ、区別されることに注意。

未対策基板のニンテンドースイッチにはFusée Geléeと呼ばれるBootROM脆弱性が存在する。

以下、今まで発見された脆弱性の一覧。

Nameavailable
Jamais vu1.0.0
Déjà Vu1.0.0 – 4.1.0 (7.0.1)
Fusée GeléeAll firmwares
Nereba1.0.0 – 3.0.0
PegaSwitch1.0.0 – 3.0.0

BootROM

システム起動時に最初に呼び出される命令が書き込まれているメモリのこと。

ROMはリードオンリーメモリの略なのでROMはソフトウェア・アップデートで書き換えることができず、ここに存在する脆弱性は絶対に塞ぐことができない。

なのでFusée Gelée脆弱性は将来の如何なるバージョンでも有効です。

RCM

リカバリーモードのこと。

初期のニンテンドースイッチにはTegraGPUに脆弱性があり、RCMから自作プログラムを起動させることができます。

有名な自作プログラムとしてhekateがあり、CFWなどはそのhekateを経由して起動するケースが多いです。

RCMジグ

RCMに入るためには特定のピンをショートさせる必要があるのですが、RCMジグを使えばジョイコンの代わりにスイッチにつけるだけで、勝手にピンをショートしてくれます。

すごく便利なのでこれは持っておいたほうがいいと思います。

hekate

RCMから起動できるユーティリティツールのこと。

  • CFWの起動
  • NANDのバックアップ
    • EMUNANDの作成
  • BOOT1/2のバックアップ
  • FUSEのバックアップ

など(ここにかいたのはほんの一部)ができる。

最も使うのはCFWの起動とNANDのバックアップだと思います。特にNANDのバックアップは万が一のブリックに備えて必ずとっておくこと。

Brick

Brick(ブリック)とはレンガのこと。

起動しなくなり、復旧もできずに詰んだ状態を指します。

起動できないただの置き物と化すので、海外ではこの状態をレンガと例えてBrickと呼びます。

NANDのバックアップを取っていないと、Nintendo Switchはブリックする可能性があります。

ただ、RCMはBootROMが起動できれば必ず起動できる(しかもBootROMは読み込み専用なのでソフトウェア的な改造で壊れる心配がない)ので、ハードウェア的にぶっ壊れない限りはNANDのバックアップがあれば必ず復元できます。

CFW

カスタムファームウェアのこと。

公式が配布しているシステムファームウェアを改造して自作プログラムが動作するようにしたもの。当然、公式は未公認なのでインストールしているのがバレると本体の修理を拒否されたりします。

CFWとしてはatmosphereやSXOSなどが有名ですね。

atmosphere

Githubで公開されているオープンソースのCFWのこと。

更新がものすごく速いことで有名です。

デフォルトだと署名のないNSPの起動に対応していないので追加パッチ(sigpatch)を充てる必要があります。もちろん、海賊版を起動するために使うのはご法度。

Kosmos

Micro SDに展開するだけでCFW(atmosphere)が起動する環境が整えられるパッケージのこと。

Stock

LFSが動作しない状態のCFWのこと。

当然、FTPなどのプラグインも全て動作しない。

OFWと殆ど意味は同じだが、こちらはRCMを経由して起動する点が異なる。

また、RCMを経由するのでヒューズチェックをバイパスできるのも特徴。

OFW

公式のファームウェアのこと。

RCMを経由せずに起動すると必ずSYSNANDのOFWが起動します。

Fuse

ニンテンドースイッチはCPU内にヒューズシステムが備わっており、システムアップデート後にOFWを起動することでヒューズが焼かれる仕組みがあります。

これにより、一度でもOFWとして起動したことがあるバージョンよりも低いバージョンのシステムファームウェアがインストールされている場合に起動しなくなります。

これに関してはGIGAZINEさんがものすごくわかりやすい解説を載せてくれているのでそちらを参照。

ちなみに、RCMから起動すればこのヒューズチェックをバイパスできるので、起動は多少手間ですがいくらでもダウングレードできます。

ただ、低いバージョンだとどのみちオンラインには繋げられないのであまり意味のない機能かもしれません。

NAND

ものすごく大雑把にいえば主記憶メモリのことで、ここにデータを保存します。

NANDにはDRAM、SRAM、NVRAMなど様々な種類があるのだが、ここではニンテンドースイッチの内部メモリとして採用されているNVRAMについて論ずる。

はじめに、ニンテンドースイッチのNANDは容量が32GBで固定です。

システムが予約していて使えない領域があるので、実際にユーザが使えるのは23GBくらいです。なのでダウンロード版のスマブラSPなどを本体にインストールするとそれだけでかなり容量を使ってしまいます。

NANDはそれぞれの本体で固有のものですので、別のスイッチのNANDを流用したりはできません。別のスイッチのNANDでリストアすればブリックします。

SYSNAND

システムのNANDのことで、OFWで起動すれば必ずSYSNANDが読み込まれます。

EMUNAND

NANDのエミュレートのことで、本体のNANDをバックアップしてあたかもSYSNANDで起動しているかのように見せかける仕組み、またはそのNANDのバックアップのことを指します。

EMUNANDをつかうことでCFWとOFWでセーブデータをわけることができるので、CFWで改造されてしまった不正なセーブデータを使ってOFWでオンラインに繋いでしまう心配がなくなります。

EMUNAND作成には最低でもSYSNANDと同じ32GBの空き容量を必要とするので64GB以上のMicro SDが必要です。

CFWを使っている以上は所持しているゲームをNSPに変換してSDカードにインストールすると思うので、当サイトでは128GB以上のMicro SDの購入を推奨しています。

LFS

Layered File Systemの略で、簡単にいえば本来のファイルシステムを上書きするような仕組みのこと。

CFWではこれが有効になっているので、本来のファイルを上書きしてMODパッチをあてたりチートしたりすることができる。

RomFS

LFSを使って置き換えるファイルのうち、参照されるファイルを置き換えるもの。

例えば、本来はりんごのテクスチャを読み込むはずなのに、りんごのテクスチャ自体の中身をバナナのテクスチャに置き換えたりする。

MODパッチやファイル置換などはこちらを用いる。

ExeFS

LFSを使って置き換えるファイルのうち、メインメモリ上の実行ファイル置き換えるもの。

IPSwitchやEdizonでのチートはこちらを用いる。

ファイルフォーマット

ニンテンドースイッチのファイルシステム

XCI

アイコン・タイトル・ゲームなど全てのデータが一つにまとめられたゲームカートリッジをダンプしたファイルのこと。

アップデートが含まれている場合もある。

XCIから直接ゲームを起動できるのは有料CFWであるSXOSだけなので、その他のCFWではeShop形式であるNSPに変換する必要がある。

NSP

アイコン・タイトル・ゲームなど全てのデータが一つにまとめられたファイルのこと。

NSPはeShop形式なので、CFWでは抽出したXCIから変換してインストールされたNSPををあたかもダウンロード版のようにして起動する。

NSPはインストール時にその情報が本体に刻まれるのでNANDがクリーンな状態でなくなるので、NANDが汚れるなどといったりする。

NSPをインストールする前に必ずクリーンなNANDのバックアップをとっておきましょう。

NCA

ZIP形式のようにいろんなファイルを格納した生データのこと。

これを解凍すればゲームを構成するファイル全てを見ることができます。

解凍にはTitle Keyが必要なのでLockpickなどで鍵を取り出す必要があります。

NSO

ニンテンドースイッチにおける実行ファイルのこと。

Windowsにおけるexeファイルというと伝わりやすいかもしれない。

ゲームを解析するときにはNSOをELFと呼ばれる形式に変換することが多いです。

ELF

NSOを変換したファイルのことで、アセンブラで書かれている中間ファイル。

NSOよりも解析しやすいが、NSOを直接読み込めるNSO Loaderなどもあるので好きな方を使えばいいと思います。

コメント

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