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