[チェック]画面では、チェックを追加、編集、および削除することができます。
また、この画面からはアクセスできませんが、チェック処理の動作やチェックを有効にするかどうかに影響する、全般的な設定と入力アセンブリの設定もあります。
チェックの表
この表には、現在の Dotfuscator 構成ファイルに構成されているすべてのチェックと、アプリケーションのソース コード内のカスタム属性を利用して構成できるすべてのチェックを一覧表示しています。
表の列は次のとおりです。
-
最初の列には、in-code 属性を使用してチェックを定義している場合にのみ、アイコンが表示されます。
-
[種類]列は、このチェックで使用可能なチェックの種類を示します。
-
[説明]列は、このチェックがある入力アセンブリ内の場所を示します。
- この列では、メソッド署名は短縮されており、チェックに複数の場所がある場合は共通の名前空間のみが表示されます。 このようなメソッド署名の完全な、短縮されていない記載を見るには、チェックの説明のツール ヒントを見ます。
構成ファイルへのチェックの追加
チェックを追加するには
-
作成したいチェックの種類に対応するボタン、[デバッグ チェックの追加]、[改ざんチェックの追加]、[Shelf Life チェックの追加]、または[ルート チェックの追加]のいずれかをクリックします。 この新しいチェックのためのエディターが開きます。
-
エディターの左側のグリッドで、チェックのプロパティを構成します。 詳細な手順については、プロパティの編集に関するセクションを参照してください。
-
エディターの右側のコード ツリーで、このチェックを差し込む入力アセンブリ内の場所を選択します。 各場所は、特定のチェックの種類の 1 つのチェックにのみ関連付けることができます。
-
[OK]をクリックして確認します。表にこのチェック用の行が新しく表示されます。
チェックを編集するには、表内でそのチェックを強調表示し、[編集]ボタンをクリックします。 チェックのエディターが開くので、プロパティを編集したり、場所を変更したりすることができます。
構成からチェックを削除するには、表内でそのチェックを強調表示し、[削除]ボタンをクリックします。
ソース コードに定義されているチェックの操作
[チェック]タブには、ソース コード内にカスタム属性によって定義されているチェックと 構成ファイル内のチェックが両方とも表示されるため、いくつかの留意事項があります。
-
コード内に定義されたチェックは、構成ファイルのチェックでオーバーライドすることができます。 オーバーライドすると、Dotfuscator により、コード内に定義されたチェックが無視されて、そのチェックの行がチェックの表内に表示されなくなります。 代わりに、構成エディターで作成したチェックが使用されるようになります。 オーバーライドは、次のいずれかの操作を行ったときに発生します。
-
構成エディターでコード内に定義したチェックについて、プロパティを編集したり場所を追加したりする。 Dotfuscator はソース コードを変更できないため、この操作により、値が変更されたり場所が追加されたりした構成チェックが作成されて、このチェックにより、コード内に定義されたチェックがオーバーライドされます。
-
構成内のチェックに場所を追加します。この新しい場所には、同じチェックの種類を持つチェックがコード内で既に定義されています。コード内でこの場所に定義されているチェックは、この構成内のチェックによってオーバーライドされます。
-
-
コード内に定義されたチェックをオーバーライドした構成内のチェックを削除した場合には、ソース コード内のチェックが再び有効になります。
-
ソース コード内に定義されているチェックを Dotfuscator 構成エディターで削除することはできません。 ソース コード内に定義されているチェックを削除するには、ソース コード自体から削除する必要があります。
ソース コードを使用してチェックを構成している場合、チェックの表の最初の列にはアイコンが表示されます。
-
チェックが、構成エディターを使って追加されたものであり、コード内に定義されたチェックをオーバーライドしていない場合には、アイコンは表示されません。
-
は、ソース コード内に完全に定義されたチェックの場合に表示されます。
-
は、少なくとも 1 つのコード内チェックが構成内のチェックでオーバーライドされている場合に表示されます。
チェック プロパティの編集
チェックのプロパティを変更するのは通常、簡単です。サポートされているフィールドは、フリー テキストを受け付けたり(ほとんどの文字列プロパティ)、サポートされている値のドロップダウン リストを提供したり、日付の選択を提供したりします。
ただし、一部のプロパティでは、選択したときに[...]アイコンも表示されます。 このアイコンをクリックすると、フィールドに値を設定するための別のエディターが表示されます。 このエディターについては、以下の各サブセクションで説明します。
さらに、チェックのプロパティの説明ページでは、各プロパティの意味とそれが制御する動作を説明しています。
所有者の型の選択ダイアログ
ApplicationNotificationSinkOwner など、ソースとシンクの Owner プロパティには、アプリケーション内の型を指定します。 型を選択するダイアログを起動するには、フィールドの[...]アイコンをクリックします。
参照ダイアログ
ShelfLifeCheckAttribute
の ActivationKeyFile プロパティで[...]アイコンをクリックすると、Shelf Life Activation Key を参照して選択することができます。
同様に、ShelfLifeCheckAttribute
の PrivateKeyFile を参照して選択する場合にも、このダイアログを呼び出すことができます。
新しい Shelf Life トークンの生成
Shelf Life トークンが外部に保存されている Shelf Life チェックを使用する場合、Dotfuscator では[ツール]>[Shelf Life トークンの生成]をクリックするだけ新しい Shelf Life トークンを簡単に生成できます。
表示されるダイアログ ボックスで、適切な Shelf Life Activation Key ファイルと、任意で PKCS #12 Private Key ファイルを検索、選択することによって、Shelf Life トークンの追加の検証を提供することができます。 秘密キー ファイルを使用する場合は、[秘密キー ファイルのパスワード]フィールドに正しいパスワードを入力してください。
[有効期限]を設定し、任意で[警告日付]を設定します。 [警告日付]フィールドの隣には[警告日付を使用する]チェック ボックスがあります。 このチェック ボックスは、ShelfLifeCheckAttribute
を使って警告日付の動作を有効にしなかった場合、あるいは、有効にしたけれど、提供したい最新の Shelf Life トークンでは無効にしている場合には、オフにしてください。
Shelf Life キー情報が有効であると判断されると、[生成]ボタンが有効になります。 このボタンをクリックすると、Shelf Life 構成されたアプリケーションで使用できる、新しい Shelf Life トークンが生成されます。 Shelf Life トークン データをクリップボードにコピーするには、[コピー]ボタンをクリックします。
チェックの無効化
チェックは、Dotfuscator 構成エディターの[設定]タブの[オプション]プロパティ ページにある[機能]サブセクションで無効にすることができます。
チェックを無効にする:チェック機能全体のマスター スイッチとして機能します。 "いいえ" に設定した場合、Dotfuscator で構成したチェック関連の設定と、入力アセンブリに含まれるすべてのチェック属性によって指定されるとおりに、差し込まれたチェックが実行されます。 "はい" に設定した場合は、どのような種類のチェックも実行されません。
チェックを無効にしている場合でも、Dotfuscator はアセンブリ レベルのチェック オプションである、個々の入力アセンブリの[チェック属性の除去]オプションが受け入れられます。
アセンブリ レベルのチェック オプション
Dotfuscator では、アセンブリのチェック属性の処理を詳細に制御できます。 アセンブリにおいてこれらの属性を使用するのか無視するのか、また保持するのか削除するのかを Dotfuscator に指示することができます。 これらの設定はアセンブリ レベルで適用することができます。
チェック属性の使用
[チェック属性の使用]を "True"(既定値)に設定すると、これらの属性を処理し、指定されたチェックをターゲット アセンブリで実行するよう、Dotfuscator に指示できます。 "False" に設定すると、Dotfuscator はすべてのチェック属性を無視します。
"False" 設定は、テスト目的の場合や、一連のアセンブリを Dotfuscator で複数回実行しなければならないような高度なシナリオで役に立ちます。
チェック属性の除去
[チェック属性の除去]属性を "True"(既定値)に設定すると、ターゲットの出力アセンブリからこれらの属性を削除するよう Dotfuscator に指示できます。 出力アセンブリにこれらの属性を残すよう Dotfuscator に指示するには、このプロパティを "False" に設定します。
"False" 設定は[チェック属性の使用]オプションの場合と同様、テスト目的の場合や、一連のアセンブリを Dotfuscator で複数回実行しなければならないような高度なシナリオで役に立ちます。
下の表に、これら 2 つのオプションを組み合わせたときの結果と、各組み合わせの用途を示します。
チェック属性の使用 | チェック属性の除去 | メモ |
---|---|---|
True | True | 既定の設定。アセンブリには、そのアセンブリ内に宣言された属性に基づいてコードが差し込まれ、これらの属性は取り除かれます。 |
False | True | アセンブリには、そのアセンブリ内に宣言された属性に基づいてコードは差し込まれず、これらの属性は取り除かれます。これは、チェック機能を含んでいないテスト ビルドを作成する場合に有用です。 |
True | False | アセンブリには、そのアセンブリ内に宣言された属性に基づいてコードが差し込まれ、これらの属性は残されます。この組み合わせはお勧めしません。 |
False | False | アセンブリには、そのアセンブリ内で宣言された属性に基づいてコードは差し込まれず、これらの属性は残されます。この組み合わせは、難読化する必要があるが、後続の手順でチェックの追加が必要になるアセンブリに対して有用です。 |