tworjaga/flipper-rf-lab
GitHub: tworjaga/flipper-rf-lab
面向Flipper Zero的嵌入式射频分析平台,提供设备指纹识别、协议推断、频谱监测和威胁建模等15项专业功能。
Stars: 0 | Forks: 0
# Flipper RF Lab
[](https://flipperzero.one)
[](LICENSE)
[](tests/test_algorithms.py)

## 功能
| 功能 | 描述 | 状态 |
|---------|-------------|--------|
| **RF 指纹识别** | 通过时序漂移、上升/下降斜率、时钟不稳定性进行设备级识别 | ✅ |
| **自适应信号建模** | 自动协议检测与假设生成 | ✅ |
| **跨会话关联** | 比较不同捕获会话间的信号 | ✅ |
| **行为画像** | 长期设备行为分析 | ✅ |
| **时序稳定性分析** | 实验室级振荡器特性表征 | ✅ |
| **高级聚类** | K-means 和分层信号分组 | ✅ |
| **威胁建模** | 漏洞评分与风险评估 | ✅ |
| **实时活动图** | 300-928 MHz 连续频谱监测 | ✅ |
| **信号重放完整性** | 验证信号再生的保真度 | ✅ |
| **模块化研究模式** | 用于协议逆向工程的深度分析工具 | ✅ |
| **内部遥测** | OS 级性能监控 | ✅ |
| **确定性执行** | <1μs 时序抖动,确保科学有效性 | ✅ |
| **信号压缩** | 5:1+ 压缩率,用于长期日志记录 | ✅ |
| **长期日志记录** | 无人值守后台监控 | ✅ |
| **嵌入式数学工具包** | Q15.16 定点运算 | ✅ |
## 快速开始
### 前置条件
- [Flipper Zero](https://flipperzero.one/) 设备
- [Flipper Zero Firmware SDK](https://github.com/flipperdevices/flipperzero-firmware)
### 安装
```
# 1. 克隆 Flipper Zero 固件
git clone https://github.com/flipperdevices/flipperzero-firmware.git
cd flipperzero-firmware
# 2. 将此应用程序添加到 user apps
git clone https://github.com/tworjaga/flipper-rf-lab.git applications_user/flipper-rf-lab
# 3. Build 应用程序
./fbt fap_flipper_rf_lab
# 4. Flash 到你的 Flipper Zero
./fbt fap_flipper_rf_lab flash
```
### 替代方案:直接下载
从 [Releases](https://github.com/tworjaga/flipper-rf-lab/releases) 下载最新的 `.fap` 文件并复制到你的 Flipper SD 卡中。
## 用法
### 主菜单
- **捕获模式**:实时 RF 信号捕获与分析
- **频谱扫描**:300-928 MHz 连续监测
- **设备数据库**:查看已识别的设备指纹
- **研究模式**:高级协议逆向工程工具
- **设置**:配置 RF 参数和日志记录选项
### 捕获与分析
1. 选择频段(315/433/868/915 MHz 或自定义)
2. 选择调制类型或使用自动检测
3. 开始捕获 - 信号将被自动分析
4. 查看实时结果:指纹、威胁评分、协议推测
### 研究模式
- 原始时序转储为 CSV
- 二进制帧可视化
- 脉冲直方图分析
- 帧对齐工具
## 架构
```
flipper-rf-lab/
├── core/ # Main application & HAL
│ ├── flipper_rf_lab.h # Core data structures
│ ├── flipper_rf_lab_main.c # Entry point & FreeRTOS tasks
│ ├── hal/ # Hardware abstraction
│ │ ├── cc1101_driver.c # TI CC1101 RF transceiver
│ │ ├── gpio_manager.c # GPIO control
│ │ └── timer_precision.c # DWT cycle counter (1μs)
│ └── math/ # Fixed-point math library
│ ├── fixed_point.c # Q15.16 operations
│ └── statistics.c # Welford's online algorithm
├── analysis/ # Signal analysis engines
│ ├── fingerprinting.c # RF device fingerprinting
│ ├── clustering.c # K-means & hierarchical
│ ├── protocol_infer.c # Protocol detection
│ └── threat_model.c # Vulnerability scoring
├── storage/ # Data persistence
│ ├── sd_manager.c # FAT32 file operations
│ └── compression.c # Delta, RLE, Huffman, LZ77
├── ui/ # User interface
│ └── main_menu.c # 128x64 LCD menu system
└── research/ # Advanced tools
└── telemetry.c # Performance monitoring
```
## 技术规格
| 参数 | 数值 |
|-----------|-------|
| **平台** | Flipper Zero (STM32WB55RG) |
| **CPU** | ARM Cortex-M4 @ 64 MHz |
| **RAM 占用** | ~60 KB(仅静态分配) |
| **时序精度** | 0.1 μs(DWT 周期计数器) |
| **频率范围** | 300-928 MHz |
| **调制方式** | 2-FSK, 4-FSK, GFSK, MSK, OOK, ASK |
| **压缩** | 16.7:1 比率 (RLE) |
| **电池续航** | 8+ 小时记录,48+ 小时待机 |
## 测试
所有核心算法均已通过 Python 模拟验证:
```
cd tests
python test_algorithms.py
```
**结果**:30/30 测试通过 (100%)
- 定点数学运算 (Q15.16)
- 压缩算法(Delta, RLE)
- 统计分析(Welford 算法)
- 聚类(K-means, 欧几里得距离)
- 威胁建模(香农熵)
- 协议推断(OOK, FSK, ASK 检测)
## 贡献
欢迎贡献!请阅读 [CONTRIBUTING.md](CONTRIBUTING.md) 了解指南。
## 许可证
MIT 许可证 - 详见 [LICENSE](LICENSE) 文件。
## 致谢
- [Flipper Devices](https://flipperdevices.com/) 提供了很棒的 Flipper Zero
- [Flipper Zero Firmware](https://github.com/flipperdevices/flipperzero-firmware) 团队
- TI CC1101 数据手册和应用笔记
## 联系方式
**作者**:[@tworjaga](https://github.com/tworjaga)
如有 Bug 报告或功能请求,请使用 [GitHub Issues](https://github.com/tworjaga/flipper-rf-lab/issues)。
标签:Flipper Zero, SIGINT, Sub-GHz, 二进制发布, 云资产清单, 信号处理, 信号完整性, 信号指纹识别, 信号聚类, 协议检测, 固件插件, 威胁建模, 实验室级定时, 客户端加密, 密码管理, 射频分析, 嵌入式安全, 嵌入式开发, 开源工具, 数据压缩, 无线电取证, 物理层安全, 物联网安全, 硬件安全, 自适应信号建模, 设备行为分析, 逆向工程, 静态内存, 频谱分析, 频谱监测