Dotfuscator クイック スタート ガイド

除去(別名、不要コードの除去)

概要

Dotfuscator は、アプリケーションを静的に分析して、実際には使用されていない部分を判別できます。この機能は、使用されていない型、メソッド、およびフィールドの検索機能を含んでいます。この機能は、アプリケーションのサイズが問題となる場合、特に再利用可能なコンポーネントからアプリケーションをビルドしているような場合には非常に有益です。

制限

除去で生じる可能性のある問題は、名前の変更で生じる可能性のある問題と非常に類似しています。Dotfuscator は、ある特定のメソッド(リフレクション / XAML など)が呼び出されていることを見分けられない場合、実行時に必要とされるものを削除しようとすることがあります。

対象

可能な対象選択は 2 種類あり、どちらも特定の対象選択およびカスタム規則によって制御することができます。

メソッド A() がメソッド B() を呼び出すアプリケーションを考えてみましょう。

  • 対象トリガー:メソッドを対象トリガーとして選択した場合、Dotfuscator はそのメソッドを保持するだけでなく、そのメソッドのあらゆる子孫を Dotfuscator が調べるコール グラフに保持するようにします(この場合も、リフレクションのようなものをスキップします)。メソッド A() に対象トリガーを設定した場合は、A()B() の両方が保持されます。
  • 条件付き対象選択:条件付き選択対象として設定されたメソッドはすべて保持されますが、追加メソッドを保持する場合に、その呼び出しツリーは検討されません。メソッド A() に条件付き対象選択を設定した場合、A() は保持されますが、B() は(Dotfuscator が把握しているその他のメソッドによって呼び出されない限り)除去されます。

オプション

除去の種類]には 2 つのオプションがあります。

  1. 使用されていないメタデータとコードを削除:積極的に検索を行い、使用されていない型やメソッドを削除したい場合に使用します。
  2. リテラルのみ削除(const 定義)文字列の暗号化の威力を強化するために使用します。暗号化されていない const 文字列が削除されるようになります。文字列の暗号化が有効になっている場合は、除去でこのオプションをオンにしてください。

詳細情報

Dotfuscator ユーザーズ ガイド:

Dotfuscator バージョン 4.28.1.5015. Copyright © 2017 PreEmptive Solutions, LLC