Checks(チェック)
Checks — Options
Checks — Options ページは、アプリケーションにチェックを差し込む設定を制御する場所です。 チェックの差し込みを有効または無効にし、アノテーション処理を定義して、アプリケーションの Java ランタイム環境を選択します。
Enable Check Injection
チェックの差し込みを有効または無効にします。
Honor Annotations
コードに含まれる DashO™ チェック アノテーションの参照を使用するか、または無視します。 コード内のアノテーションがチェックの設定とマージされることで、チェックの一覧を確認できるようになります。
Strip Annotations
DashO チェック アノテーションの参照を入力クラスから除去します。
Java Environment
これは、アプリケーションのランタイム環境を選択し、使用するチェック実装と使用期限の実装 jar ファイルを決定します。
チェックの標準 UI
チェックの構成に使用されるユーザー インターフェイス要素の多くは、さまざまなチェック(デバッグ チェック、デバッグ有効化チェック、エミュレーター チェック、フック チェック、ルート チェック、Shelf Life チェック、および改ざんチェック)に共通しています。
チェック テーブル
DashO GUI に含まれるチェックの種類の各ページには、指定した種類で現在構成されているチェックとレスポンスをの構成を示すチェック テーブルが含まれます。
チェック テーブルには以下の列が含まれています。
- Type 列は、種類(Check または Response)を示します。
- Description 列は、Check または Response が挿入される、コードのメソッドやクラス内の場所を示します。
- Properties 列では、その特定の Check または Response 用の設定を示します。
ツール ヒントが展開し、場所やプロパティの詳細が表示されます。
チェック テーブルの右側にある[Add]ボタンをクリックし、Check または Response の必要な種類を選択することによって、新しいチェックまたはレスポンスを追加することができます。 これによってチェックを編集するダイアログが開きます。 また、[Edit…]ボタンをクリックすると既存の Check または Response を編集することができ、[Delete]ボタンをクリックすると既存の Check または Response を削除できます。
チェックの編集
各チェックには以下のオプションを構成することができます。
- Action - 任意のカスタム動作。
詳細については、ソースおよび操作の指定を参照してください。
この
action
には通常、トリガーされる場合はtrue
、されない場合はfalse
が渡されます。 - Response - チェックがトリガーされたときに実行するレスポンス。
- None – 何もしない(既定)。
- Exit – ランダムなゼロ以外のリターン コードを生成してアプリケーションを終了する。
- Hang – 差し込まれたチェックを実行している現在のスレッドを無期限にハングさせる。
- Error –
java.lang.Error
の、ランダムに選択されたサブクラスをスローする。 - Exception –
java.lang.Exception
の、ランダムに選択されたチェックされていないサブクラスをスローする。
- Where – コードを差し込む、メソッド内の場所。
- Beginning – メソッドの最初の部分(既定)。
- End – メソッドの最後の部分。
- Beginning and End – メソッドの最初と最後の部分。
- Locations – チェックを挿入するメソッド。 メソッドを手動で選択する、あるいは選択規則を作成することができます。
メモ:
Android では、exit
はアクティビティ スタックの最上にあるActivity
のみを閉じます。 スタックにActivity
が 1 つしかない場合は、アプリケーションが閉じます。
レスポンスの編集
各レスポンスには以下のオプションを構成することができます。
- Source – チェックがトリガーされたかどうかを判断するソース。 詳細については、ソースおよび操作の指定を参照してください。
- Response -
source
が、チェックがトリガーされたことを示す(つまり、true
)場合に、実行するレスポンス。- None – 何もしない(既定)。
- Exit – ランダムなゼロ以外のリターン コードを生成してアプリケーションを終了する。
- Hang – 差し込まれたレスポンスを実行している現在のスレッドを無期限にハングさせる。
- Error –
java.lang.Error
の、ランダムに選択されたサブクラスをスローする。 - Exception –
java.lang.Exception
の、ランダムに選択されたチェックされていないサブクラスをスローする。
- Probability -
Response
(つまりExit
、Hang
、Error
、またはException
)が発生する確率。0.0
から1.0
までの小数を指定できます(既定値:1.0
)。 - Where – コードを差し込む、メソッド内の場所。
- Beginning – メソッドの最初の部分(既定)。
- End – メソッドの最後の部分。
- Beginning and End – メソッドの最初と最後の部分。
- Locations – レスポンスを挿入するメソッド。 メソッドを手動で選択する、あるいは選択規則を作成することができます。
メモ:
Android では、exit
はアクティビティ スタックの最上にあるActivity
のみを閉じます。 スタックにActivity
が 1 つしかない場合は、アプリケーションが閉じます。
Selection Rule
選択するメソッド(単一または複数)を決定するためのパターンまたは正規表現を構成します。
- Type – 正規表現またはパターン。
- Class Modifiers – 任意のクラス修飾子。
- Full Class Name – クラスの完全修飾名。
- Method Modifiers – 任意のメソッド修飾子。
- Method Name – メソッドの名前。
- Method Signature – メソッドの署名。
メモ:
名前と署名のフィールドに有効なエントリを入力する必要があります。
任意の修飾子に使用する値については、Modifiers 属性の説明を参照してください。
名前および署名に使用する値については、パターンおよび正規表現を参照してください。
Checks — Shelf Life
Checks — Shelf Life ページは、アプリケーションにShelf Life チェックを構成する場所です。
Checks — Shelf Life では標準的なチェック テーブルを使用しますが、いくつかの追加設定もあります。
Defaults
ここで定義された情報は、Shelf Life チェックがこれらの既定値を上書きしない限り、個々のすべての Shelf Life チェックに使用されます。 また、生成されたトークンに追加するプロパティを定義する場合にも使用されます。
Key File
PreEmptive から受け取った、Shelf Life のキー ファイルの場所を入力します。 このファイルは、アプリケーションに Shelf Life チェックを追加することを許可します。
Expiration Date
アプリケーションは、明示的な日付、または動的に決定される開始日から特定の日数後に期限が切れるよう構成することができます。
日付の書式は、地域の設定に関係なく常に MM/DD/YYYY
形式になります。
Warning Date
アプリケーションは、明示的な日付、または期限切れになる予定の特定の日数前に期限切れの警告を発するよう構成することができます。
日付の書式は、地域の設定に関係なく常に MM/DD/YYYY
形式になります。
Properties
アプリケーションで取得できる期限切れトークンに、任意のプロパティを追加することができます。
この機能を使用するには、ShelfLifeCheck
にユーザー定義の操作を提供する必要があります。この処置法は、これらのプロパティを取得できる期限切れトークンに渡されます。
ここで留意すべきは、プロパティ名と値の両方に DashO のプロパティ参照を含むことができるということです。
メモ:
このページで提供される情報は、ShelfLifeCheck
または@ShelfLifeCheck
コード アノテーションによって、オーバーライドまたは補完することができます。
Shelf Life Check の編集
Shelf Life Check を構成するための UI には、Response
を除くすべての標準フィールドに加えて、6 個の追加フィールドがあります。
- Expiration Date – アプリケーションの有効期限が切れる絶対日付。
MM/DD/YYYY
形式です。 - Warning Date – 期限切れに関する警告を開始する絶対日付。
MM/DD/YYYY
形式です。 - Start Date Source – 実行時に
java.util.Date
として提供される開始日のソース。 詳細については、ソースおよび操作の指定を参照してください。 - Expiration Period – 相対的な有効期限。開始日からの日数を示します。
- Warning Period – 相対的な警告期間。有効期限までの日数を示します。
- Token Source – Shelf Like トークンを外部で管理する場合に、
java.io.Reader
とするトークンのソース。 詳細については、ソースおよび操作の指定を参照してください。
Checks — Tamper
Checks — Tamper ページは、アプリケーションに改ざんチェックを構成する場所です。 Checks — Tamper では標準的なチェック テーブルが使用されますが、個々の改ざんチェックにはユーザーが構成できる追加のプロパティがあります。
Editing Tamper Checks
Tamper Check を構成するための UI には、すべての標準フィールドに加えて、4 個の追加フィールドがあります。
- Keystore – キー ストアの URL。既定値はユーザーのホーム ディレクトリの
.keystore
になります。 DashO プロパティを参照できます。 - Keystore Type - キーストアの種類。既定値として使用されるのは、DashO を実行する JVM(例:
JKS
またはPKCS12
)によって指定された種類です。 DashO プロパティを参照できます。 - Keystore Password – キーストアのパスワード。 ユーザー インターフェイスはこれをエンコード形式で格納しますが、値はプレーン テキストで指定できます。 DashO プロパティを参照できます。
- Alias – キーストアに非公開鍵を格納するために使用される別名。 Android プロジェクトで、カンマは複数のエイリアスを区切るのに使用します。 DashO プロパティを参照できます。
メモ:
標準モードでは、上記 4 つのフィールドを空白のままにすると、Output-Signing ページのkeystoreおよび別名情報が使用されます。
Android モードでは、DashO Gradle プラグイン(Android 用)が、アプリケーションへの署名に使用されるキーストアおよび別名情報を改ざんチェックの既定値として DashO に渡します。
詳細については、署名との相互作用を参照してください。