Как обойти способность приложения знать, что оно запускается на эмуляторе, а не на реальном устройстве.

Я хотел бы установить приложение под названием entrust (из магазина игр) и иметь возможность его использовать. Моя последняя попытка состояла в том, чтобы использовать эмулятор под названием «Genymotion», но приложение может обнаружить, что приложение запускается на эмуляторе, потому что я получаю эту ошибку:

«Ошибка: ручная активация не поддерживается на незащищенном устройстве».введите описание изображения здесь

чего я не понимаю, если запускаю приложение на реальном устройстве. Есть идеи, как обойти эту проверку и иметь возможность запускать ее с помощью эмулятора?

Спасибо!

Вы пробовали [Android-x86](android-x86.org)? Вы можете установить ISO с помощью Virtualbox.

Ответы (2)

В целом есть три способа обойти проверку эмулятора:

  1. Измените приложение и удалите проверку эмулятора.
  2. Модифицируйте эмулятор, чтобы он притворялся реальным устройством.
  3. Измените системные вызовы, которые приложение делает для обнаружения того, что оно работает на эмуляторе.

Как видите, все три способа не так просты, однако третий способ может быть самым простым, так как есть несколько инструментов, которые могут вам помочь.

Вернемся к варианту 1. Требуется много навыков разработки, чтобы декомпилировать приложение (например, использовать apktoolего для декомпиляции в код Smali), определить проверки эмулятора (и обойти проверки целостности приложения, которые могут существовать).

Вариант 2 еще сложнее, поскольку требует исправления и перекомпиляции эмулятора Android (который доступен в виде исходного кода).

Поэтому с моей точки зрения для вас реалистичен только вариант 3 . Однако для этого может потребоваться некоторая разработка Java.

Вы можете установить фреймворк XPosed на свой эмулятор. Это позволяет изменять системные вызовы, которые приложение использует для определения того, что оно работает на эмуляторе. Существуют некоторые существующие модули XPosed для сокрытия того, что устройство рутировано или работает на эмуляторе. Если вам повезет, существует готовый готовый модуль, позволяющий запускать ваше приложение на эмуляторе.

удивлен, узнав, что еще нет эмулятора, о котором приложение не может сказать. Предположительно, эмулятор должен быть в состоянии сделать его виртуальным устройством, поэтому приложение не должно знать

Приложение требует закрытый загрузчик и не позволяет root. Приложение ничего не знает об эмуляторе.

Ваш ответ может быть улучшен с помощью дополнительной вспомогательной информации. Пожалуйста, отредактируйте , чтобы добавить дополнительные сведения, такие как цитаты или документация, чтобы другие могли подтвердить правильность вашего ответа. Дополнительную информацию о том, как писать хорошие ответы, можно найти в справочном центре .
состояние загрузчика имеет значение только в том случае, если приложение использует проверку Google SafetyNet. И поскольку эмулятор никогда не получит сертификацию Google Android от Google, он всегда не сможет пройти «профиль CTS».