吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 8545|回复: 65
收起左侧

[原创工具] windows wifi密码

  [复制链接]
河南彭于晏 发表于 2022-12-21 12:34
本帖最后由 河南彭于晏 于 2022-12-23 20:21 编辑

看到论坛里的其他朋友做的密码查看器,觉得好玩,自己用python写了一个很简陋的查看器 ( :
帖子1
帖子2

[Python] 纯文本查看 复制代码
import tkinter
from tkinter import ttk
import os
import re


cmd = "netsh wlan show profiles"
str0 = os.popen(cmd).read()
str1 = re.findall('(\u6240\u6709\u7528\u6237\u914d\u7f6e\u6587\u4ef6...)(.*)', str0)

outList1 = []
outList2 = []
for i in str1:
    cmd = "netsh wlan show profiles name=\"" + i[1] + "\" key=clear"
    str2 = os.popen(cmd).read()
    output = re.search('(\u5173\u952e\u5185\u5bb9\s*.\s)(.*)', str2).group(2)
    outList1.append(i[1])
    outList2.append(output)

# GUI
top = tkinter.Tk()
top.geometry("250x60")
top.title("Wifi密码查看器")

lab1 = tkinter.Label(top, text="Wifi : ")
lab2 = tkinter.Label(top, text="PassWord : ")
lab1.grid(row=0)
lab2.grid(row=1)

entry = tkinter.Entry(top)
entry.grid(row=1, column=1)
cbox = ttk.Combobox(top)
cbox.grid(row=0, column=1)
cbox["value"] = outList1

def func(cbox):
    index = cbox.current()
    entry.delete(0, tkinter.END)
    entry.insert(0, outList2[index])

cbox.bind("<<ComboboxSelected>>",lambda event:func(cbox))

top.mainloop()



文件过大了,放到阿里云了
阿里云
https://www.aliyundrive.com/s/GZR44GScvZq




第一次修改

由于通过命令行读取密码很容易有bug,因此改用读取WLAN配置文件的方式.
原理:
以管理员身份打开cmd,输入
[Shell] 纯文本查看 复制代码
netsh wlan export profile folder=C:\ key=clear.

会生成一系列WLAN的配置文件(包括wifi的明文密码)
[Python] 纯文本查看 复制代码
import tkinter
from tkinter import ttk
import os
import tkinter.messagebox
import xml.etree.ElementTree
import time

# 生成WLAN配置文件
cmd = "mkdir C:\ProgramData\wlanPasswordView"
os.popen(cmd)
cmd = "netsh wlan export profile folder=C:\ProgramData\wlanPasswordView key=clear"
os.popen(cmd)

time.sleep(1)

# 解析XML
file_list = os.listdir('C:\ProgramData\wlanPasswordView')
wlan_list = []
for i in file_list:
    if os.path.splitext(i)[1] == '.xml':
        wlan_list.append(i)

for i in wlan_list:
    if i[0:4] == 'WLAN':
        pass  # success
    else:
        wlan_list.remove(i)

# 生成名称及对应的密码
list_name = []
list_password = []

for i in wlan_list:
    root = xml.etree.ElementTree.parse('C:\ProgramData\wlanPasswordView\\' + i).getroot()
    list_name.append(root[0].text)
    if root[4][0][0][0].text == 'open':
        list_password.append("无密码")
    else:
        list_password.append(root[4][0][1][2].text)



# GUI

top = tkinter.Tk()
top.geometry("300x100")
top.title("Wifi密码查看器")

mainmenu = tkinter.Menu(top)

lab1 = tkinter.Label(top, text="Wifi : ")
lab2 = tkinter.Label(top, text="PassWord : ")
lab1.grid(row=0)
lab2.grid(row=1)

entry = tkinter.Entry(top)
entry.grid(row=1, column=1)
cbox = ttk.Combobox(top)
cbox.grid(row=0, column=1)
cbox["value"] = list_name


def func(cbox):
    index = cbox.current()
    entry.delete(0, tkinter.END)
    entry.insert(0, list_password[index])


def doHelp():
    tkinter.messagebox.showinfo("Help",
                                   "1.请以管理员权限运行 \n "
                                   "2.该程序会在C:\ProgramData\wlanPasswordView下生成一系列以WLAN开头,后缀名为'.xml'的WLAN配置文件,可随意删除\n"
                                   "3.只能查看已保存的WiFi密码 ")


mainmenu.add_command(label="Help", command=doHelp)

cbox.bind("<<ComboboxSelected>>", lambda event: func(cbox))

top.config(menu=mainmenu)
top.mainloop()


阿里云:https://www.aliyundrive.com/s/68qiVQ8LDN4
B7{FYO7I8K9L$I$AIF9WH%R.png

免费评分

参与人数 9吾爱币 +13 热心值 +8 收起 理由
chenhaifengpla + 1 热心回复!
ql_zth + 1 明明控制面板可以解决的事 硬是复杂化
阴凉 + 1 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
T2T + 1 + 1 厉害厉害
q2013 + 1 谢谢@Thanks!
Lyy666 + 1 + 1 热心回复!
Taoqi88 + 1 + 1 用心讨论,共获提升!
Boom018 + 1 + 1 我很赞同!
风之暇想 + 7 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!

查看全部评分

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

luliucheng 发表于 2022-12-21 15:35
pip2207 发表于 2022-12-21 15:16
Traceback (most recent call last):
  File "main.py", line 16, in
AttributeError: 'NoneType' objec ...

应该是你没有连接过这个WiFi,程序在查找输出时没有匹配到“密码”字样,所以报错了。
luliucheng 发表于 2022-12-21 21:54
河南彭于晏 发表于 2022-12-21 21:41
我直接用正则表达式匹配出来的,输出格式稍微有点变化就寄了.我再改改

楼主可以试试把16行拆成3行,先判断group前面的是不是None,是就提示密码未保存,否则正常输出。
kurage7 发表于 2022-12-21 13:30
lieber 发表于 2022-12-21 13:36
是不是要连接过的wifi才可以查看吧
WY1234 发表于 2022-12-21 13:37
lieber 发表于 2022-12-21 13:36
是不是要连接过的wifi才可以查看吧

肯定的,但是很方便,不然你得一层层找
youcome 发表于 2022-12-21 13:41
正好需要,感谢分享
sgyfxa 发表于 2022-12-21 14:13
这个查看软件可以,下载来试用一下。谢分享
jiecoll 发表于 2022-12-21 14:16
这个是不是连接后存储的WiFi密码才能适用
mp3ld369 发表于 2022-12-21 14:18
W11   打开提示错误
duanpei 发表于 2022-12-21 14:20
正好需要,感谢分享
jxpengyong 发表于 2022-12-21 15:09
这个项目文件有点大
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-12-25 10:29

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表