名前の変更の使用

コンパイルされた .NET アプリケーションには、メソッド名、型名、プロパティ名など、ソースの元の識別子の名前がすべて含まれているため、すぐにリバース エンジニアリングすることができます。これにより、シンプルなドラッグ アンド ドロップ ツールを使用して、元のソース コードのほぼ完全なコピーを簡単に取得できます。

PreEmptive Protection - Dotfuscator Community Edition には、名前の変更による難読化という、コンパイル済み .NET アプリケーション内の型、フィールド、プロパティ、メソッド、およびパラメーターの名前を変更する機能が備わっています。わかりやすい名前(`ComputeGdp` など)を有効ではあるが意味のない名前(`a` など)に変更すると、この変換によってリバース エンジニアリングがはるかに困難になります。攻撃者はアセンブリを逆コンパイルしても、コード要素の意味や相互の関連性に関する重要な情報を見つけられなくなるでしょう。

名前の変更は強力な保護の方法であり、簡単に有効にすることができますが、すべての実行時の動作に影響を与えることがないよう、最終的なアプリケーションを慎重にテストする必要があります。これは、アプリケーションやフレームワークの中には、実行時に元の名前を持つ特定のコード要素を使用するものがあるのに、名前の変更はそれらの名前を変更してしまうからです。

Dotfuscator はほとんどのアプリケーションにおいて、名前変更の対象から除外する必要のある項目の大部分を自動的に識別し、それらの対象除外を自動的に適用します。これには、リフレクションやデータ バインドなどの一般規則や、[組み込み規則]タブに表示される特定の規則も含まれています。

Dotfuscator Professional には、拡張オーバーロード誘導のような強力な名前変更機能だけでなく、その他多くの難読化変換や、アプリケーションを盗難、改ざん、偽造から保護するための追加の手段も備わっていることに留意してください。Dotfuscator CE と Professional の比較はこちらでご覧いただけます。また、いつでも Dotfuscator Professional を評価していただけます。