2013年10月4日金曜日

nucをnutに変換する方法

フィナーレ等のスクリプト仕掛けのイベントをVscriptでいじり始めると、
公式で公開してくれているnutファイル以外にも、開いてみたくなるnucファイルが出てくると思います。
これをどうすれば手軽に中が見られるnutファイルに変換できるのか、その方法を紹介します。
コマンドプロンプトが苦手な人向けの解説です。慣れてる人はここを見るまでもないでしょうから。

まずどうしたらいいのか、ググってみて恐らく誰もが行き着くであろう場所はここ
なるほど下記のような記述があります。
Decrypting NUC files
.nuc files are ICE encrypted .nut files. The encryption key is SDhfi878. You can use VICE to decode them.
つまり、L4D2のNUCファイルはICEを使って「SDhfi878」のキーで暗号化されているので、
VICEというツールで同じキーを使えば暗号化を解除できますよ、という事ですね。
(なお、L4D2以外のゲームの暗号化キーに関しては、ここを参照して下さい。)

VICEはSteamをインストールしている方なら下記の場所に入っています。
steam\steamapps\ユーザー名\sourcesdk\bin\source2009\bin\vice3.exe
このSteam付属版も使えるのですが、私はスタンドアローン版のVICE3を使っています。
スタンドアローン版はここから、ページ下のOndra's PlaygroundをクリックでDLできます。

以下、このスタンドアローン版を「E:\vice3」に解凍したものとして使い方を説明します。
便宜上、ここでは変換したいNUCファイルを「c8m5_finale.nuc」としておきます。
  1. 変換したいnucファイル(c8m5_finale.nuc)をvice3が入っているフォルダに入れる。
  2. コマンドプロンプトを起動する。
  3. 「C:\Users\Admin>」のような状態から、「cd/d E:\vice3」と入力しエンター。
  4. 「E:\vice3>」の状態から、「vice3.exe -d -k SDhfi878 c8m5_finale.nuc」と入力しエンター。
  5. 「Handled file: .\c8m5_finale.nuc successfully.」と表示されたら成功。
  6. E:\vice3フォルダの中に「c8m5_finale.ctx」というファイルが生成されているので、拡張子を.ctxから.nutに直で変更します。
  7. c8m5_finale.nutの出来上がり。
あとは好きにテキストエディタで編集するなり観察するなり参考にするなりして下さい。