移动测试基础 Android 通过 adb 查看已连接的 WIFI 密码

Heyniu · July 20, 2016 · Last by 123456 replied at December 30, 2016 · 4548 hits

解决痛点

  • 忘记WIFI密码,但是又有新设备要加入,怎么办?

前提

  • 一台root过的Android设备

知识点

  • WIFI密码保存在/data/misc/wifi/目录下的conf文件中

解决方案一(有电脑推荐,方便快捷)

  • adb shell 连接手机获取root权限,如果返回的字符串中不包含root字样,再输入su命令回车
  • 继续输入cat /data/misc/wifi/*.conf命令,将会把文件打印出来
  • ssid表示WIFI名称,psk是WIFI密码
  • 此时把psk分享出去就完美解决
adb shell
shell@asdad:/ $ su
root@asdad:/ # cat /data/misc/wifi/*.conf

e.g.
network={
ssid = "WIFI名称"
psk = "WIFI密码"
key_mgmt = WPA-PSK
priortity = 19
disabled = 1
}

解决方案二(无电脑使用)

  • 手机安装类似RE文件管理器的软件
  • 打开RE文件管理器,挂载为可读写模式,如果无权限,请授予该软件root权限
  • 进入到/data/misc/wifi/目录,打开对应的.conf文件,如果打不开则复制到/sdcard/目录下打开
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
共收到 28 条回复 时间 点赞

这个之前搞过,不过没有记录,现在忘记了。。还是多记啊

Heyniu #2 · July 20, 2016 作者

#1楼 @darker50 哈哈,一起加油

#2楼 @heyniu 你知道adb命令访问安卓应用程序数据库怎么访问吗

—— 来自TesterHome官方 安卓客户端

Heyniu #4 · July 20, 2016 作者

#3楼 @xuexi123 利用adb shell 连接手机,cd打开数据库目录,ls查看当前目录下的数据库文件db,然后sqlite3 XX.db 打开这个数据库 可以使用.help查看支持的命令。不过有些手机没有sqlite3这个命令,解决方案一安装sqlite3,解决方案二数据库导入到电脑查看,解决方案三利用RE等文件管理器打开

#4楼 @heyniu 谢谢你的回复,我执行到你说的打开数据库哪里了,/system/bin/sh: /system/xbin/sqlite3: not executable: magic 7F45 报这个错不知道怎么办 ,网上也找不到解决的办法?
root@dior:/data/data/com.ihydt_zzbank2 # cd databases
cd databases
root@dior:/data/data/com.ihydt_zzbank2/databases # ls
ls
chat
chat-journal
completedChat
completedChat-journal
contanctsdb
contanctsdb-journal
hmdb
hmdb-journal
logdb.db
logdb.db-journal
messagecenter
messagecenter-journal
myselfdb
myselfdb-journal
newMsg
newMsg-journal
person
person-journal
roomsdb
roomsdb-journal
root@dior:/data/data/com.ihydt_zzbank2/databases # sqlite3
sqlite3
/system/bin/sh: /system/xbin/sqlite3: not executable: magic 7F45

#4楼 @heyniu i我手机没有sqlite3 我导入了一个,
1|root@dior:/data/data/com.ihydt_zzbank2/databases # sqlite3 myselfdb
sqlite3 myselfdb
/system/bin/sh: /system/xbin/sqlite3: not executable: magic 7F45

输入su之后显示not found

#4楼 @heyniu 实际情况有不少手机并没有root或者无法root。
有些安卓浏览器安装后能把ssid和密码上传到云端,他们是怎么读取到这些敏感信息的?

Heyniu #9 · July 20, 2016 作者

#6楼 @xuexi123 估计你的sqlite3并没有导入成功,adb push 路径+sqlite3 /system/xbin/ 如果不行就是没权限,可以先导入SD卡,再copy过去

Heyniu #10 · July 20, 2016 作者

#7楼 @592861602 no found 是因为手机没root哦,这个的前提是手机要root

Heyniu #11 · July 20, 2016 作者

#8楼 @toolsh 我觉得这不可能,WIFI密码保存的路径必须要有root权限才可以操作。假设你的条件成立,那么有2种可能情况,第一这些浏览器拥有系统的签名,第二他们诱导了用户输入WIFI密码

小米直接扫码就行,哈哈

Heyniu #13 · July 21, 2016 作者

#12楼 @jack1785 这就是小米的套路啊,自家的软件签名都是系统签名,相当于有了root权限

#11楼 @heyniu QQ浏览器安卓版本6.8.1.2555,设置 -> 扩展功能 -> 免费WiFi助手。这个蹭WiFi功能,显然是用到了保存在云端的密码等信息。

Heyniu #16 · July 21, 2016 作者

#15楼 @toolsh 这个啊,这个是用户分享出去的密码,也就是说是用户自己输入的密码,然后QQ浏览器保存在云端的,类似WIFI万年钥匙,你觉得呢

#16楼 @heyniu 用户输入的密码是在系统设置里做的,QQ浏览器怎么获取到的?

Heyniu #18 · July 21, 2016 作者

#17楼 @toolsh 你下载个WIFI万能钥匙,然后你分享你已经连接的WIFI,一切你就明白了

#9楼 @heyniu push也操作过,可以成功,copy也可以,目录下已经有sqlite3.

—— 来自TesterHome官方 安卓客户端

好用么,回去试试看。

Heyniu #21 · July 29, 2016 作者

#20楼 @cloudwind 这个用的会比较少

@heyniu 为毛我的手机客服端登录不了 testerhome。。

常用这个方法 解决 wifi万能钥匙 破解后密码不可见的问题

adb 怎么快速找到activity啊?

Heyniu #27 · December 29, 2016 作者

#26楼 @friday 当前activity?就是界面上显示的Activity?

@heyniu 就是当前APP的

需要 Sign In 后方可回复, 如果你还没有账号请点击这里 Sign Up