
Nexmon 是我们基于 C 语言的固件补丁框架,适用于 Broadcom/Cypress WiFi 芯片, 它使你能够编写自己的固件补丁,例如启用带 radiotap 头的监控模式和帧注入。
下面,你可以看到 nexmon 能够实现的功能概览。本仓库主要专注于在多种芯片上启用监控模式和帧注入。如果你想要更多功能,以下项目可能会让你感兴趣:
我们的软件可能会损坏你的硬件,并可能导致你的硬件保修失效!你使用我们的工具需要自担风险和责任!如果你不喜欢这些条款,请不要使用 nexmon!
目前我们的 nexmon 固件补丁支持以下设备。
| WiFi 芯片 | 固件版本 | 用于 | 操作系统 | M | RT | I | FP | UC | CT |
|---|---|---|---|---|---|---|---|---|---|
| bcm4330 | 5_90_100_41_sta | Samsung Galaxy S2 | Cyanogenmod 13.0 | X | X | X | X | O | |
| bcm4335b0 | 6.30.171.1_sta | Samsung Galaxy S4 | LineageOS 14.1 | X | X | X | X | O | |
| bcm4339 | 6_37_34_43 | Nexus 5 | Android 6 Stock | X | X | X | X | X | O |
| bcm43430a11 | 7_45_41_26 | Raspberry Pi 3 and Zero W | Raspbian 8 | X | X | X | X | X | O |
| bcm43430a11 | 7_45_41_46 | Raspberry Pi 3 and Zero W | Raspbian Stretch | X | X | X | X | X | O |
| bcm43439a07 | 7_95_49 (2271bb6 CY) | Raspberry Pi Pico W | Pico SDK | X | X | X | X | ||
| bcm43451b1 | 7_63_43_0 | iPhone 6 | iOS 10.1.1 (14B100) | X | X | ||||
| bcm43455 | 7_45_77_0_hw | Huawei P9 | Android 7 Stock | X | X | X | X | X | |
| bcm43455 | 7_120_5_1_sta_C0 | Galaxy J7 2017 | ? | X | X | ||||
| bcm43455 | 7_45_77_0_hw(8-2017) | Huawei P9 | Android 7 Stock | X | X | X | X | X | |
| bcm434555 | 7_46_77_11_hw | Huawei P9 | Android 8 China Stock | X | X | X | X | X | |
| bcm43455 | 7_45_59_16 | Sony Xperia Z5 Compact | LineageOS 14.1 | X | X | X | X | X | |
| bcm43455c0 | 7_45_154 | Raspberry Pi B3+/B4 | Raspbian Kernel 4.9/14/19 | X | X | X | X | ||
| bcm43455c0 | 7_45_189 | Raspberry Pi B3+/B4 | Raspbian Kernel 4.14/19, 5.4 | X | X | X | X | ||
| bcm43455c0 | 7_45_206 | Raspberry Pi B3+/B4 | Raspberry Pi OS Kernel 5.4 | X | X | X | X | X | |
| bcm43455c0 | 7_45_234 (4ca95bb CY) | Raspberry Pi B3+/B4/5 | Raspberry Pi OS | X | X | ||||
| bcm43436b03 | 9_88_4_65 | Raspberry Pi Zero 2 W | Raspberry Pi OS Kernel 5.10 | X | X | X | X | X | |
| bcm4356 | 7_35_101_5_sta | Nexus 6 | Android 7.1.2 | X | X | X | X | O | |
| bcm4358 | 7_112_200_17_sta | Nexus 6P | Android 7 Stock | X | X | X | X | O | |
| bcm4358 | 7_112_201_3_sta | Nexus 6P | Android 7.1.2 Stock | X | X | X | X | O | |
| bcm43582 | 7_112_300_14_sta | Nexus 6P | Android 8.0.0 Stock | X | X | X | X | X | O |
| bcm43596a03 | 9_75_155_45_sta_c0 | Samsung Galaxy S7 | Android 7 Stock | X | O | X | |||
| bcm43596a03,2 | 9_96_4_sta_c0 | Samsung Galaxy S7 | LineageOS 14.1 | X | X | X | O | X | |
| bcm4375b13,5,6 | 18_38_18_sta | Samsung Galaxy S10 | Rooted + disabled SELinux | X | X | X | O | X | |
| bcm4375b13,5,6 | 18_41_8_9_sta | Samsung Galaxy S20 | Rooted + disabled SELinux | X | X | X | O | X | |
| bcm4389c15,8,9 | 20_82_42_sta (r994653) | Samsung Galaxy S22 Plus | Android 14, Rooted with Magisk | X | X | ||||
| bcm4389c15,8,9 | 20_101_36_2 (r994653) | Google Pixel 7 and 7 Pro | Rooted with Magisk | X | X | ||||
| bcm4389c15,8,9 | 20_101_57 (r1035009) | Google Pixel 7 and 7 Pro | Rooted with Magisk | X | X | ||||
| bcm4398d05,8,9 | 24_671_6_9 (r1031525) | Google Pixel 8 | Rooted with Magisk | X | X | ||||
| bcm6715b05 | 17_10_188_6401 (r808804) | Asus RT-AX86U Pro | Stock firmware 3.0.0.4_388.23565 | / | X | ||||
| qca95004 | 4-1-0_55 | TP-Link Talon AD7200 | Custom LEDE Image |
1 bcm43430a1 过去被错误地标记为 bcm43438。
2 使用 LD_PRELOAD=libnexmon.so 而不是 LD_PRELOAD=libfakeioctl.so 来通过 ioctls 注入帧
3 flash 补丁需要为 8 字节长,并按 8 字节边界对齐
4 来自首款 60 GHz Wi-Fi 路由器 Talon AD7200 的 802.11ad Wi-Fi 芯片。使用 nexmon-arc 修补你的固件,并使用我们的自定义 LEDE 镜像 lede-ad7200 运行它
5 已在区域 1 上禁用执行保护(称为 Execute Never),因为它会干扰 nexmon 代码(Section 上的权限错误)
6 要使用 nexutil,你需要停用 SELinux 或将其设置为 permissive
7 有关使用 Pico SDK 与 nexmon 的示例应用,请参阅 pico-nexmon。
8 flash 补丁需要为 16 字节长,并按 16 字节边界对齐。
9 使用 Magisk 模块来安装固件、nexutil 并设置 SELinux 策略。
sudo apt-get install git gawk qpdf adb flex bison
git clone https://github.com/seemoo-lab/nexmon.gitcd nexmon
source setup_env.shmakecd patches/bcm4339/6_37_34_43/nexmon/
makemake backup-firmwaremake install-firmware(请确保你的智能手机事先已连接到你的机器)