> For the complete documentation index, see [llms.txt](https://hacktricks.xsx.tw/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://hacktricks.xsx.tw/todo/hardware-hacking/radio.md).

# Radio

<details>

<summary><strong>从零开始学习AWS黑客技术，成为专家</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE（HackTricks AWS红队专家）</strong></a><strong>！</strong></summary>

支持HackTricks的其他方式：

* 如果您想看到您的**公司在HackTricks中做广告**或**下载PDF格式的HackTricks**，请查看[**订阅计划**](https://github.com/sponsors/carlospolop)！
* 获取[**官方PEASS和HackTricks周边产品**](https://peass.creator-spring.com)
* 探索[**PEASS家族**](https://opensea.io/collection/the-peass-family)，我们的独家[**NFTs**](https://opensea.io/collection/the-peass-family)
* **加入** 💬 [**Discord群**](https://discord.gg/hRep4RUj7f) 或 [**电报群**](https://t.me/peass) 或在**Twitter**上关注我们 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)**。**
* 通过向[**HackTricks**](https://github.com/carlospolop/hacktricks)和[**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github仓库提交PR来分享您的黑客技巧。

</details>

## SigDigger

[**SigDigger** ](https://github.com/BatchDrake/SigDigger)是一个免费的数字信号分析器，适用于GNU/Linux和macOS，旨在提取未知无线电信号的信息。它通过SoapySDR支持各种SDR设备，并允许调整FSK、PSK和ASK信号的解调，解码模拟视频，分析突发信号并实时收听模拟语音频道。

### 基本配置

安装后，有一些配置可以考虑。\
在设置中（第二个选项卡按钮）您可以选择**SDR设备**或**选择一个文件**进行读取，以及选择频率和采样率（如果您的PC支持，建议最高可达2.56Msps）\\

![](https://615200056-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F1DLBZdNLkY4FUHtMnjPr%2Fuploads%2Fgit-blob-aa339e29a172dbb21029cd36f111963ad9605ecd%2Fimage%20\(655\)%20\(1\).png?alt=media)

在GUI行为中，如果您的PC支持，建议启用一些功能：

![](https://615200056-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F1DLBZdNLkY4FUHtMnjPr%2Fuploads%2Fgit-blob-da57d4c62d4c378a4fdc9de2fd01eb3b54090f24%2Fimage%20\(465\)%20\(2\).png?alt=media)

{% hint style="info" %}
如果您发现您的PC没有捕获到信号，请尝试禁用OpenGL并降低采样率。
{% endhint %}

### 用途

* 只需**捕获一段时间的信号并分析**，只需按住“Push to capture”按钮直到您需要的时间。

![](https://615200056-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F1DLBZdNLkY4FUHtMnjPr%2Fuploads%2Fgit-blob-181a968fc35a8f10c9c9d7caa614c05023e1d672%2Fimage%20\(631\).png?alt=media)

* SigDigger的**调谐器**有助于**捕获更好的信号**（但也可能使信号质量下降）。理想情况下，从0开始，不断**增大直到**发现引入的**噪音比**您需要的**信号改善更大**为止。

![](https://615200056-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F1DLBZdNLkY4FUHtMnjPr%2Fuploads%2Fgit-blob-72fae35fa97ac596ab5340e3626d99a222d042a2%2Fimage%20\(658\).png?alt=media)

### 与无线电频道同步

使用[**SigDigger** ](https://github.com/BatchDrake/SigDigger)与您想要收听的频道同步，配置“Baseband音频预览”选项，配置带宽以获取发送的所有信息，然后将调谐器设置为在噪音真正开始增加之前的级别：

![](https://615200056-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F1DLBZdNLkY4FUHtMnjPr%2Fuploads%2Fgit-blob-07aa1e74790de276a3e046a2062d6c78c532f7bd%2Fimage%20\(389\).png?alt=media)

## 有趣的技巧

* 当设备发送信息突发时，通常**第一部分将是前导码**，因此**如果在那里找不到信息**或者**有一些错误**，您**不需要担心**。
* 在信息帧中，通常应该**找到不同的帧并对齐它们**：

![](https://615200056-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F1DLBZdNLkY4FUHtMnjPr%2Fuploads%2Fgit-blob-f7cf31b66c9bb5041882983f38b8b8e2fd3e238f%2Fimage%20\(660\)%20\(1\).png?alt=media)

![](https://615200056-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F1DLBZdNLkY4FUHtMnjPr%2Fuploads%2Fgit-blob-41d3f2694208abf8c0893b8e03c3b6265e905589%2Fimage%20\(652\)%20\(1\)%20\(1\).png?alt=media)

* **恢复位后，您可能需要以某种方式处理它们**。例如，在曼彻斯特编码中，上+下将是1或0，下+上将是另一个。因此，一对1和0（上和下）将是真正的1或真正的0。
* 即使信号使用曼彻斯特编码（不可能连续找到两个0或1），您可能**在前导码中找到几个连续的1或0**！

### 使用IQ揭示调制类型

信号中有3种存储信息的方式：调制**幅度**、**频率**或**相位**。\
如果您正在检查信号，有不同的方法可以尝试弄清楚用于存储信息的方式（在下面找到更多方法），但一个好方法是检查IQ图。

![](https://615200056-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F1DLBZdNLkY4FUHtMnjPr%2Fuploads%2Fgit-blob-7d4313a88a5f311b72be4866be6da379b4a8f849%2Fimage%20\(630\).png?alt=media)

* **检测AM**：如果在IQ图中出现例如**2个圆圈**（可能一个在0，另一个在不同的幅度），这可能意味着这是一个AM信号。这是因为在IQ图中，0和圆圈之间的距离是信号的幅度，因此很容易看到使用不同幅度。
* **检测PM**：与前一张图像类似，如果您发现小圆圈彼此不相关，这可能意味着使用了相位调制。这是因为在IQ图中，点与0,0之间的角度是信号的相位，这意味着使用了4个不同的相位。
* 请注意，如果信息隐藏在于相位的改变而不是相位本身，您将无法清楚地区分不同的相位。
* **检测FM**：IQ图中没有用于识别频率的字段（到中心的距离是幅度，角度是相位）。\
  因此，要识别FM，您应该在此图中**只看到基本上一个圆圈**。\
  此外，IQ图中的**不同频率**通过圆圈上的**速度加速**来“表示”（因此在SysDigger中选择信号后，IQ图会填充，如果您发现圆圈中有加速或方向变化，这可能意味着这是FM）：

## AM示例

{% file src="/files/m34e7ObRjgEllXhPaoZQ" %}

### 揭示AM

#### 检查包络

使用[**SigDigger** ](https://github.com/BatchDrake/SigDigger)检查AM信息，只需查看**包络**，您可以看到不同明显的幅度级别。使用的信号正在以AM发送带有信息的脉冲，这是一个脉冲的外观：

![](https://615200056-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F1DLBZdNLkY4FUHtMnjPr%2Fuploads%2Fgit-blob-9071ce02e7d3216f531acb1af765959057816e27%2Fimage%20\(636\).png?alt=media)

这是带有波形的符号部分的外观：

![](https://615200056-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F1DLBZdNLkY4FUHtMnjPr%2Fuploads%2Fgit-blob-137365415bfe4558b52936587fe82fbc96f3d317%2Fimage%20\(650\)%20\(1\).png?alt=media)

#### 检查直方图

您可以**选择包含信息的整个信号**，选择**幅度**模式和**选择**，然后单击**直方图**。您会发现只有2个明显的级别

![](https://615200056-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F1DLBZdNLkY4FUHtMnjPr%2Fuploads%2Fgit-blob-103ffa0773503288389fb01597b647c62999eb43%2Fimage%20\(647\)%20\(1\)%20\(1\).png?alt=media)

例如，如果您在此AM信号中选择频率而不是幅度，您将只找到一个频率（信息不会仅使用1个频率进行调制）。

![](https://615200056-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F1DLBZdNLkY4FUHtMnjPr%2Fuploads%2Fgit-blob-ee45f10043ebe0bb9fe07f3d894a9a8b262e4f78%2Fimage%20\(637\)%20\(1\)%20\(1\).png?alt=media)

如果您发现很多频率，那么这可能不是FM，可能是信号频率仅因通道而改变。

#### 使用IQ

在此示例中，您可以看到**一个大圆圈**，但也有**很多点在中心**。

![](https://615200056-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F1DLBZdNLkY4FUHtMnjPr%2Fuploads%2Fgit-blob-4b98dfc90c82f2920f674cab49c8df1742eec0fe%2Fimage%20\(640\).png?alt=media)

### 获取符号速率

#### 使用一个符号

选择您可以找到的最小符号（以确保只有1个）并检查“选择频率”。在这种情况下，它将是1.013kHz（即1kHz）。

![](https://615200056-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F1DLBZdNLkY4FUHtMnjPr%2Fuploads%2Fgit-blob-8b78137878e651bae5b3d2b10f606ce2d99468f0%2Fimage%20\(638\)%20\(1\).png?alt=media)

#### 使用一组符号

您还可以指示要选择的符号数量，SigDigger将计算1个符号的频率（选择的符号数量越多，可能越好）。在这种情况下，我选择了10个符号，“选择频率”为1.004千赫：

![](https://615200056-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F1DLBZdNLkY4FUHtMnjPr%2Fuploads%2Fgit-blob-4731cf3e3c9e55c21fae726c9eb84b0f0c54fd48%2Fimage%20\(635\).png?alt=media)

### 获取位

找到这是**AM调制**信号和**符号速率**（并且在这种情况下，上表示1，下表示0），非常容易**获取信号中编码的位**。因此，选择带有信息的信号并配置采样和决策，然后按下采样（检查已选择**幅度**、已发现的**符号速率**已配置和已选择**Gadner时钟恢复**）：

![](https://615200056-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F1DLBZdNLkY4FUHtMnjPr%2Fuploads%2Fgit-blob-2528d1e23b1af138208d7d7c0d4b3b6e0c945aa5%2Fimage%20\(642\)%20\(1\).png?alt=media)

* **同步到选择间隔**表示如果您先前选择了间隔以找到符号速率，则将使用该符号速率。
* **手动**表示将使用指定的符号速率
* 在**固定间隔选择**中，您指定应选择的间隔数，它会从中计算符号速率
* **Gadner时钟恢复**通常是最佳选项，但您仍然需要指定一些近似的符号速率。

按下采样后，会出现以下内容：

![](https://615200056-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F1DLBZdNLkY4FUHtMnjPr%2Fuploads%2Fgit-blob-b9554e8600fe223329e2e2ddd5ccd89cfb5c99c0%2Fimage%20\(659\).png?alt=media)

现在，为了让SigDigger了解**携带信息的级别范围**，您需要单击**较低级别**并保持点击直到最大级别：

![](https://615200056-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F1DLBZdNLkY4FUHtMnjPr%2Fuploads%2Fgit-blob-f0301c0f92d85529b3a876e0caa7405810841dae%2Fimage%20\(662\)%20\(1\)%20\(1\)%20\(1\).png?alt=media)

例如，如果有**4个不同的幅度级别**，您应该需要将**每个符号的位数配置为2**，并从最小到最大选择。

最后，**增加\*\*\*\*缩放**并**更改行大小**，您可以看到位（您可以全选并复制以获取所有位）：

![](https://615200056-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F1DLBZdNLkY4FUHtMnjPr%2Fuploads%2Fgit-blob-593cd074f20340926db2ecfc1bc416c3ea90796a%2Fimage%20\(649\)%20\(1\).png?alt=media)

如果信号每个符号有多于1位（例如2位），SigDigger**无法知道哪个符号是**00、01、10、11，因此它将使用不同的**灰度**来表示每个符号（如果您复制位，它将使用**0到3的数字**，您需要处理它们）。

此外，使用**曼彻斯特**等**编码**，**上+下**可以是**1或0**，而**下+上**可以是1或0。在这些情况下，您需要\*\*处理获得的上升（1）和下降（0）\*\*以替换01或10对作为0或1。

## FM示例

{% file src="/files/Rxg1LOvuJsppIZdNkGOj" %}

### 揭示FM

#### 检查频率和波形

示例信号发送以FM调制的信息：

![](https://615200056-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F1DLBZdNLkY4FUHtMnjPr%2Fuploads%2Fgit-blob-c8ca928ff4e27f3803192a29f2afe38f7f27069e%2Fimage%20\(661\)%20\(1\).png?alt=media)

在前一张图像中，您可以明显看到**使用了2个频率**，但如果**观察\*\*\*\*波形**，您可能**无法正确识别2个不同的频率**：

![](https://615200056-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F1DLBZdNLkY4FUHtMnjPr%2Fuploads%2Fgit-blob-6522f6120f2f01dc79fb673df87bb254839f8010%2Fimage%20\(653\).png?alt=media)

这是因为我在两个频率中捕获了信号，因此一个频率大约是另一个的负值：

![](https://615200056-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F1DLBZdNLkY4FUHtMnjPr%2Fuploads%2Fgit-blob-a463e90ba8c3e1de260a539fac5eb45196ff4c92%2Fimage%20\(656\).png?alt=media)

如果同步频率**更接近一个频率而不是另一个**，您可以轻松看到这两个不同的频率：

![](https://615200056-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F1DLBZdNLkY4FUHtMnjPr%2Fuploads%2Fgit-blob-ebba66d4fa204583a95a0864101fc8d50b3d2baa%2Fimage%20\(648\)%20\(1\)%20\(1\)%20\(1\).png?alt=media)

![](https://615200056-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F1DLBZdNLkY4FUHtMnjPr%2Fuploads%2Fgit-blob-6d41dee414a289e2bc14f5d3dcfd8400439c5766%2Fimage%20\(634\).png?alt=media)

#### 检查直方图

检查带有信息的信号的频率直方图，您可以轻松看到2个不同的信号：

![](https://615200056-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F1DLBZdNLkY4FUHtMnjPr%2Fuploads%2Fgit-blob-379b82ca3f881eaef1eb58a5d5193fe51f11b9af%2Fimage%20\(657\).png?alt=media)

在这种情况下，如果您检查**幅度直方图**，您将发现**只有一个幅度**，因此**不能是AM**（如果您发现很多幅度，可能是因为信号在通道中失去了功率）：

![](https://615200056-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F1DLBZdNLkY4FUHtMnjPr%2Fuploads%2Fgit-blob-d8f7dcb75bf89075f1068e11ad08ff0ccfbc2699%2Fimage%20\(646\).png?alt=media)

这将是相位直方图（非常清楚地表明信号未调制为相位）：

![](https://615200056-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F1DLBZdNLkY4FUHtMnjPr%2Fuploads%2Fgit-blob-ca3f3bb95dd90f0c3ac044ff4896501b5f02a85b%2Fimage%20\(201\)%20\(2\).png?alt=media)

#### 使用IQ

IQ图中没有用于识别频率的字段（到中心的距离是幅度，角度是相位）。\
因此，要识别FM，您应该在此图中**只看到基本上一个圆圈**。\
此外，IQ图中的**不同频率**通过圆圈上的**速度加速**来“表示”（因此在SysDigger中选择信号后，IQ图会填充，如果您发现圆圈中有加速或方向变化，这可能意味着这是FM）：

![](https://615200056-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F1DLBZdNLkY4FUHtMnjPr%2Fuploads%2Fgit-blob-3cc6275632fb911872d5c59a1ffa2086e753de8c%2Fimage%20\(643\)%20\(1\).png?alt=media)

### 获取符号速率

一旦找到携带符号的频率，您可以使用**与AM示例中相同的技术**来获取符号速率。

### 获取位

一旦**发现信号是以频率调制**的，并且**找到符号速率**，您可以使用**与AM示例中相同的技术**来获取位。

<details>

<summary><strong>从零开始学习AWS黑客技术，成为专家</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE（HackTricks AWS红队专家）</strong></a><strong>！</strong></summary>

支持HackTricks的其他方式：

* 如果您想看到您的**公司在HackTricks中做广告**或**下载PDF格式的HackTricks**，请查看[**订阅计划**](https://github.com/sponsors/carlospolop)！
* 获取[**官方PEASS和HackTricks周边产品**](https://peass.creator-spring.com)
* 探索[**PEASS家族**](https://opensea.io/collection/the-peass-family)，我们的独家[**NFTs**](https://opensea.io/collection/the-peass-family)
* **加入** 💬 [**Discord群**](https://discord.gg/hRep4RUj7f) 或 [**电报群**](https://t.me/peass) 或在**Twitter**上关注我们 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)**。**
* 通过向[**HackTricks**](https://github.com/carlospolop/hacktricks)和[**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github仓库提交PR来分享您的黑客技巧。

</details>
