エミュレーター チェックとレスポンス
PreEmptive Protection™ DashO™ for Android & Java は、Android アプリケーションまたはライブラリがエミュレーターで実行されているかどうかを検出するためのチェックを、そのアプリケーションまたはライブラリに差し込むことができます。 エミュレーター チェックとレスポンスの構成は、Checks - Emulator パネルを使って、またはコード アノテーションを追加することにより行います。
エミュレーター チェック
アプリケーションがエミュレーターで実行されているかどうかを検出するには、アプリケーション内の 1 つ以上のメソッドに EmulatorCheck を設定します。 DashO は、エミュレーターで実行されているかどうかを判断するための、いくつかのランタイム チェックを実行するコードを追加します。 このチェックは、概要の説明に従って構成できます。
アプリケーションには、さまざまな用途の EmulatorCheck
をさまざまな構成で含めることができます。
複数のチェックを使用したり、レスポンスを混合したりすることにより、アタッカーの侵入を妨げられるでしょう。
private static boolean emulatorFlag;
@EmulatorCheck(action="@emulatorFlag")
public void onCreate(Bundle check){
}
@EmulatorCheck(response=ResponseType.Hang)
private int computeResult(){
}
エミュレーター レスポンス
EmulatorResponse アノテーションは、EmulatorCheck と情報をやり取りします。 このレスポンスは、概要の説明に従って構成できます。
private static boolean emulatorFlag;
@EmulatorCheck(action="@emulatorFlag")
public void onCreate(Bundle state){
}
@EmulatorResponse(source="@emulatorFlag", response=ResponseType.Exit, probability=0.05f)
private int computeResult(){
}
@EmulatorResponse(source="@emulatorFlag", response=ResponseType.Error, probability=0.1f)
private FileInputStream readInput(){
}