NScripter復号:「Yet Another nsdec」

 今回は作って配布しようと思ってたはいたけれど、いつの間にか忘れていたソフトです。この機会に蔵出ししておきます。

プログラムの概要

 Yer Another nsdecは、NScripterのスクリプトファイル「nscript.dat」を復号化して、人間が読む事の出来るシナリオファイルに変換するプログラムです。

 変換は高速で、数秒以内に終了します。

 GPLライセンスなので、ソースコードも公開しています。

ダウンロード

使い方

 NScripterのシナリオファイル(nscript.dat)をnsdec.exeと同じフォルダに配置し、「復号化.bat」を実行してください。すぐに終わり、result.txtという復号した結果が現れます。

 result.txtの修正等を行った後に「暗号化.txt」を行うと今度はその修正したスクリプトを再度暗号化できます。

解説

 元々のnsdec.exeは、表示に懲りすぎているためかいかにも「解析してる」っぽい感じは出てるんですが、いかんせん遅すぎます。

 そしてその復号化処理というのが、実は0x84とxorしてるだけの簡易的なものです。ので、普通に実装すればあそこまで時間は掛からずにすぐに復号が終わります…。

 友人が去年の夏ぐらいに「次の冬コミはNScripterでギャルゲー出すぜ!」とか言い出したので、サンプルソース集めのために作りました。でも結局、前回の冬コミのアレは私がスクリプト書いてます。

 NScripterなのですが、簡単な事を行うにはすぐに書けて良いのですが、ちょっと複雑な事をしようとすると一気に大変になる印象でした。難易度が指数関数的に上がります。(指数関数って言いたいだけ)

 プログラミング初心者が「簡単にゲーム作りたい」って言って作るのには全くお勧めしないです…。普通にRuby+SDLあたりが良いんじゃないかなあ…。