Como posso encontrar uma senha de Wi-Fi salva?

26

Eu tenho um telefone Android conectado a um ponto de acesso Wi-Fi seguro. Como posso descobrir a senha do hotspot pelo telefone?

Michael
fonte
Para quem procura uma solução não raiz, consulte Recuperar senha WiFi
Firelord

Respostas:

13

No meu telefone, as credenciais são armazenadas /data/wifi/bcm_supp.conf. Você provavelmente precisará do root para vê-lo diretamente no seu telefone, mas poderá usar adb pull(requer o Android SDK) do seu PC para obter o arquivo.

Conforme observado nos comentários, o local pode variar de acordo com a sua ROM ou dispositivo (especificamente o chip Wi-Fi; o meu é um Broadcom). Verifique /data/wifi/, /data/etc/wifi/e /data/misc/wifi/para arquivos de configuração relevantes, se você não encontrar as sugeridas por eldarerathis ou me.

Matthew Read
fonte
3
Hum, interessante. Que tipo de telefone você está usando ATM? Não tenho esse arquivo, mas estava prestes a postar uma resposta dizendo para procurar /data/misc/wifi/wpa_supplicant.conf. Talvez WPA Supplicant é apenas uma coisa CyanogenMod ...
eldarerathis
O nome e o local do arquivo variam de acordo com o dispositivo, mas devem ser um ou outro.
Lucas Ramage 11/09
9

Nos dispositivos CyanogenMod, e possivelmente em outras ROMs AOSP, você deve conseguir capturá-lo do /data/misc/wifi/wpa_supplicant.confarquivo. Em um dispositivo não enraizado, acho que isso não é possível, pois você não terá permissão para ler os /datadiretórios em que as configurações estão armazenadas e o menu Configurações será exibido apenas (Unchanged)se você acessar a configuração de rede.

É o que vejo no meu CM7 EVO (nome e senha da rede redigidos):

# cd /data/misc/wifi/
# ls
sockets              wpa_supplicant.conf
# more wpa_supplicant.conf
ctrl_interface=eth0
update_config=1

network={
        ssid="SomeWifiNetwork"
        psk="MyPlaintextPassword"
        key_mgmt=WPA-PSK
        priority=1
}
#
eldarerathis
fonte
Meu telefone está enraizado. Eu tenho o aplicativo 'superusuário' instalado. Mas como posso obter 'adb shell' com acesso root. Eu tentei '$ adb shell shell @ android: / $ su permissão negada 1 | shell @ android: / $ cd / data shell @ android: / data $ ls opendir falhou, permissão negada 255 | permissão @ 255: / data $ su Permission negado 1 | shell @ android: / data $
michael
11
Ah, essa é realmente uma nova configuração no CyanogenMod. Você precisará usar supara obter um shell raiz, mas verifique primeiro Settings->Developer Options(as principais configurações do seu telefone) para ver qual é a configuração "Acesso ao Raiz". Por padrão, é "Somente aplicativos". Você precisará alterá-lo para "Aplicativos e ADB" supara trabalhar com o shell.
Eldarerathis
@ Michael eu sempre faço adb rootseguido por adb shell.
#
2

No Android Oreo e Pie (testado no OnePlus 6), o arquivo parece ser o /data/misc/wifi/WifiConfigStore.xmlque armazena suas credenciais de Wi-Fi. Não conheço um bom analisador de XML, mas o arquivo pode ser aberto em um editor de texto ( requer acesso root ). Pesquise com o nome do seu Wifi (SSID) e localize a linha que contém:

<string name="SSID">&quot;YOUR_SAVED_SSID;</string>

Uma das seguintes linhas mostraria a senha. Seria mencionado como "PreSharedKey". Exemplo:

<string name="PreSharedKey">&quot;SAVED_PASSWORD;</string>
Senhor do Fogo
fonte