MASTG-TEST-0049 エミュレータ検出のテスト (Testing Emulator Detection)
エミュレータ検出のバイパス
エミュレータ検出機能にパッチを適用します。望まない動作を無効にするには、関連するバイトコードやネイティブコードを NOP 命令で上書きするだけです。
Frida か Xposed API を使用して、Java やネイティブ層のファイルシステム API をフックします。あからさまなエミュレータ値ではなく無害に見える (できれば実デバイスから取得した) 値を返します。たとえば
TelephonyManager.getDeviceID
メソッドをオーバーライドして IMEI 値を返すことができます。
有効性評価
エミュレータにアプリをインストールして実行します。アプリはエミュレータで実行されていることを検出し、保護されるべき機能を終了するか実行を拒否するはずです。
防御のバイパスに取り組み、以下の質問に回答します。
静的解析および動的解析によってエミュレータ検出コードを特定することはどのくらい難しいですか?
その検出メカニズムは簡単に (たとえば、一つの API 関数をフックするなどで) バイパスできますか?
そのアンチエミュレーション機能を無効にするカスタムコードを書くことは必要はありますか?どのくらい時間がかかりましたか?
そのメカニズムをバイパスすることの難しさをどのように評価しますか?
PreviousMASTG-TEST-0048 リバースエンジニアリングツール検出のテスト (Testing Reverse Engineering Tools Detection)NextMASTG-TEST-0050 ランタイム完全性チェックのテスト (Testing Runtime Integrity Checks)
Last updated
Was this helpful?