Wie kann ich überprüfen, ob eine Anwendung auf dem
Android- Smartphone einen Foto- oder Videobericht enthält, obwohl er diesen nie benötigt? Die folgende Option ist überhaupt nicht perfekt, erfordert jedoch kein "root" oder eine benutzerdefinierte Firmware.
PS Ich habe dem Artikel eine Beschreibung zur Überwachung des Zugriffs von Anwendungen auf das Mikrofon hinzugefügt.Was Sie installieren müssen:
- ADB ( Android Debug Bridge ) (zum Beispiel als Teil der Android SDK Platform Tools - können Sie hier herunterladen);
- Treiber für das Telefon (ggf. kann hier beispielsweise der Google USB-Treiber heruntergeladen werden ).
Wir aktivieren den
USB- Debugging-Modus am Telefon und verbinden das Smartphone mit dem
USB-Anschluss des Computers. Sie sollten den
USB-Verbindungsmodus auswählen, außer "Nur aufladen".
Versteckter TextIm „Geräte-Manager“ wird das Smartphone beispielsweise wie folgt angezeigt:
im Modus "Foto" oder "Dateien"

im USB-Laufwerksmodus

Und so in der Ausgabe des Befehls
lsusb :

Öffnen Sie die Befehlszeile in dem Verzeichnis, in dem die "Tools" installiert sind.
Überprüfen Sie, ob die Verbindung erfolgreich hergestellt wurde (die Seriennummer des angeschlossenen Smartphones wird angezeigt):
adb devices
(für
Windows )

Für
Linux würde
der Befehl folgendermaßen aussehen:
./adb devices
Wenn der Computer nicht für die Verwendung mit diesem Smartphone (für
Android 4.2.2 und höher)
autorisiert ist, wird neben der Seriennummer die Warnmeldung "Nicht autorisiert"
angezeigt .
Für die Autorisierung müssen Sie die Debugging-Berechtigung über
USB auf dem Smartphone bestätigen.
Versteckter TextUnter Linux wird möglicherweise die Meldung " Keine Berechtigungen " angezeigt. In meinem Fall konnte ich das Problem lösen, indem ich das Smartphone in den Modus "Media Device ( MTP )" schaltete.
Starten Sie die Shell auf dem Gerät (wir erhalten die Eingabeaufforderung "$"):
adb shell

Dann führen wir die folgenden "magischen" Symbole ein:
while true; do ps `while ! (dumpsys media.camera | grep -E "PID") do done | grep -o "[^PID: ][0-9]*$"` | grep -o "[^S ]*$" ; date; sleep 1; done
Verbesserte Version, Entfernen der Ausgabe "NAME" und Leerzeilen:
while true; do ps `while ! (dumpsys media.camera | grep -E "PID") do done | grep -o "[^PID: ][0-9]*$"` | grep -o "[^S ]*$" | grep -v "NAME" | grep .; date; sleep 1; done
Und nichts passiert :-) Bis sich etwas für einen kleinen Schuss entscheidet :-)
Der angegebene "magische" Zeichensatz überwacht den Zugriff auf den
Kameradienst -
media.camera - so schnell wie möglich (dieser Dienst wird von der Bibliothek
libcameraservice.so implementiert). Wenn die Kamera nicht aktiv ist, zeigt
dumpsys Folgendes an :

Und wenn eine Kamera benötigt wird, erscheint dies:
greps prüft, ob eine "
PID " vorhanden ist. Wenn diese Kette vorhanden ist, schneiden sie die Prozessnummer aus der Zeichenfolge und geben sie an den Befehl
ps weiter , der Daten zu diesem Prozess anzeigt. Ein anderer
grep schneidet seinen Namen. Halten Sie nach dem Erkennen der Kameraaktivität eine Sekunde lang an, damit Nachrichten nicht zu oft verschüttet werden. Verwenden Sie zum Unterbrechen des Befehls die Tastenkombination
STRG-C und verlassen Sie die Shell -
STRG-D .
Das einfachste Beispiel ist, dass nach dem Start der regulären Smartphone-Anwendung für Foto- / Videoaufnahmen Nachrichten mit dem Prozessnamen und Datum / Uhrzeit im Abstand von 1 Sekunde eingehen:

""
Es gibt jedoch schlauere Anwendungen, die unter dem Schlüsselwort „Spy Cam“ gefunden werden können (mithilfe eines Tricks, beispielsweise mit einer Einzelpixel-Vorschau (
http://www.ez.ai/2014/05/exploring-limits-of-covert-data) .html )). Eine solche Kreation bricht zu Beginn der Dreharbeiten und Berichte zusammen, aber es fließen regelmäßig Nachrichten ein:

Ich habe auch die Funktionalität der vorgeschlagenen Methode für eine Anwendung überprüft, die beim Klicken auf eine schwebende Schaltfläche eine einzige Aufnahme macht

ohne sichtbares Vorschaufenster.
Das Skript hat erfolgreich einen Anruf bei der Kamera abgefangen und bei jeder Aufnahme zwei Nachrichten ausgegeben:

Nichts hindert Sie jedoch daran, ähnliche Funktionen in einer Anwendung mit einem harmloseren Namen zu implementieren (
https://www.zdnet.com/article/this-scary-android-malware-can-record-audio-video-and-steal-your- Daten / ) und Berechtigungen - nun, es gibt alle Arten von Fällen. Und der „legale“ Antrag kann melden, wann es ihm gefällt (ich habe die Erwähnung eines solchen Falls getroffen). Und es ist nicht umsonst, dass
Android P Maßnahmen ergriffen hat, um zu verhindern, dass Hintergrundanwendungen auf die Kamera zugreifen.
Die Methode wurde auf den Smartphones
Huawei SCL-L01 (
Android 5.1.1) und
Huawei G700-U20 (
Android 4.2.1)
getestet. Bei anderen Smartphone-Modellen
kann das Ausgabeformat von
dumpsys abweichen (es ist nicht für den
media.camera- Dienst standardisiert), für das eine
Codekorrektur erforderlich ist .
Das Nachrichtenformat ist in der Bibliothek
/system/lib/libcameraservice.so fest codiert - zum Beispiel für das
Huawei SCL-L01- Smartphone:

Im
Kommentar - ein Hinweis, wie Sie den Code für die Arbeit mit einem Smartphone unter
Android 9 ändern können.
Dieser Kommentar zeigt das vom
HTC U11 verwaltete Kamerazugriffsprotokoll.
Aber zum Beispiel auf dem "alten"
Huawei U8650 (
Android 2.3.4) funktioniert
dumpsys gut:

Und die Rechte reichen nicht für ...
grep :-)
Überwachung des MikrofonzugangsEin ähnliches Verfahren kann angewendet werden, um den Zugriff von Anwendungen auf das Mikrofon zu überwachen. In diesem Fall müssen Sie den Dienst
media.audio_flinger überwachen.
Wir geben den Befehl in die "Shell" ein (der angegebene Code funktioniert auf dem Smartphone
Huawei SCL-L01 (
Android 5.1.1)):
while true; do ps `while ! (dumpsys media.audio_flinger | grep -A20 Input| grep -A1 Client | grep yes | grep -o "[^yes ].*" | grep -o [0-9]*) do done` | grep -o "[^S ]*$" | grep -v "NAME" | grep .; date; sleep 1; done
Wenn eine Anwendung Ton über ein Mikrofon
aufzeichnet, gibt es in der Ausgabe von
dumpsys media.audio_flinger ein ähnliches Fragment:

(
Eingangsthread - Eingangsstrom,
22467 -
PID des Prozessaufzeichnungstons).
Wenn Sie Ton über die Standardanwendung „Voice Recorder“ aufnehmen und die Überwachung aktiviert ist (über den obigen Code), werden die folgenden Meldungen angezeigt:

Aber welche Nachrichten werden ausgegeben, wenn die Spracheingabe des
Google Übersetzers aktiviert ist:
Auf anderen Smartphones kann das Ausgabeformat von dumpsys unterschiedlich sein, was eine Codekorrektur erfordert.Zum Beispiel auf einem Smartphone
Huawei G700-U20 (
Android 4.2.1):

In diesem Fall sieht der Überwachungscode folgendermaßen aus:
while true; do ps `while ! (dumpsys media.audio_flinger | grep -A3 Input| grep -A1 Clien | grep -o "[^ ].*" | grep -o [0-9]*) do done` | grep -o "[^S ]*$" | grep -v "NAME" | grep .; date; sleep 1; done
So manifestiert sich die "wiederbelebte" Alice in diesem Fall:
