このページでは、Dotfuscator Community の機能に焦点を当てます。 Dotfuscator Professional ではさらに多くの機能が提供されます。詳細については、Professional へのアップグレードを参照してください。
Visual Studio ユーザーは Dotfuscator Community を使用すると、元のソース コードにアクセスしなくても、アセンブリを難読化したり、アクティブな防御などの機能をそれらの .NET アプリケーションに差し込んだりすることができます。 Dotuscator は階層化された保護戦略を作成することで、アプリケーションを複数の方法で保護します。
Dotfuscator Community では、広範な .NET アセンブリとアプリケーションの種類(Xamarin など)がサポートされています。
Dotfuscator をインストールすると、Visual Studio から便利なユーザー インターフェイスに直接アクセスできるようになり、 必要に応じてその都度、Dotfuscator の保護を設定、カスタマイズ、および適用することができます。 登録ユーザーになれば、柔軟なコマンド ライン インターフェイスを使用して、ユーザー自身のビルドに Dotfuscator を統合することもできます。
知的財産の保護
アプリケーションの設計、動作、および実装は、いずれも一種の知的財産(IP)です。 しかし、.NET 用に作成されたアプリケーションは基本的に公開されています。.NET アセンブリには高度なメタデータと中間コードが含まれているため、.NET アセンブリをリバース エンジニアリングすることは簡単です。
Dotfuscator Community には、名前の変更という形での基本的な .NET の難読化機能が含まれています。 Dotfuscator を使用してコードを難読化すると、重要な名前付け情報が公開されなくなるため、リバース エンジニアリングで、アプリのコードに不正アクセスされる危険性が減少します。 また、コードを調査されないようにするお客様側の取り組みも明らかになります。これは、お客様の IP が営業秘密として法的に保護されていることを示す貴重な一歩です。
Dotfuscator のアプリケーション整合性保護機能の多くを使用することで、リバース エンジニアリングがさらに阻止されます。 たとえば、悪意のある者が、プログラム ロジックを理解するためにアプリケーションの実行中のインスタンスにデバッガーをアタッチしようとするかもしれません。 そうされないように、Dotfuscator により、アプリケーションにデバッグ対策の動作を差し込むことができます。
アプリケーションの整合性保護
重要なこととして、リバース エンジニアリングからアプリを保護することだけでなく、アプリケーションが設計したとおりに使用されるようにすることがあります。 攻撃者は、ライセンス ポリシーの迂回(つまり、ソフトウェアの違法コピー)、アプリケーションが処理する秘密データの盗み取りや操作、アプリケーションの動作の変更を行うために、アプリケーションを乗っ取ろうとする場合があります。
Dotfuscator では、アプリケーション検証コードをアセンブリに差し込むことができます。 このコードには、改ざん対策、デバッグ対策、ルート化されたデバイス対策があります。 無効なアプリケーション状態が検出されると、検証コードは適切な方法で状況に対応するようにアプリケーション コードに要求します。 あるいは、アプリケーションの無効な使用を処理するコードを作成したくない場合は、Dotfuscator によりレスポンスの動作を差し込むことで、ソース コードを変更しないで済むようにもできます。
これらの方法の多くは、評価版、試用版のソフトウェアの使用期限を設定するのにも使用できます。