4 votes

Comment contourner la capacité d'une application à savoir qu'elle est exécutée sur un émulateur plutôt que sur un appareil réel.

Je voudrais installer une application appelée entrust (depuis le play store) et pouvoir l'utiliser. Mon dernier essai a été d'utiliser un émulateur appelé "Genymotion", mais l'application peut détecter que l'application est exécutée sur un émulateur car je reçois cette erreur :

"Erreur : L'activation manuelle n'est pas prise en charge sur un appareil non sécurisé." enter image description here

ce que je n'obtiens pas si j'exécute l'application sur un appareil réel. Avez-vous une idée de la façon dont je peux contourner cette vérification et être en mesure de l'exécuter en utilisant un émulateur ?

Merci !

4voto

pr0nin Points 353

En général, il y a trois façons de contourner la vérification d'un émulateur :

  1. Modifiez l'application et supprimez la vérification de l'émulateur.
  2. Modifiez l'émulateur pour qu'il se fasse passer pour un appareil réel.
  3. Modifier les appels système de l'application pour détecter qu'elle fonctionne sur un émulateur.

Comme vous pouvez le constater, ces trois méthodes ne sont pas si simples, mais la troisième est peut-être la plus facile car il existe des outils qui peuvent vous aider.

Retour à option 1 - il faut beaucoup de compétences en matière de développement pour décompiler l'application (par exemple, à l'aide de apktool pour le décompiler en code Smali), identifier les contrôles de l'émulateur (et contourner les contrôles d'intégrité des applications qui peuvent exister).

Option 2 est encore plus difficile car il vous faut patcher et recompiler l'émulateur Android (qui est disponible en code source).

Donc, de mon point de vue, seulement option 3 est réaliste pour vous. Toutefois, cela peut encore nécessiter un certain développement Java.

Vous pouvez installer le framework XPosed sur votre émulateur. Il permet de modifier les appels système que l'application utilise pour identifier qu'elle fonctionne sur un émulateur. Il y a quelques modules XPosed existants pour cacher qu'un appareil est enraciné ou qu'il fonctionne sur un émulateur. Si vous avez de la chance, il existe un module existant qui fonctionne de façon autonome et qui vous permet d'exécuter votre application sur un émulateur.

0voto

L'application a besoin d'un chargeur de démarrage fermé et n'autorise pas Root. L'application ne sait rien de l'émulateur.

androidalle.com

AndroidAlle est une communauté de androiders où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X