Wie kann ich wifi Passwörter in Android programmatisch lesen

8

Ich versuche, die WLAN-Kennwörter programmgesteuert von einem nicht gerooteten Android-Gerät abzurufen.

Alles was ich brauche ist, die Passwörter lesen zu können, ich muss sie nicht bearbeiten können.

Kann ich in der Manifest-Datei eine Berechtigung erhalten?

    
fergany 24.01.2014, 10:40
quelle

4 Antworten

6

Dies ist nicht möglich, da dies ein großes Sicherheitsrisiko darstellen würde.

Sie können vielleicht, wenn das Telefon verwurzelt ist, aber ich weiß nicht, ich könnte mir vorstellen, und hoffe, auch wenn Sie dorthin gelangen könnten, wo es auf dem Telefon gespeichert ist, wäre es verschlüsselt.

    
Boardy 24.01.2014 10:43
quelle
6

In den meisten Fällen werden die Wi-Fi-Anmeldeinformationen vom wpa_supplicant Daemon verwaltet, der dies in einer Konfiguration speichert Datei wie /data/misc/wifi/wpa_supplicant.conf .

In dieser Datei finden Sie network -Strukturen, die die gemerkten Netzwerke wie folgt speichern:

%Vor%

Diese Datei gehört normalerweise einem Systembenutzer wie wifi oder root . Sie müssen also root sein, wenn Sie es direkt lesen möchten.

Trotzdem können Sie die ssid oder andere Netzwerkvariablen der Remember-Netzwerke mit dem Befehl wpa_cli erhalten:

%Vor%

Aber wenn Sie mit psk versuchen, erhalten Sie * , da dies ein Sicherheitsrisiko darstellt:

%Vor%     
jml 24.01.2014 13:46
quelle
6

Wenn Ihre Anwendung eine privilegierte Anwendung ist (dh in /system/priv-app installiert ist, zum Beispiel mit SuperUser), können Sie die neue WifiManager#getPrivilegedConfiguredNetworks() API in Lollipop und neuer verwenden.

Siehe: Ссылка

    
Aldrian 08.01.2016 13:49
quelle
3

Es gibt keine API-Unterstützung für das Lesen / Schreiben von WiFi-Passwörtern für APKs, die nicht mit dem Systemschlüssel signiert sind. Sie können es also nicht abrufen.

    
Bishan 24.01.2014 10:43
quelle

Tags und Links