So verhindern Sie, dass Anwendungen mein Telefon als Root erkennen

28

Ich muss eine Anwendung installieren, die mein Gerät als root erkannt hat.

Das ist also eine zweiteilige Frage.

  1. Wie hat es überhaupt herausgefunden, dass mein Telefon gerootet wurde?

  2. So verhindern Sie, dass die Anwendung mein Telefon als root erkennt

setzt sich
quelle

Antworten:

18

Um den Root-Status des Geräts zu ermitteln, gibt eine App einen suBefehl aus. Wenn der Beendigungsstatus lautet 0, bedeutet dies, dass das Gerät verwurzelt ist. Andernfalls nicht.

Um dies zu verhindern, können Sie einfach Denyden Root-Zugriff über das SuperUser-Popup vornehmen (sofern dies in den SuperUser-Einstellungen zulässig ist, wird ein Popup angezeigt, wenn eine App einen suBefehl ausgibt ). Danach erhält die App den non-zeroExit-Status und kann den Root-Status nicht ermitteln.

Update:
Einige Apps können den Root-Status auf andere Weise überprüfen (z. B. das suVorhandensein von Binärdateien überprüfen ). Ich möchte zugeben, dass keine perfekte Methode ohne falsch-positives Ergebnis ist, aber manchmal sind sie mit Glück erfolgreich.

Die beste universelle Methode, um die Erkennung zu verhindern: Beschränken Sie die Berechtigung des App-Daemons. Ich kann keine genauen Berechtigungsbeschränkungen vorschlagen, da ich die Funktionen der App nicht kenne. Es kann die Funktionen der App beeinträchtigen.

Zum Schluss möchte ich sagen: Technisch gesehen gibt es keine Möglichkeit, die Erkennung durch eine Erfolgsquote von 100% zu verhindern. Im Falle von Berechtigungsbeschränkungen kann die App immer noch vermuten, dass etwas nicht stimmt.

Android Quesito
quelle
1
Nicht pedantisch oder pingelig zu sein, ist ein weiterer Weg , auf dem binären zu überprüfen , /system/xbin/suwenn es vorhanden ist - das eigentlich ein bisschen „leiser“ ist dann auszuführen versucht su, hinterhältig ich weiß :)
t0mm13b
2
@ t0mm13b Dies ist kein echter Test, da sudie App ein falsches Ergebnis anzeigt, wenn jemand eine Textdatei an dieser Stelle durch einen temporären Root abgelegt hat .
Android Quesito
@SachinShekhar Die Anwendung hat keine su previliges angefordert, da meine SuperUser-App eine Benachrichtigung auslösen würde. gibt es etwas , das ich durch die Protokollierung in Begriff auf Telefon und Wechsel , etwas zu tun
satts
@ user1654218 Vergewissern Sie sich, dass die SuperUser- Always AllowOption nicht aktiviert ist. Sie können die Erkennung durch Always Denyoder Deny Allauch verhindern (Optionstexte können je nach Version variieren).
Android Quesito
@ user1654218 Was ist die App in der Frage? Es ist möglich, dass die App mit viel Glück die falsche Methode verwendet.
Android Quesito
6

Ich verwende OTA Rootkeeper , das eine Funktion zum Sichern suund vorübergehenden Aufheben des Root-Status des Telefons enthält. Einmal vorübergehend nicht gerootet, kann es durch Wiederherstellen des suBackups neu gerootet werden.

(Außerdem wird versucht, root beizubehalten, wenn Sie ein OTA-Update von Ihrem Mobilfunkanbieter installieren. Dies ist eine sehr schöne Funktion.)

Michael Hampton
quelle
4

Folgendes hat bei mir funktioniert:

1- Sie müssen das Xposed-Framework installiert haben. Sie können es hier installieren: http://repo.xposed.info/module/de.robv.android.xposed.installer . Xposed ist ein Framework für Module, die das Verhalten ändern können des Systems und der Apps, ohne APKs zu berühren.

2- Laden Sie das Root Cloak xposed-Modul von http://repo.xposed.info/module/com.devadvance.rootcloak herunter und aktivieren Sie es.

3- Fügen Sie die App hinzu, vor der Sie versuchen, das Stammverzeichnis auszublenden.

Während des Vorgangs ist mehrmals ein Neustart erforderlich.

lmm
quelle
2

Der Superuser hat bereits ein temporäres Kontrollkästchen, funktioniert einwandfrei und wurde getestet

Szilveszter Szilagyi
quelle
3
Willkommen bei Android-Enthusiasten . Danke für Ihren Beitrag. Es wäre besser, wenn Sie diese Antwort ein wenig erweitern könnten, indem Sie erklären, wo sie sich befindet und ob sie eine Pro-Version benötigt oder nicht (falls verfügbar) :)
Andrew T.
-1

Diese Frage wurde bereits gestellt und beantwortet:

Um zusammenzufassen, suchen Sie nach der Anwendung "SuperUser" (als ein Vorschlag).

-edit- Per Vorschlag sollte der Link ausfallen:

Wie kann ich root auf einem modifizierten Gerät deaktivieren?

Wenn Sie SuperUser installieren, können Sie steuern, welchen Apps Root-Zugriff gewährt wird. Standardmäßig werden alle Anfragen blockiert und Sie gefragt, was Sie tun möchten. Sie können einer App unbegrenzten Zugriff gewähren und sie jederzeit widerrufen oder nur bestimmte Anforderungen mit einer Zeitüberschreitung zulassen. Die meisten gerooteten ROMs, einschließlich CyanogenMOD, sind bereits vorinstalliert, und viele gerootete Methoden werden es auch für Sie installieren.

Alternativ können Sie die su-Binärdatei und die Busybox von Ihrem Gerät entfernen, um das Stammverzeichnis zu entfernen.

Westley
quelle
3
Das Deaktivieren und Verbergen von Wurzeln sind zwei verschiedene Dinge. Auch Antworten mit nur einem Link gelten als nicht hilfreich. Wenn der Link abbricht, ist die Antwort weniger als nützlich.
Roxan
@Cookster Ich wollte verhindern, dass Anwendungen mein Telefon als gerootet erkennen. Ich möchte root auf meinem customRom-Telefon nicht deaktivieren
Uhr
"Wenn Sie SuperUser installieren, können Sie steuern, welche Apps Root-Zugriff haben." Vermisse ich hier etwas? Verhindern Sie, dass alle Anwendungen auf root zugreifen, und behalten Sie den Root-Status des Telefons bei.
Westley
Ja, du vermisst etwas. Die Frage war nicht , „wie Apps , um zu verhindern gewinnen root privs“, sondern „wie Anwendungen zu verhindern , dass root privs Erkennung verfügbar sein könnte .
Izzy
-3

Die Bewurzelung ist reversibel. Wenn Sie also Ihr Telefon aus dem Stammverzeichnis entfernen, wird der Anwendung nichts angezeigt.

Luft-Dex
quelle
9
Keine hilfreiche Lösung. Der Fragesteller und viele andere haben ihre Telefone aus guten Gründen gerootet und benötigen wahrscheinlich die Root-Rechte für etwas.
Izzy