此工具可以一键修补 ESP-IDF 中的 libnet80211.a 闭源库,使其绕过 802.11 数据帧发送校验。可在 ESP32 系列 WiFi 模块不受限制的发送 802.11 WiFi原始数据帧
目前支持:ESP 32 C 全系列(C3/C5/C6),ESP32 S2/S3
如果不想自己处理 libnet80211.a 文件,可以通过此仓库下载我们修补后的 libnet80211.a 文件:
https://github.com/Geek-us/ESP32-80211-check-bypass
如果修补 ESP32 S2 时遇到错误,尝试将型号输入为S3
不受限制的发送 802.11 数据帧,意味着更多有研究价值的功能。我们正在开发一个基于 ESP32 C5 的工具类设备,扫描,嗅探,监视器,分析工具,deauth/disassoc,支持2.4G/5G,类似 Deauther 但更具研究价值,中文显示,功能全面(注意:这是一个测试用的工具类设备,不可用于恶意干扰或其他违规用途),如果你有兴趣,请加入QQ群组关注开发进度:887958737
有关此仓库及相关工具,旨在测试研究/开发调试提供便利,请合理使用否则自行承担风险
1.此工具支持在 Ubuntu / Kali Linux /Debian 以及其他基于 Debian 的 Linux 系统运行,确保你已处于正确的操作系统(推荐使用 Kali Linux )
2.克隆此储存库:
https://github.com/Geek-us/ESP32Patch或:
点击储存库右上角绿色 "Code" 按钮,点击 "Download ZIP" 随后将压缩包上传并解压到对应操作系统中,放到相对方便的位置
VM 虚拟机可以直接在实体机 Ctrl + C ,然后虚拟机中 Ctrl + V 来互传文件(相反同理)
完成后得到完整工具包:
ESP32Patch
-- riscv-gnu-toolchain
-- ESP32Patch
-- make_minimal_toolchain.sh
-- patch.o
-- README.md
3.在安装了 ESP32 SDK(开发板库) 的 Arduino IDE 环境中提取 libnet80211.a 库文件
通常位于:
C:\Users\用户名\AppData\Local\Arduino15\packages\esp32\tools\esp32-arduino-libs\idf-release_v5.5-07e9bf49-v1\esp32c5\lib\libnet80211.a
根据实际情况查找!不同型号开发板和不同IDE版本路径可能不同!
将这个 libnet80211.a 文件放到刚解压/克隆下来的 ESP32Patch 工具目录,完成后应该看到以下文件:
ESP32Patch
-- riscv-gnu-toolchain
-- ESP32Patch
-- libnet80211.a
-- make_minimal_toolchain.sh
-- patch.o
-- README.md
4.在此 ESP32Patch 目录中打开终端,大多数操作系统可在此目录右键,选择 Open Terminal Here
5.输入 ./ESP32Patch ,确认无误后执行修补,默认会修改同级目录即 ESP32Patch 中的 libnet80211.a 文件
如果你要修改的 libnet80211.a 文件不在此目录,执行:./ESP32Patch <libnet80211.a 文件所在路径>
6.等待修补完成后会生成 output 目录,在里面找到修补完成的 libnet80211.a 文件
7.将此文件移回 Arduino IDE 的 ESP32 SDK 中,例如:
C:\Users\用户名\AppData\Local\Arduino15\packages\esp32\tools\esp32-arduino-libs\idf-release_v5.5-07e9bf49-v1\esp32c5\lib\libnet80211.a
8.完成后在 Arduino IDE 中编写对应开发板的 802.11 帧发送程序将不再受限制!无需其他操作!
即官方步骤:
先esp_wifi_set_channel()后esp_wifi_80211_tx()
此工具支持多系列 ESP32 开发板,不止 ESP32 C5 ,你只需要在 esp32-arduino-libs\idf-release_xxx 中找到对应的开发板目录(C3/C5/C6/S2/S3等),并在其中找到正确的 libnet80211.a 即可
<ESP-IDF安装位置>/v5.5.2(版本)/esp-idf/components/esp_wifi/lib
处理方式与 Arduino 相同