Skip to content
KitploitKITPLOIT
工具博客
提交
工具博客
提交

黑客、渗透测试和网络安全工具,武装您的安全武器库!

Kitploit 是一个黑客、网络安全和渗透测试工具的目录。发现最新的项目更新,查找漏洞、分析系统、自动化测试并加强你的安全。

··订阅源·联系·隐私·© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
gr-qradiolink — 用于 QRadioLink 模块的 GNU Radio OOT(out-of-tree)模块。 | Kitploit
工具/GitHubGitHub/supermagnum/gr-qradiolink
逆向工程模糊测试网络安全无线安全数字取证密码学渗透测试硬件安全实用工具与框架学习与教育
GitHubsupermagnum/gr-qradiolink

gr-qradiolink

用于 QRadioLink 模块的 GNU Radio OOT(out-of-tree)模块。

12个月前尚未审核

最受欢迎

查看全部 →

发现我们社区最常用的工具。

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享
查看仓库

gr-qradiolink

重要通知:此代码由AI生成。

此代码尚未经过专业程序员审查,它是一个大型项目。代码库中有可用的测试,请审查这些测试及其代码。


用于QRadioLink块的GNU Radio外部(OOT)模块。

分支 main: GNU Radio 3.10 OOT(CMake find_package(gnuradio))。实验性的GNU Radio 4移植版本位于分支**gnuradio4**(该分支上的README_gr4.md)。

代码导航: docs/CODE_MAP.md(文件、函数、块索引)。gr-ident ZMQ模式路由: docs/GRIDENT_ZMQ.md(在:5560端口上的gr-ident前导码)。

调制验证

使用radio-modulation-validator(2026-05-31)检查了调制器块的参考IQ。总结:SOFT FAIL — 19个块中6个通过,13个软失败,0个硬失败,3个跳过。

所有测试模式均被识别为正确的调制族(FSK、PSK、AM、FM)。阶数级别的软失败(例如FSK被预测为CPFSK而不是4FSK或GMSK)反映了验证器阶数分类器的局限性,而不是这些调制器产生错误波形族的证据。

扫描使用内置参考IQ(而非构建的OOT块);结果适用于本README中main分支上列出的模式,并镜像在**gnuradio4**分支上。

完整的逐块结果:VALIDATION_REPORT.md

发表

本项目在以下预印本中有所描述:

用于增强隐蔽通信的密码学密钥高斯分布扩频:设计、实现及ITU信道模型中的仿真性能
IACR Cryptology ePrint Archive,Paper 2025/108456
https://eprint.iacr.org/2025/108456

档案记录时间戳:2026年3月21日。


概述

本模块提供了用于各种数字和模拟调制方案的GNU Radio块,专为业余无线电和数字语音通信设计。

本模块从QRadioLink应用程序转换而来,该应用程序是一个用于GNU Radio、ADALM-Pluto、LimeSDR、USRP和其他SDR硬件的多模式SDR收发机。原始源代码位于https://codeberg.org/qradiolink/qradiolink。

验证: 与QRadioLink相对应的转换块已针对原始QRadioLink源代码(分支next,codeberg.org/qradiolink/qradiolink)进行了验证,以确保流图、滤波器参数、缩放常数和块行为匹配。SSB和AM调制器/解调器链(包括CESSB结构和限幅器/拉伸器常数)已恢复以匹配原始版本,因为它们之前有所偏离。本模块中的某些块在QRadioLink的src/gr/中没有对应来源;其来源在下表中说明。

致谢和来源:

  • QRadioLink (Codeberg) 是以下模式的来源(已验证与codeberg.org/qradiolink/qradiolink分支next,src/gr/一致):调制/解调(2FSK、4FSK、GMSK、BPSK、QPSK、AM、SSB、NBFM、WBFM)、数字语音(FreeDV、M17、DMR)及支持块(RSSI、M17解帧器、MMDVM源/宿、限幅器、拉伸器、zero_idle_bursts、gr_4fsk_discriminator、demod_mmdvm_multi、demod_mmdvm_multi2、mod_mmdvm_multi2)。这些块的DSP和模式行为源自或重新实现自QRadioLink应用程序。
  • 非来自QRadioLink的块(QRadioLink src/gr/中没有gr_*来源):8FSK、SOQPSK、CPM-4FSK、dPMR、NXDN、POCSAG、D-STAR、YSF、P25。其来源在下文的块来源表中给出。
  • 本模块新增内容(非来自QRadioLink):(1) DSSS增强(软判决度量、AFC、自适应相关阈值、粗到细捕获、定时恢复)基于基础DSSS扩频/解扩;(2) GDSS(高斯分布扩频扩频器/解扩器),根据Shakeel等人Sensors 2023(见参考文献)实现。

块来源(验证/归属):

该代码已使用libFuzzer进行了广泛的模糊测试,超过1.04亿次执行,涉及多个块,未发现崩溃或内存泄漏。请参阅fuzzing-results/results.md了解覆盖率详情。

特性

调制/解调块

  • 数字调制: 2FSK、4FSK、8FSK、CPM-4FSK、GMSK、BPSK、QPSK、SOQPSK、DSSS、GDSS
    • 2FSK: 二进制频移键控调制器/解调器(参见GRC块、示例)
    • 4FSK: 4电平频移键控调制器/解调器(参见GRC块、示例)
    • 8FSK: 8电平频移键控调制器/解调器,每符号3比特(参见GRC块、示例)
    • CPM-4FSK: 连续相位调制4FSK调制器(参见GRC块)
    • GMSK: 高斯最小频移键控调制器/解调器(参见GRC块、示例)
    • BPSK: 二进制相移键控调制器/解调器(参见GRC块、示例)
    • QPSK: 正交相移键控调制器/解调器(参见GRC块、示例)
    • SOQPSK: 成形偏移正交相移键控调制器/解调器(参见GRC块、详情)
    • DSSS: 直接序列扩频,带有增强的扩频器/解扩器块、PN序列生成(m序列、Gold码)、定时恢复、锁定检测、软判决度量、AFC支持、自适应相关阈值和粗到细捕获(参见DSSS块指南、GRC块)

SOQPSK(成形偏移正交相移键控)

SOQPSK是一种带宽高效的调制方案,相比标准QPSK提供了改善的频谱效率。该实现支持两种操作模式:

模式1:VHF/UHF单载波

  • 1个载波,14400 bps
  • 带宽:~10 kHz
  • 适合12.5 kHz分配

模式2:VHF/UHF多载波(抗衰落)

  • 3个载波,每个4800 bps
  • 间隔:4 kHz
  • 总带宽:~12 kHz
  • 更好的多径抵抗能力

HF最大能力

可用的最大带宽段:

  • 大多数HF频段:2700 Hz最大值(标准数字模式段)
  • 10m频段(29 MHz以上):6000 Hz最大值

SOQPSK效率:~1.5 bps/Hz

每载波容量:

  • 标准HF频段(2700 Hz):2700 Hz × 1.5 bps/Hz = ~4000 bps 每载波
  • 10m频段(6000 Hz):6000 Hz × 1.5 bps/Hz = ~9000 bps 每载波

VHF/UHF规格

载波规格:

  • 符号率:~9600符号/秒(对于14400 bps,1.5 bps/Hz)
  • 占用带宽:~9.6 kHz
  • 舒适地适合12.5 kHz信道并带有保护频带
  • 留下约2.9 kHz用于滤波滚降和保护频带

Python绑定

所有块都可通过Python绑定使用,包括:

  • 所有调制/解调块(2FSK、4FSK、8FSK、CPM-4FSK、GMSK、BPSK、QPSK、SOQPSK、DSSS、AM、SSB、NBFM、WBFM)
  • 所有数字语音块(FreeDV、M17、DMR、dPMR、NXDN、MMDVM)
  • FEC块(LDPC编码器/解码器、交织器)
  • 支持块(RSSI、M17解帧器、MMDVM源/宿、限幅器、拉伸器等)

Python绑定使得可以在GNU Radio Companion流图和Python脚本中使用这些块。

目录结构```

gr-qradiolink/ ├── CMakeLists.txt # Top-level CMake configuration ├── include/ # Public header files │ └── gnuradio/ │ └── qradiolink/ ├── lib/ # Implementation files ├── python/ # Python bindings │ └── qradiolink/ │ └── bindings/ ├── grc/ # GNU Radio Companion block definitions ├── docs/ # Documentation │ ├── doxygen/ │ ├── CODE_MAP.md # Code and function map (all modules) │ ├── GRIDENT_ZMQ.md # gr-ident ZMQ mode routing guide │ ├── DSSS_BLOCKS.md # DSSS spreader/despreader guide │ ├── GDSS_BLOCKS.md # GDSS spreader/despreader guide │ └── PTT_CONTROL.md # PTT control with gr-osmosdr ├── examples/ # Example flowgraphs ├── tests/ # Unit tests └── cmake/ # CMake modules └── Modules/

root@kitploit:~
## 依赖项

请参阅 [DEPENDENCIES.md](https://github.com/supermagnum/gr-qradiolink/blob/HEAD/DEPENDENCIES.md) 获取所需和可选依赖项的完整列表。

**快速概要:**
- 使用 `git clone --recursive` 克隆(或者在克隆后运行 `git submodule update --init --recursive`)
- GNU Radio >= 3.10(其中 vocoder 组件需支持 Codec2 编译)
- CMake >= 3.16
- Boost 库
- Volk(向量优化内核库)
- ZeroMQ(可选,用于 MMDVM 块和 gr-ident 前导 SUB)
- Python 3.x 及 NumPy(用于 Python 绑定)
- fmt 库(用于测试)

## 测试

该模块包含所有块的全面单元测试。测试使用 CTest 和 Boost.Test 框架运行。

### 测试结果

所有测试均成功通过。请参阅 [tests/results.md](https://github.com/supermagnum/gr-qradiolink/blob/HEAD/tests/results.md) 查看 C++ 单元测试、Python 测试框架及边界案例结果。请参阅 [fuzzing-results/results.md](https://github.com/supermagnum/gr-qradiolink/blob/HEAD/fuzzing-results/results.md) 查看模糊测试和 MMDVM 协议测试详情。

**C++ 单元测试:**```
100% tests passed

Test Breakdown:
- 12 Manual tests (with int main): test_mod_2fsk, test_mod_4fsk, test_mod_8fsk,
  test_mod_am, test_mod_gmsk, test_mod_bpsk, test_mod_mmdvm, test_mod_freedv,
  test_gdss_spreader_cc, test_gdss_despreader_cc, test_dsss_cdma_transmitter_cc,
  test_dsss_cdma_receiver_cc
- Boost.Test tests: mod_ssb, mod_qpsk, mod_nbfm, mod_wbfm, mod_dsss, all
  demodulators, rssi_tag_block (8 tests), interleaver_bb (13 tests with edge cases)
- gr-ident: test_grident_zmq (JSON parse and mode_id to demod mapping)

Test Coverage:
- Modulators: 2FSK, 4FSK, 8FSK, AM, GMSK, BPSK, SSB, QPSK, NBFM, WBFM, DSSS, M17, DMR, dPMR, NXDN
- Demodulators: 2FSK, 4FSK, 8FSK, AM, GMSK, BPSK, SSB, QPSK, NBFM, WBFM, DSSS, M17, DMR, dPMR, NXDN
- FEC: interleaver_bb (HF burst error handling, 13 tests including edge cases)
- Note: SOQPSK and CPM-4FSK blocks are implemented and available but unit tests are planned for future releases

MMDVM 协议测试(Python):``` 41 tests passed, 0 tests failed

  • Protocol validation: 28 tests (all passed)
    • POCSAG: 10 tests (all passed)
    • D-STAR: 9 tests (all passed)
    • YSF: 4 tests (all passed)
    • P25: 5 tests (all passed)
  • Block integration: 13 tests (all passed)
    • POCSAG: 4 tests (encoder/decoder creation, output, roundtrip)
    • D-STAR: 3 tests (encoder/decoder creation, output)
    • YSF: 3 tests (encoder/decoder creation, output)
    • P25: 3 tests (encoder/decoder creation, output)
root@kitploit:~
有关完整的MMDVM协议测试结果,请参见 [fuzzing-results/results.md](https://github.com/supermagnum/gr-qradiolink/blob/HEAD/fuzzing-results/results.md)。

一个 **DSSS BER 仿真** ([examples/dsss_ber_simulation.py](https://github.com/supermagnum/gr-qradiolink/blob/HEAD/examples/dsss_ber_simulation.py)) 运行 spreader -> AWGN -> despreader,并绘制 N=64, 128, 256 时 BER 与 SNR 的关系图,叠加理论曲线 0.5*erfc(sqrt(N*Es/N0/2));两条曲线在仿真噪声范围内匹配,确认了正确的 DSSS 行为。

### 运行测试

要构建并运行测试套件:```bash
cd build
cmake ..
make
ctest --output-on-failure

模糊测试结果

该模块包含使用 libFuzzer 的全面模糊测试覆盖。参见 fuzzing-results/results.md 获取完整的模糊测试活动结果,包括:

  • 覆盖统计(发现 757 条边,893 个特征)
  • 执行指标(1.04 亿次以上执行)
  • 性能分析
  • 安全评估(0 次崩溃,0 次内存泄漏)

Python 验证测试

该模块包含所有调制类型的基于 Python 的验证测试。参见 fuzzing-results/results.md 获取验证测试结果。所有数字语音模式(FreeDV、M17、DMR、dPMR、NXDN)现在都有 Python 绑定和验证支持。SOQPSK 模块具有 Python 绑定并可供使用;验证测试计划在未来版本中提供。

文档

模块文档

  • 代码与功能映射:源文件索引、公共 API、gr-ident 函数表,以及调制/解调/DSSS 模块链接。
  • gr-ident ZMQ 集成:有线格式、端点、GRC 接线,以及从 gr-ident mode_id 切换解调/调制组。
  • PTT 控制指南:使用 gr-qradiolink 模块时,通过 gr-osmosdr 及类似 SDR 硬件控制 PTT(一键通)的综合指南。
  • DSSS 模块指南:DSSS 扩频器和解扩模块:PN 序列生成、定时恢复、软判决度量、AFC、自适应相关阈值、粗到细捕获及集成示例。
  • GDSS 模块指南:GDSS 扩频器和解扩模块:序列生成、定时恢复、软判决度量、AFC、自适应阈值、粗到细捕获,以及相对于二进制 PN 序列的优势。
  • 示例目录:展示各种模块使用的示例流程图和 Python 脚本。

模块参考链接

所有模块在 grc/ 目录中都有 GRC(GNU Radio Companion)模块定义。关键模块:

数字调制:

  • 2FSK Modulator / 2FSK Demodulator
  • 4FSK Modulator / 4FSK Demodulator
  • 8FSK Modulator / 8FSK Demodulator
  • CPM-4FSK Modulator
  • GMSK Modulator / GMSK Demodulator
  • BPSK Modulator / BPSK Demodulator
  • QPSK Modulator / QPSK Demodulator
  • SOQPSK Modulator / SOQPSK Demodulator
  • DSSS Spreader / DSSS Despreader
  • DSSS-CDMA Transmitter / DSSS-CDMA Receiver

模拟调制:

  • AM Modulator / AM Demodulator
  • SSB Modulator / SSB Demodulator
  • NBFM Modulator / NBFM Demodulator
  • WBFM Modulator / WBFM Demodulator

数字语音:

  • M17 Coder / M17 Decoder / M17 Deframer
  • DMR Modulator / DMR Demodulator
  • dPMR Modulator / dPMR Demodulator
  • NXDN Modulator / NXDN Demodulator

MMDVM 协议:

  • POCSAG Encoder / POCSAG Decoder
  • D-STAR Encoder / D-STAR Decoder
  • YSF Encoder / YSF Decoder
  • P25 Encoder / P25 Decoder

gr-ident(可选,libzmq):

  • gr-ident Preamble SUB / gr-ident Mode Control

FEC:

  • LDPC Encoder / LDPC Decoder (Soft-Decision)(软判决)
    • 支持规则和不规则 LDPC 码
    • 可配置码率:1/2、2/3、3/4 或自定义
    • 可配置块长度:576、1152、2304 位或自定义
    • 自动从可用的 AList 文件中选择最佳匹配码
  • Interleaver (HF Burst) - 用于 HF 突发错误处理的块交织器/解交织器

有关所有模块的完整列表,请参见 grc/ 目录。

参考文献

  • GDSS(高斯分布扩频): Shakeel, I.; Hilliard, J.; Zhang, W.; Rice, M. Gaussian-Distributed Spread-Spectrum for Covert Communications. Sensors 2023, 23(8), 4081. doi:10.3390/s23084081. 本模块中的 GDSS 扩频器/解扩模块实现了该论文中的象限保持 I/Q 掩蔽方案(第 3 节):每个码片使用独立的 Gaussian 样本 U、V,逐元素掩蔽 I = R(S)|U|, Q = Im(S)|V|。

许可证

本项目采用 GNU 通用公共许可证 v3.0 或更高版本(GPL-3.0-or-later)授权。

详细信息请参见 QRadioLink 仓库中的 LICENSE 文件。

下载工具
块来源备注
2FSK、4FSK、GMSK、BPSK、QPSK、AM、SSB、NBFM、WBFM、FreeDV、M17、DMRQRadioLink已验证与QRadioLink src/gr/(gr_demod_、gr_mod_)一致。
MMDVM源/宿、demod_mmdvm_multi、demod_mmdvm_multi2、mod_mmdvm_multi2、RSSI、限幅器、拉伸器、zero_idle_bursts、gr_4fsk_discriminatorQRadioLink已验证与QRadioLink src/gr/一致。
8FSK为本模块实现QRadioLink中没有gr_demod_8fsk/gr_mod_8fsk。基于4FSK风格设计的扩展。
SOQPSK为本模块实现QRadioLink中没有gr_demod_soqpsk/gr_mod_soqpsk。来自SOQPSK文献/规范。
CPM-4FSK为本模块实现QRadioLink中没有gr_mod_cpm_4fsk。
dPMR为本模块实现QRadioLink中没有gr_*。来自ETSI TS 102 658(测试向量和代码注释)。
NXDN为本模块实现QRadioLink中没有gr_*。来自NXDN论坛规范;符号映射参考MMDVM惯例。
POCSAG为本模块实现QRadioLink中没有gr_*。来自POCSAG/ITU-R M.584-2;协议与MMDVMHost兼容。
D-STAR为本模块实现QRadioLink中没有gr_*。来自D-STAR/JARL规范(Golay FEC);与MMDVMHost兼容。
YSF为本模块实现QRadioLink中没有gr_*。来自YSF协议文档;与MMDVMHost兼容。
P25为本模块实现QRadioLink中没有gr_*。来自P25 Phase 1 TIA-102;与MMDVMHost兼容。
DSSS(基础)QRadioLink已验证与QRadioLink gr_demod_dsss/gr_mod_dsss一致。
DSSS(增强)、GDSS本模块DSSS:在QRadioLink基础之上的增强。GDSS:来自Shakeel等人,Sensors 2023。
gr-ident ZMQ路由本模块与gr-ident前导码PUB互操作;非来自QRadioLink。
  • DSSS-CDMA: 码分多址发送器和接收器,支持多用户、可配置扩频因子(32、64、128、256、512),支持多种调制方案(2FSK、4FSK、8FSK、GMSK、BPSK、QPSK、SOQPSK)(参见GRC块)
  • GDSS: 高斯分布扩频,使用高斯分布序列的扩频器/解扩器块;软判决度量、AFC支持、自适应阈值和粗到细捕获。GDSS方案遵循Shakeel等人,用于隐蔽通信的高斯分布扩频,Sensors 2023, 23(8), 4081;doi:10.3390/s23084081。(参见GDSS块指南、GRC块)
  • 模拟调制: AM、SSB(USB/LSB)、NBFM、WBFM
    • AM: 幅度调制调制器/解调器(参见GRC块、示例)
    • SSB: 单边带(USB/LSB)调制器/解调器(参见GRC块、示例)
    • NBFM: 窄带频率调制调制器/解调器(参见GRC块、示例)
    • WBFM: 宽带频率调制调制器/解调器(参见GRC块、WBFM解调器)
  • 数字语音: FreeDV、M17、DMR(Tier I/II/III)、dPMR、NXDN、MMDVM
    • FreeDV: FreeDV数字语音编解码器(参见示例)
    • M17: M17数字语音协议,支持物理层和协议层(参见GRC块、示例)
    • DMR: 数字移动无线电(Tier I/II/III)调制器/解调器(参见GRC块、示例)
    • dPMR: 数字专用移动无线电(ETSI TS 102 658),2400波特,6.25 kHz信道间隔(参见GRC块、示例)
    • NXDN: 下一代数字窄带,支持NXDN48(2400波特)和NXDN96(4800波特)模式(参见GRC块、示例)
    • MMDVM协议: POCSAG、D-STAR、YSF(Yaesu System Fusion)、P25(Phase 1 C4FM)
      • POCSAG: 寻呼协议(ITU-R M.584-2),具有BCH(31,21) FEC,支持512/1200/2400 bps(参见GRC块、示例)
      • D-STAR: 用于业余无线电的数字智能技术,具有Golay(24,12) FEC(参见GRC块、示例)
      • YSF: C4FM协议,具有Golay(20,8)和Golay(23,12) FEC(参见GRC块、示例)
      • P25: Project 25 Phase 1 C4FM,具有BCH(63,16)和Trellis编码(参见GRC块、示例)
  • gr-ident模式路由(可选,需要gr-ident或兼容的前导码PUB):订阅tcp://127.0.0.1:5560上的解码mode_id,并选择匹配的解调/调制块族(参见GRIDENT_ZMQ.md、CODE_MAP.md)
    • grident_preamble_sub: ZMQ SUB到gr-ident前导码PUB(需要libzmq)
    • grident_mode_control: 解析JSON,在消息端口route_out上发布demod_block / mod_block
  • 支持块: 音频源/宿、RSSI、FFT、解帧器、CESSB、M17解帧器、MMDVM源/宿、限幅器、拉伸器、zero idle bursts(参见GRC块)
  • FEC块: 带有软判决LDPC编码器/解码器和块交织器的前向纠错
    • LDPC编码器/解码器: 支持规则和非规则LDPC码
    • 可配置码率: 1/2、2/3、3/4或自定义
    • 可配置块长度: 576、1152、2304比特或自定义
    • 自动选择: 从可用的AList文件中自动选择最佳匹配码
    • 参见GRC块
    • 交织器(HF突发): 用于HF信道突发错误缓解的块交织器;将突发错误分散到符号位置以获得更好的FEC性能(参见GRC块)
  • DSSS块: 增强的扩频器/解扩器,具有PN序列生成、定时恢复、捕获、软判决支持、AFC、自适应阈值和粗到细码搜索(参见DSSS块指南、GRC块)
  • DSSS-CDMA块: 多用户CDMA发送器和接收器,具有可配置扩频因子、Gold码支持和多用户干扰估计(参见GRC块)
  • GDSS块: 高斯分布扩频扩频器和解扩器,具有软判决、AFC、自适应阈值和粗到细捕获。GDSS基于Shakeel等人,Sensors 2023, doi:10.3390/s23084081。(参见GDSS块指南、GRC块)
  • GDSS Spreader / GDSS Despreader