逆向工程射频信号系统

逆向工程 无线电拦截 gnu-radio
2021-06-20 08:27:44

最近,我一直在试验软件定义无线电(SDR),并提出了一些启发式方法,我可以通过查看它们在瀑布图上的表示来直观地识别某些类型的信号。可以测量某些明显的特征,例如频率和带宽,但是如何系统地确定诸如调制和信道编码之类的东西?

我读过的所有书籍和论文都描述了传输或接收已知信号的过程,但没有一个讨论未知信号的识别和解码。有没有系统或方法?是否有论文、书籍或其他文件对此进行描述?

编辑: 也许最初的问题不够清楚,但我正在寻找的是可用于对无线接收的未知信号进行分类和解调的技术(阅读自动化技术)。例如,可以通过什么方法使可靠识别16QAM调制的方法自动化

4个回答

正如 atdre 建议的那样,您可能想要检查并了解通常的、已知的调制功能。这样,您通常至少可以弄清楚所讨论的调制类型。在大多数情况下,它会变成一些已知的调制。例如,阅读 AFSK 或 POCSAG 如何工作。

Carl Weisman 做了一系列关于 RF 和无线通信的入门课程:第 1部分第 2部分第 3部分第 4 部分这些课程涵盖了不同类型的调制。

此外,将信号通过一些已知的解调器有时会产生结果。Multimon-ng是一个方便的工具。

Oona最近写了一篇有趣的博客文章,内容涉及从直升机视频中反转未知信号,因此您也可以在那里找到一些提示。

如果您无法访问文档中的调制细节或通过 FCC 和专利搜索,那么您可能希望将其从固件或芯片中移除。

如果您可以获得信号的音频输出或示波器视觉效果,那么您就可以确定调制类型——无论是 FSK、简单的开关键控还是其他数据格式(特别容易发现的可能是POCGAG 和 Flex)。数据听起来总是像拨号调制解调器,根据这种声音挑选某些类型的调制可能并不难。

RTLSDR 只能在 64 到 1700 MHz 的频率范围内接收,在 1100-1250 MHz 之间有一些差距——这样做并不理想,但肯定可以只用 20 美元的设备和 GNU Radio Companion aka 来完成GRC(支持开箱即用的两级和四级 FSK 信号,无需支付额外的“附加组件”费用)。Hak5 Youtube 频道涵盖了使用 RTLSDR 和 GRC。

SDR 的一个简单替代方案(除了直接硬件,但此选项确实需要一些硬件)是RFcat您可以从该 Inguardians 博客文章中看到 2FSK 解调过程,以及有关如何从 FCC 查找信息的更多信息。

但是,即使您更喜欢 SDR - 目前(并且即将推出)还有更多选项可用。即将推出的是HackRF设备,它可以让您使用 GRC 进行传输——比 RTLSDR 高出一步。现在可用的是 Funcube 和 Ettus Research 通用软件无线电外设(USRP),它们也可与 GRC 一起使用

RF 信号由三种可能的调制组成:幅度、频率和相位。

确定信号的宽度和中心频率后,分析幅度变化(如果有)。尝试确定幅度是否是周期性的。同样,看看频率和相位。

大多数无线电系统都符合既定标准,因此一旦您确定了信号使用的调制方式,以及它们是离散的还是连续的,您就可以将它们缩小到更具体的可能性。

请注意,有些将非常复杂,使用此类系统不容易识别。不能以这种方式理解 GPS,因为您同时从许多卫星接收信号,并且必须使用码分技术将它们分开。其他新技术(如 MIMO)也同样复杂,不会轻易屈服于任何单独查看上述三种调制的自动化系统。

但它应该给你一个开始。

阅读完这篇精彩的演讲后

http://ewh.ieee.org/r5/denver/sscs/Presentations/2012_10_Agilent2.pdf ,

我对所有模式的来源以及它们的解码可能没有那么复杂有更好的理解。许多明显的复杂性来自草率的术语、不同的观点和同一事物的多个名称,正如我在 CCC-editor 中读到的那样,其中许多模式使用相同的解码器

Wavecom 网站上有很多信息(CCCeditor)、示例,我怀疑甚至是解码器,可以免费下载。从 Sigmira 和 Sorcerer 网站上的信息,以及似乎不再活跃的 Wavecom 上的信息,我了解到各种解码器在某种程度上或某些地方可用,或者作为模块内置在软件中,并且它们必须只是被激活,复制或选择。

Wavecom CCCeditor 显示了许多数字模式和解码器的名称。一旦选择了正确的解码器,只需调整一两个参数,主要是波特率,即可对信号进行解码。并不是说我知道如何做到这一点,或者在哪里可以找到解码器,但它提供了一个想法。

解码后的文本可能是自由格式的,也可能是根据某些协议(例如 POCSAG 或 ACARS)排列的,可能需要进一步解释。星座显示和眼图可用于确定何时选择了正确的波特率和其他调整。

如果给出OK。我可以写一两页关于我认为我们如何从这里开始,但我建议您仔细查看 Wavecom/Sigmira/Sorcerer 方法,进行一些反汇编,看看是否可以发现各种解码器和希望重新使用它们或升级它们。我们只需要一个 GUI,而 GNURADIO 可能是一个很好的起点。

73 亨利ZS3HA