2016年6月17日金曜日

無料で .NET アプリを難読化

.NET では逆アセンブルが容易です。.NET Reflector などを使えば簡単にコードが見られます。有償ソフトウェアでは死活問題にもなります。そこで生まれたのが難読化です。

Microsoft も難読化が必要としており、Visual Studio には Dotfuscator の簡易版が同梱されております。ただし簡易版は最低限の難読化のみで文字列の暗号化などは行えません。Professional 版のライセンスは日本で購入するとマシンライセンス1台とユーザーライセンス1人で ¥774,200(税抜) からになります。

無料の難読化ツール

  • ConfuserEx
    文字列の暗号化:対応
    オープンソース
  • DotNet Patcher
    文字列の暗号化:対応
    オープンソース、開発終了?
  • NanDoKu
    文字列の暗号化:非対応
    日本語です
  • Obfuscar
    文字列の暗号化:対応
    オープンソース
  • Phoenix Protector
    文字列の暗号化:対応
    動作に .NET Framework 3.5 が必要
  • PreEmptive Dotfuscator and Analytics CE(Community Edition)
    文字列の暗号化:非対応
    Visual Studio に同梱されている簡易版
  • SharpObfuscator
    文字列の暗号化:非対応
    オープンソース、開発終了?

海外の有名どころは Wikipedia の .NET 用難読化ツールの一覧にまとめてありました。無料で一番高機能なのは ConfuserEx です。過去に無料だったツールも幾つかあります。

私は基本的な難読化と文字列の暗号化が行えれば良いので簡単な Phoenix Protector を使っています。

--2017.02.05
Wikipedia のページが消えていたので Internet Archive のリンクを貼っておきます。

■参考リンク
難読化が必要な理由
.NET 用難読化ツールの一覧 - Wikipedia
Silverlight アプリケーションを Dotfuscator で難読化する - Silverlight - ソーサリーフォース