本项目所涉及的技术、思路和工具仅供学习交流,任何人不得将其用于非法用途和盈利,不得将其用于非授权渗透测试,否则后果自行承担,与本项目无关。使用本项目前请先阅读法律法规。
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 暂未测试,可自行尝试构建)
-
下载 Python 3.11.9 并安装
-
安装所需模块
pip install -r requirements.txt
-
启动QT Designer pyside6-designer
pyside6-designer
-
在QT Designer中打开wifi_crack_tool_gui.ui
-
使用设计器对UI进行调整
-
下载 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
-
更新软件包
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
- [修复] 在多网卡的情况下意外的提示了 “应用程序的另一个实例已经在运行。” 的问题。(#13)
- [修复] 在部分情况下,进行utf-8编码转换时,出现转换异常的问题。(#13)
- [修复] 在破解中文WiFi后,连接的中文WiFi名称乱码的问题。
- [优化] 对Linux平台支持。
- [新增] 对扫描到的所有WiFi进行自动破解。(#10)
- [修复] 部分已知问题。
- [重构] GUI框架从tkinter更换为了pyside6,对UI进行了调整。
- [新增] 在UI可以设置扫描时间、连接时间以及选择无线网卡的功能。
- [新增] 打开读取配置文件,关闭保存配置文件的功能。
- [新增] 破解成功将SSID与密码保存在本地密码字典中,并在破解WiFi时优先从本地密码字典检索相关密码进行破解。
- [新增] 在拥有多个无线网卡的情况下,可以多开工具并选择不同网卡并行破解。
- [修复] 在搜索不到WiFi时报错的问题。
- [优化] 消息框中出现破解成功、破解失败以及异常报错的消息时,单独以不同颜色高亮显示。
- [优化] 部分功能。
- [新增] 日志输出、破解成功后自动将密码复制到剪切板。
- [修复] WiFi中文名称乱码,无法正常破解的问题。
- [优化] 部分功能。