射频模块(Sub GHz)
射频模块(Sub-GHz)
Flipper Zero 中集成的是一个 CC1101 模块,CC1101 芯片和天线均设计为在 300-348 MHz、387-464 MHz 和 779-928 MHz 频段内工作,同时也可以使用 GPIO 外接 CC1101 模块
Sub-GHz
先来看菜单中显示的那个 Sub-GHz APP,进来之后可以看到六个选项
Read # 用来读取并解析 Flipper 已知协议的信号
Read RAW # 用来直接录制未知协议的原始信号
Saved # 录制的信号
Add Manually # 手动添加已知协议的信号
Frequency Analyzer # 频率分析仪
Radio Settings # 设置无线,比如使用内部的CC1101还是外部拓展的CC1101模块
在 Read 功能中按⬅️进入 Config,里面可以选择监听的频率(Frequency)、调制方式(Modulation)、是否扫频(Hopping)、Bin RAW 处理未解码的信号、是否忽略某些信号(Ignore xxxx)、当内存满了的时候是否删掉之前的信号(Delete old signals when memory is full)、是否开启声音(Sound)建议不开有点难听、重置配置到默认(Reset to default)、锁定按键防止监听过程中误触(Lock Keyboard)
Read 这个功能是一直持续监听的,打开扫频,把键盘锁住,放在口袋里等着接收信号即可
这里对调制方式做一个简单的科普,参考:https://www.youtube.com/watch?v=zhg41DbxIEc
AM(Amplitude Modulation 调幅)或者说 ASK(Amplitude Shift Keying 幅移键控)指的是根据信号振荡的幅度来取值,例如下图幅度大的取值为 1,幅度小的取值为 0
FM(Frequency Modulation 调频)或者说 FSK(Frequency Shift Keying 频移键控)指的是根据信号的频率变化来取值,例如频率比较低的时候取值为 0,频率高的时候取值为 1
PM(Phase Modulation 相位调制)或者说 PSK(Phase Shift Keying 相移键控)是根据不同的相位来区分不同的数值
至于相位是什么,物理上的定义是周期性运动的物体在各个时刻所处的不同状态,在这里我们可以理解为波形变换的起始点,例如下图,当相位为 0 度的时候是一个正常的正弦波形,当相位为 90 度的时候波形实际是起始位置从 pi/2 开始的,对应于上图,实际就是在 0 和 1 交替的时候相位变化了 180 度
以上只是做一个最简单的科普,实际还有很多细分的方式,例如调幅的方式可以根据振幅级别依次设定为 00、01、10、11 来提高效率
另外在 flipper 中调制方式后面还跟着一串数字,例如:AM270、AM650 等,这表示的是带宽
数字越大带宽越高。带宽高了一定时间内所能传递的信息就越多
Read RAW 这个功能用来直接录制未知协议的原始信号,在选项中也可以设置频率(Frequency)、调制方式(Modulation)值得一提的是还有一个叫做 RSSI Threshold 的选项,用来限定信号强度的阈值,只有信号强度达到这个阈值才会被记录,未达到这个阈值就不会记录,可以过滤掉一些噪声
Saved 这个选项是保存的信号,没什么好介绍的;
Add Manually 这个选项可以选择添加各种协议各种频率的信号,但是如果你去尝试一下就会发现,他会直接让你保存信号,嗯?手动添加不应该由我来指定各种协议的参数吗?实际情况是这个功能本意是让你添加一个由它随机生成的某个协议的信号,然后发送给你的接收器进行配对,以后你就可以用 flipper 控制你的设备了。而不是说,你可以根据你分析出来的协议与参数,自己构造无线电信号去做“坏事”,所以各种参数都是随机生成的
Frequency Analyzer 是一个频率分析仪,如果周围有在 CC1101 识别范围内的信号就会显示出来,⬅️➡️键用来调节信号强度阈值,可以看到 RSSI 信号强度下面有个小的三角标,可以比较直观的看出来当前调节到什么程度了
Radio Settings 里面可以设置是内部 CC1101 模块还是使用外接的扩展模块等,后面的几个选项没有找到明确的说明,如果你接了外接的 CC1101 默认会优先使用外接的
Sub-GHz Remote
项目地址:https://github.com/DarkFlippers/SubGHz_Remote
再来看一下 Sub-GHz Remote 这个 APP,一开始打开显示什么 map,还以为是地图,这里的 map 实际指的是映射,这个 APP 就是帮你把保存的多个 sub 文件映射到不同的方向键上去,这样 Flipper 就像是那种多个按键的遥控器一样
可以很方便的操作不同的信号,比如⬆️表示解锁⬇️表示上锁,这样就不用来回切换了(图片竖着放太占位置了,师傅们往左歪歪脖子活动一下颈椎吧)
图一样的,只是方便你再活动一下另一边(狗头)
Enhanced Sub-Ghz Chat
项目地址:https://github.com/twisted-pear/esubghz_chat
这个 APP 可以让两个 flipper 设备通过无线电进行文本聊天,并且可以选择是否加密,我只有一个设备,没法演示了,可以直接看这个视频:https://www.youtube.com/watch?v=ML5Na1E9BZ0
Restaurant Pager Trigger Tool
项目地址:https://github.com/leedave/flipper-zero-meal-pager
以暴力遍历的方式触发餐厅寻呼机,可用于测试设备是否仍然正常工作,支持Retekess T119、TD157、TD165、TD174,搜了搜这个牌子的餐厅寻呼机,大概长这样,国内应该没这东西?
POCSAG Pager
项目地址:https://github.com/xMasterX/flipper-pager
使用 CC1101 来接收文本消息,打开 APP 之后就只有 Receive message 和 About,选择 Receive message 就进入到监听模式,可以使用⬅️进行频率等参数的配置
我们用 Portapack 发个消息来验证一下,打开 Portapack,在 Transmit 中找到 POCSAG,设置好 MESSAGE 与 频率(Address 最好设置小一点,否则 flipper 会换行导致 message 有重叠显示不清楚的情况)
后来整理排版才发现,这玩意竟然是传说中的 BB 机的编码格式
Proto View
项目地址:https://github.com/antirez/protoview
这是个信号检测、可视化、编辑和回复工具,接收到信号后会以高低脉冲的形式展示出来
可以通过⬆️⬇️按键进行缩放,比如这个信号,缩放成这样就可以很直观地看出来,他是一个信号发了很多次,其中第一行最后面的小三角表示后面的可能只是噪声了
当信号放大后可以通过长按⬅️➡️来进行移动,长按 ok 键会重新监听录制信号,短按⬅️➡️会切换视图,如果信号能够被按照协议解析,左下角就会显示出协议,此时短按➡️可以看到详细信息,再按⬇️可以进入该信号的操作页面,短按 ok 表示发射信号,长按 ok 会保存该信号
以及配置频率和调制方式的视图,可以通过⬆️⬇️来修改配置
Subghz Rolling Flaws
这个 APP 不是用来攻击滚动码的,只是通过这个 APP 让你了解针对滚动码可能有哪些攻击方式
滚动码及相关知识值得新开一个文档,敬请期待
项目地址:https://github.com/jamisonderek/flipper-zero-tutorials/tree/main/subghz/apps/rolling-flaws
ShapShup
项目地址:https://github.com/derskythe/flipperzero-shapshup
仅仅是以电平信号形式查看 SubGhz RAW 文件,⬆️⬇️缩放,⬅️➡️移动
Spectrum Analyzer
项目地址:https://github.com/xMasterX/all-the-plugins/tree/dev/base_pack/spectrum_analyzer
功能看图应该就看出来了吧,就是看信号频率和信号强度的,⬅️➡️切换频率,⬆️⬇️缩放,ok 键切换频谱宽度
Sub-GHz Bruteforcer
项目地址:https://github.com/DarkFlippers/flipperzero-subbrute
打开之后是各种协议和频率的选项,在选项上➡️可以修改爆破的次数(默认为每个信号发送 3 次)
使用 ok 键进入选项后,可以通过 ok 键开始或停止爆破(每个信号爆破次数在屏幕中间 x9),使用 ⬅️➡️切换信号,长按可以快速切换,⬆️会保存当前信号⬇️会重放当前信号
Sub-GHz Playlist
这个 APP 的作用是根据你 txt 中设置的文件进行遍历播放,例如以下面这个文件作为 playlist,播放的时候就会遍历这两个文件播放
需要将 playlist 放到 SD Card 的 subplaylist 路径下,.sub 文件放在 SD Card 的 /ext/subghz 路径下
打开这个 APP 后选择 playlist 进入操作界面。⬅️➡️表示重放次数,确认键表示开始和暂停
TPMS Reader
项目地址:https://github.com/wosk/flipperzero-tpms
目前仅支持 Schrader GG4,就是读取出来然后进行分析,效果如下
Weather Station
项目地址:https://github.com/flipperdevices/flipperzero-good-faps/tree/dev/weather_station
正常来说,这个 APP 是可以解析气象站的气象信息,但是我上哪找气象站去呢... 网上搜了搜发现国外会有一些温湿度传感器挂在某个地方,然后通过 433MHz 发送到显示屏,效果如图: