Einige Android-Apps können sich daran erinnern, ob sie zuvor auf demselben Gerät installiert waren. Angenommen, Sie haben eine App vor einem Jahr deinstalliert. Wenn Sie dieselbe App nach einem Jahr erneut installieren, kann diese App erkennen, dass sie zuvor auf demselben Telefon installiert wurde.
Diese Technik wird von Online-Anwendungen verwendet, um Benutzer dauerhaft daran zu hindern, ein neues Konto zu erstellen, wenn ihnen die Nutzung des Dienstes einmal untersagt wurde. Wenn diese Benutzer ein neues Konto erstellen, indem sie die Anwendung später erneut installieren, können diese Apps ihre "erstmalige Anwesenheit" erkennen und diese Informationen an Server senden, damit der Benutzer erneut gesperrt werden kann.
Wie machen sie das auch, nachdem sie ihre Daten gelöscht und vollständig deinstalliert haben? Dies bedeutet, dass sie eine Datei irgendwo im Telefon aufbewahren, die nach der Deinstallation nicht gelöscht wird. Wie deaktiviere ich diese Erkennung?
quelle
Do app creators have rights?
Eigentlich auf meinem Handy tun sie das nicht. Möglicherweise lasse ich sie ihren Code ausführen und ihre Daten auf meinem Telefon speichern, aber sie haben kein Recht darauf , und ich behalte mir das Recht vor, beide Berechtigungen nach meinem Ermessen zu widerrufen.Antworten:
Es gibt mehrere Möglichkeiten, ein eindeutiges Gerät oder seinen Benutzer zu identifizieren:
ANDROID_ID
(eindeutig pro Neuinstallation) : Diese Methode ist einfach, erfordert jedoch einen Internetzugang, zumindest bei der ersten Verwendung. Es ist nicht sehr aufdringlich und bleibt im Falle eines Werksresets nicht bestehen. Es ist auch pro Benutzer eindeutig. Siehe diese Informationen .ANDROID_ID
Vorgehensweise, erfordert jedoch eine ausdrückliche Erlaubnis (Android 6.0+) des Benutzers, um darauf zuzugreifen. Apps, die das Ökosystem des Google-Kontos nutzen (z. B. Highscores und Erfolge in Spielen), können somit einem bestimmten Benutzer folgen und mehr Informationen erhalten, als nur, ob die App installiert wurde oder nicht.2, 3 und 4 erfordern eine Netzwerkverbindung und einen Server auf der Seite des Entwicklers.
quelle
strace
Dienstprogramm, mit dem alle Systemaufrufe protokolliert werden können. Sie müssen Ihre App also mit startenstrace
und alle Systemaufrufe überprüfen, die sich auf Dateien auf dem Gerät beziehen, und Sie werden alle Dateien erkennen, die von der App gelesen / auf Existenz überprüft wurden. Klar: Auf dem Smartphone wahrscheinlich ziemlich schwer zu machen, aber definitiv möglich .Es ist nicht mit dem Speicher verbunden, sondern mit der Cloud. So merkt es sich, obwohl Sie Ihre Daten gelöscht haben. Um dies auszuschalten, gehen Sie zur App für die Geräteeinstellungen, tippen Sie auf Google-Konten unter Persönlich (tippen Sie auf das gewünschte Konto, wenn Sie mehrere Konten haben) und schalten Sie die Apps aus, die nicht automatisch synchronisiert werden sollen.
quelle
GiantTrees Antwort deckt dies am besten ab, aber es gibt noch einen weiteren Punkt, über den man nachdenken sollte. Es wäre eindeutig ein " dunkles Muster ", aber diese Identifizierung könnte auch durch Fingerabdruck bestimmter Benutzerdaten erfolgen - dies kann als Variante seines ersten Punktes angesehen werden ("eine Datei behalten"), aber es wäre schwieriger zu erkennen und weniger bequem vermeiden.
Wie belastbar dies ist, hängt von den ausgewählten Daten ab. Die naheliegendste Methode wäre, die Kontaktdaten zu überprüfen und einen Fingerabdruck davon zu verwenden. Eine Alternative könnte die Verwendung von Foto-Zeitstempeln und anderen Metadaten sein. Es ist klar, dass sich diese Änderungen im Laufe der Zeit ändern, sodass unabhängig von der verwendeten Methode auch nach der Änderung eine genaue Antwort erfolgen muss (was sich von einer herkömmlichen Hash-Funktion unterscheidet). Es gibt auch keine Garantie, dass ein Benutzer die verfolgten Daten nicht einfach löscht, aber in vielen Fällen wird es den Leuten vorgezogen, dies nicht zu tun.
Möglicherweise möchten Sie sich den Fingerabdruck des Browsers ansehen, um ein Gefühl dafür zu bekommen, wie dies funktioniert, auch wenn dies etwas anders sein wird, da die Telefonhardware in der Regel einheitlicher ist als die PC-Hardware. Das Hinzufügen bestimmter Telefondetails kann jedoch dazu beitragen, den Fingerabdruck ein wenig einzugrenzen.
Dies ist insbesondere dann der Fall, wenn ein Benutzer das Telefon wechselt und seine Daten zu einem neuen Telefon mitnimmt. In diesem Fall wird das neue Telefon möglicherweise als bereits installiert erkannt (sofern keine Daten in den Fingerabdruck eingehen). als die Frage gestellt. Es ist jedoch sehr wahrscheinlich, dass in einem Szenario, in dem eine App versucht, einen Benutzer zu sperren, dies tatsächlich ein gewünschtes Ergebnis sein kann (anstatt das jeweilige Telefon selbst zu sperren).
Bitte beachten Sie: Auf keinen Fall sage ich, dass dies für die Funktionsweise beim Schreiben von Apps richtig oder "gut" ist, aber es erscheint sinnvoll, darüber zu diskutieren, da die Leute nur durch Diskussion herausfinden, ob sie es sind besorgt genug, um etwas dagegen zu unternehmen und was das sein könnte.
quelle
Es gibt eine SharedPreferences-Klasse ( https://developer.android.com/reference/android/content/SharedPreferences.html ), mit der einige Apps Einstellungsdaten speichern. Diese Daten werden bei der Deinstallation der App nicht gelöscht. Wenn die App später erneut installiert wird, sind alle zuvor gespeicherten SharedPreferences-Schlüssel weiterhin für sie verfügbar.
quelle
SharedPreferences
werden tatsächlich gelöscht, wenn die App deinstalliert wird. Es gibt verschiedene Möglichkeiten für Entwickler, Sicherungen einzurichten. Standardmäßig werden sie jedoch bei der Deinstallation entfernt. (Quelle: Als Entwickler deinstalliere ich meine Apps, um die Einstellungen zu löschen. Siehe auch: stackoverflow.com/a/9815641/1438733 )Es gibt eine andere Möglichkeit - die Verwendung von dauerhaften Cookies mit einer sehr langen "Verfallszeit". Ich schätze, so teilten mehrere Apps desselben Entwicklers traditionell ihre Anmeldeinformationen, wenn die über die Kontofunktion gespeicherten Anmeldeinformationen der Öffentlichkeit nicht so offen / bekannt waren.
quelle