.NET アプリケーションは、多くのチームが予想するよりも簡単に解析できます。.NET アプリケーションは MSIL(Microsoft Intermediate Language)にコンパイルされるため、逆コンパイラを使用すると、コンパイルされたアセンブリを読み取り可能なコードに逆変換できることがよくあります。
これにより、次のようなアプリケーションの機密性の高い部分が露出してしまう可能性があります。
- ライセンス ロジック
- コピー保護メカニズム
- 所有権を有するビジネス ロジック
- セキュリティに関わる実装の詳細
- 製品に価値を与える知的財産
Dotfuscator は、コンパイル後のアプリケーションに対して保護を適用することで、このリスクを軽減します。
Dotfuscator による保護
Dotfuscator は、コンパイルされた .NET アセンブリの理解、リバース エンジニアリング、改変、または再利用を困難にすることで保護します。
難読化は、アプリケーションの意図された動作を保持しながら、コンパイルされたコードの構造と可読性を変更します。たとえば、Dotfuscator はシンボルの名前の変更、制御フローの変換、その他の保護技術を適用することで、逆コンパイルされた出力の解釈をより困難にすることができます。
Dotfuscator は、次のような不審な状態を検出するランタイム チェックを追加することもできます。
- デバッグ
- 改ざん
- ルート化された Android デバイスでの実行
これらの保護機能により、アプリケーションの解析や不正な改変に対する耐性を高めることができます。
コンパイル後の保護
Dotfuscator はコンパイル後のツールです。ビルド プロセスによって作成される .dll ファイルや .exe ファイルなどの .NET アセンブリを保護します。Dotfuscator では、アプリケーションの保護を開始するためにソース コードや開発環境を変更する必要はありません。
Dotfuscator を使用する場合と使用しない場合の典型的なビルドプロセスは次のとおりです。
保護されたアセンブリは、実行時の動作を変更する保護設定を意図的に構成しない限り、標準アセンブリと同様に共通言語ランタイム(CLR)で実行されます。
Dotfuscator を使用するタイミング
Dotfuscator は、リリース前に .NET アプリケーションの保護に役立てたい場合、特にアプリケーションに次のものが含まれている場合に使用します。
- 商用ロジックまたは企業ロジック
- ライセンスまたは権利の確認
- 機密性の高いワークフロー
- ユーザーがローカルでアクセスできるモバイルまたはデスクトップのコード
- 解析や再利用を困難にする必要がある知的財産
Dotfuscator は、安全なコーディング手法やアクセス制御、サーバー側の検証に取って代わるものではありません。その代わりに、コンパイルされたアプリケーション コードに対して、もう 1 つの保護レイヤーを追加します。
次のステップ
Dotfuscator Professional の使用を開始するには、以下を行います。
- サポートされているフレームワークと開発ツールを確認する。
- システム要件を確認する。
- アクティブ化の手続きを確認する。