改ざんチェックは、アプリケーションが Dotfuscator で処理された以降に変更されているかどうかを検出するタイプのチェックです。
たとえば、攻撃者が規制を回避したりライセンス情報を削除したりするようにアプリケーションのバイナリを変更した場合には、改ざんチェックはそのような変更を検出し、アプリケーションに通知したり、攻撃者を妨害したりして対応することができます。つまり、改ざんチェックはアプリケーションに対する不正な改ざんを検出して対応します。
改ざんチェックの構成
Dotfuscator でアプリケーションに改ざんチェックを差し込むには、次のようにします。
- 構成ファイルを使用するか、TamperCheckAttribute のアノテーションをソース コードに付けることにより、チェックを構成します。
これらのどちらの方法でも、チェックの動作を決めるさまざまなプロパティを指定できます。
詳細については、[チェック属性]ページの TamperCheckAttribute セクションを参照してください。
サポートされないアプリケーションの種類
Dotfuscator は、以下に挙げる .NET アセンブリ以外のすべての .NET アセンブリに改ざんチェックを差し込むことができます。
- .NET 1.0 を対象とするアセンブリ
- ネイティブ コードおよびマネージ コードを含んでいる Managed C++ アセンブリ
- マルチ モジュール アセンブリ
- .NET Compact Framework アセンブリ
- Xamarin アセンブリ
- UWP アセンブリ
- .NET Core アセンブリ
- .NET 5 以降のアセンブリ
テスト
アプリケーションに差し込まれた改ざんチェックがアセンブリの改ざんに対応する動作をテストするために、Dotfuscator には TamperTester.exe というコマンド ライン ユーティリティが付属しています。このユーティリティは、アセンブリのメタデータを変更することにより、改ざんをシミュレートします。このユーティリティの詳細については、Dotfuscator Professional バージョンの説明をご覧ください。