¿Cómo puedo leer mediante programación contraseñas wifi en android
Estoy intentando conseguir las contraseñas de WiFi programmatically de un dispositivo androide no-arraigado.
Todo lo que necesito es poder leer las contraseñas, no necesito poder corregirlas.
- ¿Por qué WiFiP2P necesita permiso de Internet?
- Adición de un nuevo portador de red a Android
- Especifique el canal (o frecuencia) para la exploración Wi-Fi en Android
- ¿Cómo obtener el nombre de la red wifi fuera de android utilizando la API de Android?
- ¿Cuál es la diferencia entre la exploración activa y la exploración pasiva?
¿Puedo obtener permiso en el archivo de manifiesto?
- Conexión WiFi de Android mediante programación
- Problemas con el script wifi de Android
- Comprobación de Wi-Fi activado o no en Android
- ¿Por qué Android no tiene una dirección MAC para 3g cuando hace iOS?
- Obtener la dirección MAC del dispositivo: cuando el wifi está desactivado
- Android se conecta a WiFi sin interacción humana
- Cómo obtener el estándar wifi
- Inicie el navegador predeterminado desde el navegador de portal cautivo de Android (CaptivePortalLogin)
Esto no es posible, ya que esto sería un riesgo importante para la seguridad.
Usted puede ser capaz de si el teléfono está enraizado, pero no sé, me imagino, y la esperanza, incluso si usted podría llegar a donde se almacena en el teléfono, se cifraría.
La mayoría de las veces, las credenciales de Wi-Fi son administradas por el daemon wpa_supplicant
que lo almacena en un archivo de configuración como /data/misc/wifi/wpa_supplicant.conf
.
En este archivo encontrará estructuras de network
que almacenan las redes recordadas como esta:
network={ ssid="example" key_mgmt=WPA-PSK psk="passphrase" }
Este archivo suele ser propio de un usuario del sistema como wifi
o root
. Así que tienes que ser root
si quieres leerlo directamente.
Sin embargo, puede obtener el ssid
u otras variables de red de las redes recordar utilizando el comando wpa_cli
:
$ wpa_cli get_network <id> ssid "example"
Pero si intenta con el psk
obtendrá un *
ya que esto es un riesgo de seguridad:
$ wpa_cli get_network <id> psk *
Si su aplicación es una aplicación privilegiada (que se instala en /system/priv-app
por ejemplo, con SuperUser), puede usar la nueva WifiManager#getPrivilegedConfiguredNetworks()
en Lollipop y más reciente.
No hay soporte de API para leer / escribir contraseñas WiFi para APK no firmadas con la clave del sistema. Así que no podrás recuperarla.