Senape3000/EvilCrowRF-V2
GitHub: Senape3000/EvilCrowRF-V2
EvilCrow RF V2 提供基于ESP32与CC1101的开源固件与工具链,实现Sub-GHz/nRF24无线协议的调试、攻击与研究。
Stars: 47 | Forks: 7
# EvilCrow RF V2

EvilCrow RF V2 是一个开源项目,提供用于次GHz无线电研究、测试和实验的固件、工具和配套移动应用。该项目以基于 ESP32 并使用 CC1101 收发器的控制器为核心,配套提供用于 BLE 控制的 Flutter 移动应用,以及 Python SDR 工具和基于 Web 的固件烧录工具。
## 快速链接
- [⚡WEB FIRMWARE FLASHER](https://senape3000.github.io/EvilCrowRF-V2/web-flasher/)
- [🖥️APP & FW Release](https://github.com/Senape3000/EvilCrowRF-V2/releases)
- [❤️DONATE](https://ko-fi.com/senape3000)
## 支持的硬件
- EvilCrowRF-V2 [[link]](https://it.aliexpress.com/item/1005007868951389.html?gatewayAdapt=glo2ita4itemAdapt)- [[link]](https://labs.ksec.co.uk/product/evil-crow-rf-v2/)
- 存储:LittleFS(内置)支持,SD 卡支持(最大 32GB)(FAT32 文件系统)
## 主要功能
- CC1101 驱动与双模块支持,用于次GHz操作
- 33+ 协议暴力破解引擎与 De Bruijn 攻击模式
- 全频扫频模式(自动化多频率扫描)
- 通过 LittleFS 持久化保存暴力破解器状态
- 基于 BLE 的二进制协议,支持分块传输与通知
- OTA 通过 BLE 进行更新,MD5 校验(应用 ↔ 设备流程)
- Web 烧录器 UI(ESP Web Tools 清单 + GitHub 发布集成)
- Flutter 移动应用:BLE 控制器、快速操作、OTA 检查
- [类似 SDR 的工具与 Python 实用程序(频谱扫描、原始 RX、URH 桥接)](https://github.com/Senape3000/EvilCrowRF-V2/tree/main/SDR)
- 通过 BLE 进行电池监控与状态通知
请参阅 `docs/` 获取详细指南、攻击方法文档和开发者说明。
## 快速开始
需求:PlatformIO / PIOArduino(用于固件)、Flutter(用于移动应用)、Python 3.8+(用于 SDR 工具)。
构建固件(PlatformIO):
```
# 克隆仓库
git clone [repository-url]
cd [repository-name]
# 在已安装 PlatformIO 扩展的 VSCode 中打开项目文件夹
# 等待 PlatformIO 完成初始设置(依赖项、库等)
# 构建固件
pio run
# 上传到设备
pio run --target upload
#Or use the PlatformIO GUI in VSCode: click the "Build" button in the upper toolbar, then "Upload" once the build completes successfully.
```
构建移动应用(Android):
```
todo
```
运行 SDR 工具(示例):
```
todo
```
***Web 烧录器***:打开上方提供的烧录器网址。Web 烧录器会获取发布版本并驱动 ESP Web Tools 以实现在线烧录。
## OTA 与发布
- 发布遵循语义化版本控制。固件和移动应用发布会发布到 GitHub 发布版本,并由 Web 烧录器引用。
- 典型资源文件:`evilcrow-v2-fw-vX.Y.Z.bin`、`evilcrow-v2-fw-vX.Y.Z.bin.md5`、`EvilCrowRF-vX.Y.Z.apk`。
- OTA 高级协议:设备命令包含 OTA 开始、分块数据传输、结束与重启。应用在传输前验证 MD5。
## 项目结构
- `src/` — 固件 C/C++ 源代码
- `include/` — 共享头文件与消息定义
- `lib/` — 外部库与驱动(例如 CC1101 驱动)
- `mobile_app/` — Flutter 移动控制器(UI + BLE 代码)
- `web-flasher/` — 静态 Web 烧录器站点(index.html, app.js)
- `SDR/` — Python SDR 实用工具
- `docs/` — 文档、指南、原理图与计划
## 开发与贡献
- 遵循现有编码风格并保持改动聚焦。
- 使用 PlatformIO 构建与烧录固件;提供 Windows 辅助脚本(`build_firmware.bat`、`flash_firmware.bat`)。
- 移动开发:在 `mobile_app/`(Flutter)内部工作;设置说明请参考 `mobile_app/README.md`。
- 测试与工具:`tools/` 与 `SDR/` 目录下提供用于暴力破解模块的 Python 辅助脚本与测试框架。
## 后续工作
- 添加基于词表的字典攻击模式
- 探索滚码分析工具
- 添加多频率协议变体(Chamberlain/Liftmaster 等)
- 增强 DuckyScript 解析器(REPEAT、DELAY、多键组合)
- 完善应用本地化
- 在验证堆栈预算后,为更大的 n(14/16)添加 De Bruijn 支持
## 安全与法律声明
本项目仅供研究与授权测试使用。请勿在未获明确许可的系统上使用这些工具。维护者不承担误用责任。
**通过使用或下载本代码,您同意这些条款,并确认作者不对任何误用承担责任。**
## 联系与问题
请在 GitHub 上针对错误、功能请求或支持打开 Issue。

标签:BLE, CC1101, De Bruijn攻击, ESP32, Flutter, LittleFS, OTA, PoC, SDR工具, SD卡存储, Sub-GHz, URH桥, USB串行, Web刷写器, 云资产清单, 协议破解, 固件, 多语言UI, 安全测试, 射频, 射频工具包, 射频研究, 开源硬件, 攻击性安全, 无线操作, 无线电, 暴力破解, 状态通知, 电池监控, 社区驱动, 移动应用, 蓝牙低功耗, 逆向工具, 逆向工程, 频谱扫描