Cómo eludir la capacidad de saber que una aplicación se está ejecutando en un emulador en lugar de en un dispositivo real.

Me gustaría instalar una aplicación llamada entrust (de Play Store) y poder usarla. Mi último intento fue usar un emulador llamado "Genymotion", pero la aplicación puede detectar que la aplicación se está ejecutando en un emulador porque aparece este error:

"Error: la activación manual no es compatible con un dispositivo no seguro".ingrese la descripción de la imagen aquí

que no entiendo si estoy ejecutando la aplicación en un dispositivo real. ¿Hay alguna idea sobre cómo puedo omitir esta verificación y poder ejecutarla usando un emulador?

¡Gracias!

¿Has probado [Android-x86](android-x86.org)? Podrías instalar la ISO usando Virtualbox.

Respuestas (2)

En general, hay tres formas de omitir una verificación del emulador:

  1. Modifique la aplicación y elimine la verificación del emulador.
  2. Modifique el emulador para que pretenda ser un dispositivo real.
  3. Modifique las llamadas del sistema que hace la aplicación para detectar que se está ejecutando en un emulador

Como puede ver, las tres formas no son tan simples, sin embargo, la tercera forma puede ser la más fácil, ya que existen algunas herramientas que pueden ayudarlo.

Volviendo a la opción 1 : se requieren muchas habilidades de desarrollo para descompilar la aplicación (por ejemplo, usarla apktoolpara descompilarla en código Smali), identificar las comprobaciones del emulador (y evitar las comprobaciones de integridad de la aplicación que puedan existir).

La opción 2 es aún más difícil, ya que requiere parchear y volver a compilar el emulador de Android (que está disponible como código fuente).

Por lo tanto, desde mi punto de vista, solo la opción 3 es realista para usted. Sin embargo, aún puede requerir algo de desarrollo en Java.

Puede instalar el marco XPosed en su emulador. Permite modificar las llamadas al sistema que usa la aplicación para identificar que se está ejecutando en un emulador. Hay algunos módulos XPosed existentes para ocultar que un dispositivo está rooteado o que se está ejecutando en un emulador. Si tiene suerte, hay un módulo existente que funciona de inmediato, lo que le permite ejecutar su aplicación en un emulador.

sorprendido de saber que todavía no hay un emulador que la aplicación no pueda decir. Supuestamente, un emulador debería poder convertirlo en un dispositivo virtual, por lo que la aplicación no debería poder decir

La aplicación necesita un cargador de arranque cerrado y no permite la raíz. La aplicación no sabe nada sobre el emulador.

Su respuesta podría mejorarse con información de apoyo adicional. Edite para agregar más detalles, como citas o documentación, para que otros puedan confirmar que su respuesta es correcta . Puede encontrar más información sobre cómo escribir buenas respuestas en el centro de ayuda .
El estado del cargador de arranque solo es relevante si la aplicación utiliza la verificación de Google SafetyNet. Y como un emulador nunca obtendrá una certificación de Google Android por parte de Google, siempre fallará en el "perfil CTS".