昨天想了一会终于决定把这个小东西写了,一个Wifi密码查看器,就是利用Root之后的权限读取/data/misc/wifi/wpa_supplicant.conf 文件内容,然后获取wifi连接过的密码,实际操作的时候非常简单,但实际操作却遇到了一个问题。
读取的时候报:E/Read﹕ /data/misc/wifi/wpa_supplicant.conf: open failed: EACCES (Permission denied)这个错误,权限不足,我也知道,可以使用ROOT权限依旧有问题,当然有点我没理解,并不是使用su后,整个APK就是ROOT模式了,算是认识不足吧,好在想通了。最后好通过cp /data/misc/wifi/wpa_supplicant.conf /data/data/…../cache/ 然后再读取Cache目录下载的内容,搞定。
虽然有另一种做法就是使用cat /data/misc/wifi/wpa_supplicant.conf 然后通过getInputStream()去读取,可惜的是我一直没搞定这个问题,非遗憾。最后作品是这样的。
下载地址:http://www.loveyu.net/WifiPwd/download
Google Play 下载: https://play.google.com/store/apps/details?id=net.loveyu.wifipwd
2017年11月22日更新:
添加Wifi变化时的列表刷新
添加手动刷新菜单
添加后台回前台时的列表刷新
2017年4月9日更新:
新增对WIFI名称进行字典排序
对当前使用的WIFI名词置顶可能存在问题:由于使用新的签名方式,会导致部分设备自动更新出错,可以先卸载后重新安装,由于读取当前wifi信息,需要读取一项权限
补充说明(2020-04-14):不是不想更新,没设备Root,然后模拟器Root还没搞定。。。。。太难了
为什么有的中文名字是乱码呢?
如:交换机
能提供原始文件么?我尝试分析下
可以尝试从新下载1.6.5的版本做下观察,看是否可用
https://www.loveyu.net/project/WifiPwd/WifiPwd_1.6.5_12.apk
为何我的三星S4己R00T,并且己连接了WiF i,打开后显示:带密码的W I F I列表为空,以前用别的查看器能正常查看,现在几款都显示为空,为手动打开 /data/misc/wifi/wpa_supplicant.conf 里面也没看到有密码记录,是何原因,望解答。
三星S4比较老了吧,有升级最新系统么?你可以看看自己系统的版本,找到对应的文件然后再看看
更新到最新的1.6.3后,复制名称热点这三个,剪切板里没有,复制上,空的。只有退回到上一正常版本. 小米5.安卓7.0
今晚我修复下
已经修复
为啥中文的名字会死是乱码??
乱码显示的啥?
93o4lelllk
不会呀!我的米5 MIUI9正常显示中文
Fsrfc
xinlan726
表达的意思就是我想说的
建议增加下拉密码列表时刷新当前显示的wifi密码。换wifi后要退出软件后,再次启动才能看到新联接的wifi密码。
等闲下来我考虑下
最新的版本用的很好,我又来给你的Wifi密码查看器提建议了。现在还有个问题是。
1,如果我现在联的WiFi名是WiFi001
,打开你的wifi密码查看器,置顶的就是
名称:WiFi001
密码:12345678
(这个是你新加入的)
如何我要是没有退出你的查看器软件,后台还运行着,这个时候我又换了个Wifi联接了。如WiFi002
这个时候在把后台没关的查看器软件打开,置顶显示的还是之前WiFi001的名称与密码,不会显示WiFi002的名称与密码,必须要退出查看器软件,重新打开,才能看到WiFi002的名称与密码。
3,能不能在不退出软件重新打开就能看到现在已联的WiFi名称与密码呀?
4,就像Wifi万能钥匙,界面的,下拉WiFi名称后,就会自动更新置顶你现在所联接的WiFi名称与密码。
辛苦你了,能写个这么好的软件。
我跟进下这个,找个时间加下
小米CC9 MIUI12.5 20210112版 安卓11点开后空白,无法正常使用。
暂不支持Android 11
等他不忙了在更新下,我也期待这功能
已更新
直接读取wpa_supplicant.cong文件提示权限不足这个问题解决了吗
目前应该不会有这个问题,除非出了新的BUG
你现在的软件是复制文件出来再读取内容还是直接读取…… 我今天用inputstream还是报没有权限错误,求指教
可以参考 https://github.com/loveyu/WifiPwd/blob/master/app/src/main/java/net/loveyu/wifipwd/ReadWpaCfg.java#L46
采用的是 cat 命令直接读取,没有再复制了
感谢大佬指教,成功了! 我可以根据你的思路写个查看密码的app发到论坛吗?
随意
能不能增加顶部显示当前所联接的WiFi名称与密码功能呀??? 如果Wifi过多时.想把自己现在正在联接的Wifi分享给朋友的时候.WiFi名称与密码要一直不停的向下翻才能找到。 如果能在上面直接显示正在联接的Wifi名称与密码就不用在找了.会方便很多。
今天把这个功能添加上去了,你可以试试
怎么弄啊,哪位大神可以一步一步的聊聊我
你是要root手机么?
感觉好厉害的样子
正想做一个练练手,发现楼主已经实现了,拿来主义。有时间的话,我想加上查找、排序、导出(备份)的功能。
你可以fork下提交,然后我合并下,如果合适的话
要是手机不用ROOT也能用就完美了
这个有点难,毕竟没ROOT访问不了。或者说像小米自家应用那样
为什么手机受不了权,要下载哪个ROOT啊???
相应的工具有很多,自己搜索一下试试