So umgehen Sie die Fähigkeit einer App, zu wissen, ob sie auf einem Emulator und nicht auf einem echten Gerät ausgeführt wird.

Ich möchte eine App namens Vertrauen (aus dem Play Store) installieren und verwenden können. Mein letzter Versuch war, einen Emulator namens "Genymotion" zu verwenden, aber die App kann erkennen, dass die App auf einem Emulator ausgeführt wird, weil ich diesen Fehler erhalte:

"Fehler: Die manuelle Aktivierung wird auf einem ungesicherten Gerät nicht unterstützt."Geben Sie hier die Bildbeschreibung ein

was ich nicht bekomme, wenn ich die App auf einem echten Gerät ausführe. Gibt es irgendwelche Ideen, wie ich diese Prüfung umgehen und sie mit einem Emulator ausführen kann?

Danke schön!

Haben Sie [Android-x86](android-x86.org) ausprobiert? Sie können das ISO mit Virtualbox installieren.

Antworten (2)

Im Allgemeinen gibt es drei Möglichkeiten, eine Emulatorprüfung zu umgehen:

  1. Ändern Sie die App und entfernen Sie die Emulatorprüfung.
  2. Ändern Sie den Emulator so, dass er vorgibt, ein echtes Gerät zu sein.
  3. Ändern Sie die Systemaufrufe der App, um zu erkennen, dass sie auf einem Emulator ausgeführt wird

Wie Sie sehen können, sind alle drei Wege nicht so einfach, aber der dritte Weg kann der einfachste sein, da es einige Tools gibt, die Ihnen helfen können.

Zurück zu Option 1 – es erfordert eine Menge Entwicklungsfähigkeiten, um die App zu dekompilieren (z. B. um apktoolsie in Smali-Code zu dekompilieren), die Emulatorprüfungen zu identifizieren (und eventuell vorhandene App-Integritätsprüfungen zu umgehen).

Option 2 ist noch schwieriger, da Sie den Android-Emulator (der als Quellcode verfügbar ist) patchen und neu kompilieren müssen.

Daher ist aus meiner Sicht nur Option 3 für Sie realistisch. Es kann jedoch noch etwas Java-Entwicklung erfordern.

Sie können das XPosed-Framework auf Ihrem Emulator installieren. Es ermöglicht das Ändern von Systemaufrufen, die die App verwendet, um zu identifizieren, dass sie auf einem Emulator ausgeführt wird. Es gibt einige vorhandene XPosed-Module, um zu verbergen, dass ein Gerät gerootet ist oder auf einem Emulator läuft. Wenn Sie Glück haben, gibt es ein vorhandenes Modul, das sofort einsatzbereit ist und es Ihnen ermöglicht, Ihre App auf einem Emulator auszuführen.

überrascht zu wissen, dass es noch keinen Emulator gibt, den die App nicht erkennen kann. Angeblich sollte ein Emulator in der Lage sein, daraus ein virtuelles Gerät zu machen, also sollte die App es nicht erkennen können

Die App benötigt einen geschlossenen Bootloader und erlaubt kein Rooten. Die App weiß nichts über den Emulator.

Ihre Antwort könnte durch zusätzliche unterstützende Informationen verbessert werden. Bitte bearbeiten Sie , um weitere Details wie Zitate oder Dokumentation hinzuzufügen, damit andere bestätigen können, dass Ihre Antwort richtig ist. Weitere Informationen zum Verfassen guter Antworten finden Sie in der Hilfe .
Der Bootloader-Status ist nur relevant, wenn die App die Google SafetyNet-Verifizierung verwendet. Und da ein Emulator niemals eine Google-Android-Zertifizierung von Google erhalten wird, wird er das "CTS-Profil" immer nicht bestehen.