.NET アセンブリの難読化ツール

.NET アセンブリ.NET Reflector 等で簡単に逆コンパイルできてしまいますが、それを防ぐために難読化が行われます。今回はどの様な難読化ツールがあるのかを調べてみました。探してみると有料無料 (無償) あわせてたくさんあるみたいですね。ブックマーク的な意味合いも含めて、有料と無料 (無償) とに分けてまとめておきたいと思います。

有料の難読化ツール

これらのソフトウェアは識別子を読めない文字に変更することや、文字列の暗号化、アンチ逆コンパイラ (アンチ逆アセンブラ)、余分なコードの除去、スタックトレースの復号化などが利用できます。詳細な比較は行いませんが、だいたいこれらの機能が利用できるようです。

無料 (無償) の難読化ツール

フリーで利用できる難読化ツールです。

NanDoKu

和製で基本的な識別子の名前変更ができます。商用利用もできるようです。

Eazfuscator.NET

ドラッグドロップで簡単に難読化できます。基本的な難読化に加えて、文字列の暗号化やコードの最適化などができます。Silverlight にも対応しています。

Phoenix Protector

こちらも識別子の名前変更や文字列の暗号化が可能です。

Babel.NET Free Edition

基本的な難読化から、文字列の暗号化や無効なコードの埋め込みなどが利用できます。

Skater .NET Obfuscator Freeware Light Edition

有料版の機能をは使えませんが、基本的な難読化ができます。

オープンソース

オープンソースで開発されている難読化ツールです。

さがせばまだまだ出てきそうですが、このあたりでやめておきます。
デコンパイリングJava ―逆解析技術とコードの難読化