Answers:
在我的手机上,凭据存储在中/data/wifi/bcm_supp.conf
。您可能需要root才能直接在手机上查看它,但是您可以使用adb pull
PC中的(需要Android SDK)来获取文件。
如评论中所述,位置可能会因您的ROM或设备(特别是Wi-Fi芯片;我的是Broadcom)而异。如果找不到eldarerathis或我建议的文件/data/wifi/
,请检查,/data/etc/wifi/
并/data/misc/wifi/
查找相关的配置文件。
/data/misc/wifi/wpa_supplicant.conf
。也许WPA请求者只是CyanogenMod的事情……
在CyanogenMod设备上,并可能在其他AOSP ROM上,您应该能够从/data/misc/wifi/wpa_supplicant.conf
文件中将其获取。在无根设备上,我认为这是不可能的,因为您无权读取/data
存储设置的目录,并且(Unchanged)
如果进入网络配置,则只会显示“设置”菜单。
这是我在CM7 EVO上看到的(已删除的网络名称和密码):
# 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
}
#
su
来获得root shell,但首先需要签入Settings->Developer Options
(您手机的主要设置)以查看“ Root Access”设置是什么。默认情况下,它是“仅应用程序”。您需要将其切换到“ Apps and ADB”才能su
从Shell运行。
adb root
紧随其后adb shell
。
在Android Oreo和Pie(在OnePlus 6上经过测试)中,该文件似乎/data/misc/wifi/WifiConfigStore.xml
存储了您的Wi-Fi凭据。我不知道一个好的XML解析器,但是可以在文本编辑器中打开文件(需要root访问)。搜索您的Wifi名称(SSID),然后找到包含以下内容的行:
<string name="SSID">"YOUR_SAVED_SSID;</string>
以下几行之一将显示密码。它将被称为“ PreSharedKey”。例:
<string name="PreSharedKey">"SAVED_PASSWORD;</string>