So prüfen Sie Android-Apps (für Screenshot-Aktivitäten)

Wie überprüfe ich die Apps meines Androids, um festzustellen, welche Apps Screenshots meiner Aktivität machen?

Ich habe kürzlich Diskdigger installiert und ausgeführt, um ein Image wiederherzustellen, das ich versehentlich gelöscht hatte, aber die Image-Überreste, die Diskdigger gefunden hat, waren schockierend. Es gab Dutzende (vielleicht >100?) Screenshots meiner Aktivitäten – von harmlosen Aufnahmen meines Startbildschirms bis hin zu Bildern, die aufgenommen wurden, als ich mich in meinen (verschlüsselten) Chat-Apps und meiner Bitcoin-Brieftasche befand.

Natürlich habe ich diese Screenshots nicht gemacht oder gelöscht.

Mein Telefon ist ein gerootetes Nexus 5X mit Lineage OS 15-1 (Android 8.1.0). Ich verwende hauptsächlich Software von fdroid, obwohl ich ein paar Seiten von yalp geladen habe (ich habe keine Gapps installiert), wie WhatsApp und Diskdigger.

Wie überprüfe ich die von mir installierten Apps, um festzustellen, wer für die Aufnahme (und anschließendes Löschen) dieser Screenshots meiner Aktivität verantwortlich ist? Wie kann ich beginnen:

  1. Alle meine Apps auflisten, sortiert danach, wie oft die App
    seit der Installation einen Screenshot gemacht hat
  2. Alle meine Apps auflisten, sortiert nach der Häufigkeit, mit der die App seit der Installation eine Datei auf die Festplatte geschrieben hat
  3. Generieren Sie jedes Mal, wenn ein Screenshot gemacht wird, ein Protokoll und/oder einen Toast – mit Aufzeichnung des Zeitstempels, der verantwortlichen App und des Dateinamens
  4. Generieren Sie jedes Mal ein Protokoll und/oder einen Toast, wenn eine App eine Datei auf die Festplatte schreibt – mit Aufzeichnung des Zeitstempels, der verantwortlichen App und des Dateinamens
  5. Generieren Sie jedes Mal ein Protokoll und/oder einen Toast, wenn eine App eine Datei von der Festplatte löscht – mit Aufzeichnung des Zeitstempels, der verantwortlichen App und des Dateinamens

TIA!

Antworten (2)

Das Erstellen eines Screenshots erfordert Root- oder Systemberechtigungen (oder einen Root-Exploit). Ich gehe davon aus, dass Ihr ROM eine offizielle Lineage-Version ist. Unter der Annahme, dass ihr Signaturschlüssel nicht durchgesickert ist, sollte die App, nach der Sie suchen, Root-Berechtigungen verwenden, die Teil des Betriebssystems sind. Daher wäre ein erster Schritt, alle Berechtigungen für Apps zu widerrufen, um Root-Berechtigungen zu verwenden.

  1. Alle meine Apps auflisten, sortiert danach, wie oft die App seit der Installation einen Screenshot gemacht hat

Android ist ein für Smartphones mit Flash-Speicher optimiertes Betriebssystem. Der Flash-Speicher verschlechtert sich durch das Schreiben, daher ist Android darauf optimiert, Schreibvorgänge zu reduzieren. Daher erstellt Android keine umfangreichen Logfiles. Es existieren nur einige kleine Protokolle im RAM (zB logcat). Daher gibt es AFAIK kein Protokoll, das aufzeichnet, welche App einen Screenshot erstellt hat.

  1. Alle meine Apps auflisten, sortiert nach der Häufigkeit, mit der die App seit der Installation eine Datei auf die Festplatte geschrieben hat

Auch hier gibt es kein solches Protokoll. Wenn die App jedoch noch aktiv ist, können Sie die „Festplatten“-Aktivität mithilfe von inotifywait-for-Android überwachen – einer Befehlszeilenanwendung, die den Lese- und/oder Schreibzugriff auf bestimmte Ordner auf Ihrem Telefon aufzeichnen kann. Es sieht so aus, als müssten Sie es selbst mit NDK kompilieren, bevor Sie es verwenden - ich habe keine vorkompilierte Version gefunden.

Eine ähnliche API, wie sie von inotifytools verwendet wird, ist für Android-Apps verfügbar, daher gibt es möglicherweise Apps, die ähnliche Funktionen bieten.

  1. Generieren Sie jedes Mal, wenn ein Screenshot gemacht wird, ein Protokoll und/oder einen Toast – mit Aufzeichnung des Zeitstempels, der verantwortlichen App und des Dateinamens

Wenn die gefundenen Screenshots mit der screencapBinärdatei (dem Android-Tool zum Erstellen von Screenshots, das in Android enthalten ist) erstellt wurden, können Sie versuchen, diese Binärdatei durch eine andere Binärdatei zu ersetzen.

Wenn die Screenshots jedoch auf andere Weise erstellt wurden, sehe ich keine Möglichkeit, dies zu erkennen oder zu verhindern.

  1. Generieren Sie jedes Mal ein Protokoll und/oder einen Toast, wenn eine App eine Datei auf die Festplatte schreibt – mit Aufzeichnung des Zeitstempels, der verantwortlichen App und des Dateinamens.
  2. Generieren Sie jedes Mal ein Protokoll und/oder einen Toast, wenn eine App eine Datei von der Festplatte löscht – mit Aufzeichnung des Zeitstempels, der verantwortlichen App und des Dateinamens

-> Sehen Sie, was ich in (2.) über inotifytools geschrieben habe

Danke. Zu Ihrer Information, ich habe die Root-Berechtigungen (für alle Apps + ADB) für einige Tage deaktiviert und dann erneut gerootet (ich musste es erneut rooten, um Diskdigger auszuführen, um die gelöschten Screenshots zu finden). Leider habe ich festgestellt, dass die Screenshots immer noch gemacht wurden, als Root nicht erlaubt war. Ich hatte noch keine Gelegenheit, inotifytools auszuprobieren.

Sie können Selinux-Richtlinienregeln auch im Permissive-Modus verwenden, um eine Android-Anwendung zu prüfen, aber Google macht dies absichtlich extrem schwierig.

Falls es jemanden interessiert, ich habe schließlich die Quelle der Screenshot-Bilder gefunden: Es ist der in Android integrierte Umschalter für „neueste Apps“. Für weitere Informationen habe ich meinen Untersuchungsprozess und meine Ergebnisse in meinem Blog dokumentiert