我有一个连接到安全Wi-Fi热点的Android手机。如何从手机中找到热点的密码?

评论

那些寻求非root用户解决方案的人,请参阅检索WiFi密码

#1 楼

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

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

评论


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

–eldarerathis
2012年4月2日在18:41

该文件的名称和位置因设备而异,但是应该一个或另一个。

–愤怒
19年9月11日在12:19

#2 楼

在CyanogenMod设备以及可能的其他AOSP ROM上,您应该能够从/data/misc/wifi/wpa_supplicant.conf文件中获取它。在非root用户的设备上,我认为这是不可能的,因为您无权读取存储设置的/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 $

–迈克尔
2012年4月2日在20:34

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

–eldarerathis
2012年4月2日在21:08



@michael我总是先执行adb root,再执行adb shell。

– ott--
2012年12月1日于17:41

#3 楼

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


评论


在Android 8上,此PreSharedKey似乎不包含密码的纯文本版本

–俄罗斯
20 Jan 9 '20在9:57



您的OEM可能@Ruslan对其进行了加密。三星尤其擅长这样做。我的不是加密的。

–Firelord♦
20 Jan 9 '20在11:25