NSZ ファイル形式とは?
.nsz は Compressed Nintendo Switch Package です。これは、Nintendo Switch で使用される .NSP ゲームパッケージ形式をコミュニティが作成したロスレス圧縮バリアントです。2019年に開発者の nicoboss 氏によってオープンソースの NSZ ツールを介して導入されました。これは任天堂の公式形式ではありませんが、自作ソフト(Homebrew)やエミュレーションコミュニティで広く採用されています。
構造的に、.nsz ファイルは PFS0 パーティションコンテナ(.nsp と同じ基盤形式)であり、各 NCA (Nintendo Content Archive) ペイロードが Zstandard (zstd) ロスレスアルゴリズムを使用して .ncz ファイルとして再圧縮されています。各 .ncz エントリの最初の 0x4000 バイトは、元の暗号化された NCA ヘッダーからそのまま保持され、その後にブロック圧縮されたペイロードセクションが続きます。ファイルはバイトオフセット 0 に PFS0 マジックシグネチャ (50 46 53 30) を持ち、これは標準の .nsp と同一です。
圧縮により、通常 40〜80% のサイズ削減が達成されますが、完全にロスレスです。.nsz を解凍すると、元の .nsp がバイト単位で完全に再現されます。CNMT メタデータ NCA に埋め込まれた SHA-256 整合性ハッシュにより、解凍後の正確性が検証されます。.nsz 形式は .XCZ と .XCI の関係を反映しており、どちらのペアもそれぞれパッケージソースとカートリッジソースからの圧縮済み対未圧縮の Switch ゲームイメージをカバーしています。
最新の Ryujinx 系エミュレータは、事前の解凍ステップなしで .nsz ファイルを直接ロードできます。nsz コマンドラインツールや NSC_BUILDER などの GUI ユーティリティは、Windows、Linux、および macOS での圧縮と解凍の両方をサポートしています。
セキュリティと安全性
リスク: MEDIUMNSZ 形式自体はデータであり、実行可能コードではないため、ファイルが PC 上で «実行» されることはありません。本当の問題は法的および運用的なものです。NSZ を使用するにはコンソールの暗号化キー (prod.keys) が必要であり、内部のゲームは著作権で保護されています。法的にダンプされた自分のゲームを圧縮することだけが正当な使用法であり、他人の Switch ゲームをダウンロードまたは共有することは海賊行為です。実用面では、NSZ ツールは公式の GitHub (nicoboss/nsz) からのみ入手してください。«NSZ 変換/閲覧» サイトやバンドルされたインストーラーは、この界隈では一般的なマルウェアやアドウェアの餌食です。また、本物の Switch で海賊版コンテンツを実行すると、任天堂による本体の BAN リスクがあります。
形式の詳細
概要- NVIDIA nTune ベンチマークファイル (レガシー) - 廃止された NVIDIA の nTune オーバークロックツールからの古いベンチマーク/プロファイルデータ。
- Nullsoft / 汎用圧縮データ (稀) - 無関係なツールによって汎用的な «圧縮済み» マーカーとして時折見られる。
NSZ ファイルを開くプログラム
技術的詳細
詳細仕様| コンテナ形式 | PFS0 パーティションファイルシステム - .nsp と同一のヘッダー構造 |
| ファイルシグネチャ (マジックバイト) | PFS0 (0x50 0x46 0x53 0x30) バイトオフセット 0 |
| バイト順序 | リトルエンディアン |
| 内部ペイロードタイプ | NCA ファイルが .ncz エントリ(Zstandard 圧縮された NCA)に置き換えられている |
| NCZ ヘッダーの保持 | 各 .ncz エントリの最初の 0x4000 バイトは、元の暗号化された NCA ヘッダーをそのまま保持 |
| 圧縮アルゴリズム | Zstandard (zstd) - ロスレス |
| 典型的な圧縮率 | ゲームの内容に応じて、元の .nsp と比較して 40〜80% のサイズ削減 |
| ブロックモード圧縮 | 新しい .ncz エントリは、フルデコードなしでランダムアクセス解凍を行うためにブロックベースの Zstandard を使用 |
| 整合性検証 | CNMT メタデータ NCA 内の SHA-256 ハッシュにより、解凍後の各 NCA ペイロードを検証 |
| 暗号化モデル | NCA コンテンツは Zstandard 再圧縮前に復号される。タイトルキーと証明書チケットはコンテナ内に保持される |
| 典型的なファイルサイズ | 圧縮後 200 MB 〜 15 GB(大規模なタイトルは圧縮後も数 GB 残る) |
| MIME タイプ | application/octet-stream |
| ロスレス・ラウンドトリップ | NSZ を解凍すると、ソースの NSP がビット単位で完全に再現される |
| ネイティブエミュレータサポート | Ryujinx 系エミュレータは、事前の解凍を必要とせずに .nsz を直接解析する |
| 形式の起源 | nicoboss 氏によって作成されたコミュニティ形式。任天堂の公式形式ではない |
| リリース日 | 2019 (NSZ tool by nicoboss) |
| 最新バージョン | Tracks the NSZ tool releases (actively maintained on GitHub) |
| オープンスタンダード | はい · ロイヤリティフリー |
| 仕様書 | github.com |
NSZ の変換
コミュニティ Q&A
ユーザーからの質問まだ質問はありません。NSZ ファイルについて最初の質問をしてみましょう。