本项目所涉及的技术、思路和工具仅供学习交流,任何人不得将其用于非法用途和盈利,不得将其用于非授权渗透测试,否则后果自行承担,与本项目无关。使用本项目前请先阅读法律法规。
项目介绍wifi_crack_tool是一款基于Python开发的拥有图形界面的WiFi密码暴力破解工具,支持多平台,使用本项目应遵循MIT许可,可使用自定义密码本,且拥有自动保存破解成功后的WiFi SSID与密码到本地密码字典、在有多个无线网卡的情况下可以多开工具并行破解同一个或不同的WiFi。
支持 WPA、WPAPSK、WPA2、WPA2PSK 安全协议
如何使用 简单使用 使用首先测试你的无线网卡在 扫描wifi 和 连接wifi 时最佳的延时时长(以能成功扫描和成功连接为准),然后设置 扫描时间 和 连接时间。
接下来正常使用就可以啦。
结果破解的结果会在日志中显示,破解完成后会弹窗提示,并自动将破解得到的密码复制到剪切板。
自动运行 介绍自动破解扫描到的所有WiFi
使用 选择你要使用的无线网卡 扫描WiFi WiFi名称选择 ——全部—— 开始破解 结果破解的结果会在日志中显示,全部破解完成后会弹窗提示。
结果示例:
(1) wifi名称1 密码1 (2) wifi名称2 密码2 ... 多开并发 要求电脑至少有2个无线网卡,且都可以正常使用
使用以有2个无线网卡为例
打开2次 wifi_crack_tool.exe或者 python wifi_crack_tool.py 选择不同的无线网卡 扫描WiFi 选择需要破解的WiFi 开始破解 结果见 简单使用 / 自动运行
密码本 默认文件路径 ./passwords.txt 文件格式 password1 password2 password3 ... 密码字典 文件路径 ./dict/pwdict.json 文件格式 [ { "ssid":"wifi_1", "pwd":"password1" }, { "ssid":"wifi_2", "pwd":"password2" }, { "ssid":"wifi_3", "pwd":"password3" }, ] 日志 文件路径 ./log/wifi_crack_log_{datetime}.txt 开发环境Python ≥ 3.11.x(推荐:3.11.9)
核心模块pywifi、pyside6
系统要求 Windows 10 及以上 Ubuntu 22.04 及以上版本 其它支持 Python 3.11.x 以上的Linux系统Tips:理论支持Win10、Win11、Linux、MacOS(MacOS 暂未测试,可自行尝试构建)
如何修改GUI下载 Python 3.11.9 并安装
安装所需模块
pip install -r requirements.txt启动QT Designer pyside6-designer
pyside6-designer在QT Designer中打开wifi_crack_tool_gui.ui
使用设计器对UI进行调整
如何运行以及打包 Windows下载 Python 3.11.9 并安装
安装所需模块
pip install -r requirements.txt编译 wifi_crack_tool_gui.ui
pyside6-uic wifi_crack_tool_gui.ui -o wifi_crack_tool_gui.py编译运行 wifi_crack_tool.py
python -u wifi_crack_tool.py打包 wifi_crack_tool.py
pyinstaller -F -w wifi_crack_tool.py Linux(以 Ubuntu 24.04 为例)更新软件包
sudo apt update sudo apt upgrade安装QT GUI依赖库 以及 剪切板依赖库
sudo apt install libxcb-cursor0 sudo apt install xclip安装python3虚拟环境库
sudo apt install python3-venv创建python3虚拟环境
python3 -m venv wifi-crack-tool-venv激活python3虚拟环境
source wifi-crack-tool-venv/bin/activate安装所需模块(Linux需要将 requirements.txt 中的 pywin32>=306 删除)
pip3 install -r requirements.txt编译 wifi_crack_tool_gui.ui
pyside6-uic wifi_crack_tool_gui.ui -o wifi_crack_tool_gui.py编译运行 wifi_crack_tool.py
python3 -u wifi_crack_tool.py打包 wifi_crack_tool.py
pyinstaller -F -w wifi_crack_tool.py 更新日志 v1.2.2 [修复] 在多网卡的情况下意外的提示了 “应用程序的另一个实例已经在运行。” 的问题。(#13) [修复] 在部分情况下,进行utf-8编码转换时,出现转换异常的问题。(#13) [修复] 在破解中文WiFi后,连接的中文WiFi名称乱码的问题。 v1.2.1 [优化] 对Linux平台支持。 v1.2.0 [新增] 对扫描到的所有WiFi进行自动破解。(#10) v1.1.1 [修复] 部分已知问题。 v1.1.0 [重构] GUI框架从tkinter更换为了pyside6,对UI进行了调整。 [新增] 在UI可以设置扫描时间、连接时间以及选择无线网卡的功能。 [新增] 打开读取配置文件,关闭保存配置文件的功能。 [新增] 破解成功将SSID与密码保存在本地密码字典中,并在破解WiFi时优先从本地密码字典检索相关密码进行破解。 [新增] 在拥有多个无线网卡的情况下,可以多开工具并选择不同网卡并行破解。 [修复] 在搜索不到WiFi时报错的问题。 [优化] 消息框中出现破解成功、破解失败以及异常报错的消息时,单独以不同颜色高亮显示。 [优化] 部分功能。 v1.0.0 [新增] 日志输出、破解成功后自动将密码复制到剪切板。 [修复] WiFi中文名称乱码,无法正常破解的问题。 [优化] 部分功能。