如何找到保存的Wi-Fi密码?


Answers:


13

在我的手机上,凭据存储在中/data/wifi/bcm_supp.conf。您可能需要root才能直接在手机上查看它,但是您可以使用adb pullPC中的(需要Android SDK)来获取文件。

如评论中所述,位置可能会因您的ROM或设备(特别是Wi-Fi芯片;我的是Broadcom)而异。如果找不到eldarerathis或我建议的文件/data/wifi/,请检查,/data/etc/wifi//data/misc/wifi/查找相关的配置文件。


3
嗯,有趣。您正在使用哪种类型的电话的ATM?我没有该文件,但是我正要发布一个答案说要寻找/data/misc/wifi/wpa_supplicant.conf。也许WPA请求者只是CyanogenMod的事情……
eldarerathis

该文件的名称和位置因设备而异,但是应该一个或另一个。
卢卡斯·拉奇

9

在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
}
#

我的手机已扎根。我安装了“超级用户”应用程序。但是我怎么能用root访问'adb shell'。我尝试了'$ adb shell shell @ android:/ $ su权限被拒绝1 | shell @ android:/ $ cd / data shell @ android:/ data $ ls opendir失败,权限被拒绝255 | shell @ android:/ data $ su权限拒绝1 | shell @ android:/ data $
michael

1
嗯,这实际上是CyanogenMod中的新设置。您需要使用su来获得root shell,但首先需要签入Settings->Developer Options(您手机的主要设置)以查看“ Root Access”设置是什么。默认情况下,它是“仅应用程序”。您需要将其切换到“ Apps and ADB”才能su从Shell运行。
eldarerathis

@michael我总是adb root紧随其后adb shell
ott-- 2012年

2

在Android Oreo和Pie(在OnePlus 6上经过测试)中,该文件似乎/data/misc/wifi/WifiConfigStore.xml存储了您的Wi-Fi凭据。我不知道一个好的XML解析器,但是可以在文本编辑器中打开文件(需要root访问)。搜索您的Wifi名称(SSID),然后找到包含以下内容的行:

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

以下几行之一将显示密码。它将被称为“ PreSharedKey”。例:

<string name="PreSharedKey">&quot;SAVED_PASSWORD;</string>
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.