如何使用SDR+inspectrum逆向分析无线遥控信号

 0×00 前言

[[170345]]

前段时间在《HackRF入门:家用无线门铃信号重放》 一文中通过HackRF录制、重放了无线遥控信号,不过一直没来得及对信号进行分析,刚好在国外网站看到有大牛对遥控信号进行了分析(详见refer部分)。在这里便按照国外大牛分析无线遥控信号的方法来依葫芦画瓢。

*本文仅分享信号分析方式,因信号调制编码方式有所不同,如数据分析有出错,希望大家不要打我= ̄ω ̄= 摸摸大

0×01 环境搭建

Mac可使用port(/www.macports.org) 或者brew(brew.sh)安装GnuRadio依赖套件:

  1. sudo port install gnuradio 
  2.  
  3. sudo port install hackrf 
  4.  
  5. sudo port install rtl-sdr 
  6.  
  7. sudo port install gr-osmosdr gqrx 
  8.  
  9. sudo port install hackrf 

完成上面的工作后便能在Mac环境中使用电视棒、HackRF、GnuRadio了。

0×02 Recording 信号录制

录制遥控信号的方式有很多,如电视棒+SDR-sharp录制wav音频格式数据、通过HackRF命令终端录制RAW格式数据,本文使用GNURadio+SDR硬件(rtl-sdr、HackRF、BladeRF等)来实现这一功能:

左侧RTL-SDR Source将使用SDR硬件接收315MHz无线信号,采样率为2M,右上WX GUI Waterfall sink将接收到的信号通过瀑布图在PC上显示捕获的无线信号,右下角File Sink将捕获到的无线数据包储存到/tmp/test.cfile文件中。执行流图并摁下遥控可看到如下效果图:

个人比较喜欢使用gr-fosphor的瀑布图模块来对捕获到的信号在瀑布图上进行展示:

结束GnuRadio流图后,查看/tmp目录下的test.cfile:

0×03 Analysis 信号分析

分析信号可使用音频处理软件Audacity:

不过这种方式需要肉眼将波形转化成0跟1,看起来比较容易眼花。maybe,只有老司机才能很快很准确地用这种方式完成分析任务。

3.1 安装inspectrum

在这篇文章中我们将通过inspectrum(https://github.com/miek/inspectrum)这个工具来分析信号,配合Python将信号转成二进制数据。

  1. sudo port install fftw-3-single cmake pkgconfig qt5 
  2.  
  3. git clone https://github.com/miek/inspectrum.git 
  4.  
  5. mkdir build 
  6.  
  7. cd build 
  8.  
  9. cmake .. 
  10.  
  11. make 
  12.  
  13. sudo make install 
  1. inspectrum -h 
  2.  
  3. Usage: inspectrum [options] file 
  4.  
  5. spectrum viewer 
  6.  
  7. Options: 
  8.  
  9. -h, --help Displays this help. 
  10.  
  11. -r, --rate <Hz> Set sample rate. 
  12.  
  13. Arguments: 
  14.  
  15. file File to view

3.2 数据导入、分析

  1. inspectrum /tmp/test.cfile 

通过左侧Spectrogram参数的调节、缩放工具,我们可以实现波形图的放大缩小,颜色深浅调节:

下方Time selection可对波形进行划分:

对Symbols进行递增,直至囊括一个信号波形区域:

右键—>Add derved plot—>Add amplitude plot:

效果如下:

对部分参数进行微调:

导出波形数据:

此时在终端获得波形宽度数据:

3.3 解码

接下来我们可通过Python将这些数据转成0、1,,test.py代码如下:(if i > x x的值根据自身实际情况决定,建议取最大值跟最小值区间的自然数)。

  1. s = ''a = [0.121182, 0.00224696, 0.00227361, 0.00222253, 0.121036, 0.121293, 0.12126, 0.00220722, 0.121013, 0.00221486, 0.00230146, 0.00230048, 0.120959, 0.120975, 0.12077, 0.00227199, 0.120701, 0.00226761, 0.00234306, 0.00225335, 0.120851, 0.120784, 0.12084, 0.00224014, 0.120892, 0.00221627, 0.00222881, 0.00219768, 0.121157, 0.00224349, 0.00221741, 0.00223827, 0.120798, 0.00237988, 0.00226093, 0.00232855, 0.120649, 0.120813, 0.121032, 0.00222553, 0.120876, 0.00221533, 0.00225347, 0.00228226, 0.120759, 0.120718, 0.12042, 0.00218557, 0.120344, 0.00222487, 0.00224753, 0.00227552, 0.120383, 0.120384, 0.120275, 0.00224362, 0.120611, 0.00219556, 0.00227022, 0.00224123, 0.120514, 0.120328, 0.12068, 0.0022916, 0.120735, 0.12043, 0.120697, 0.00224807, 0.120399, 0.120808, 0.120405, 0.00222214, 0.120512, 0.120833, 0.120495, 0.00226469, 0.120727, 0.120617, 0.120534, 0.00222499, 0.120441, 0.120626, 0.120297, 0.00208249, 0.120539, 0.120365, 0.120612, 0.00214876, 0.120545, 0.120262, 0.120739, 0.00228899, 0.12051, 0.120525, 0.120172, 0.00214644, 0.120678] for i in a: if i > 0.03: s +='1' else: s +='0' 

0×04 replay 信号重放

通过上述方式,我们已对SDR捕获到的无线信号进行分析,并把信号文件转换成了二进制数据,接下来可使用GnuRadio对数据进行重放、修改测试,或者使用RFcat+Python实现廉价的重放Hacking。

0×05 refer

https://medium.com/@eoindcoolest/decoding-a-garage-door-opener-with-an-rtl-sdr-5a47292e2bda#.qu46ncrr3

Mike Walters: Reversing digital signals with inspectrum – YouTube

My quickest and easiest method for OOK signal decoding & replication in 2016 – YouTube

文章来源网络,作者:管理,如若转载,请注明出处:https://shuyeidc.com/wp/126757.html<

(0)
管理的头像管理
上一篇2025-02-24 08:54
下一篇 2025-02-24 08:55

相关推荐

  • jsp空间购买和交换数据空间怎么买,有哪些注意事项?

    购买JSP空间时,是否考虑过数据交换空间的性能?简米科技(2003年始创,23年行业沉淀)与酷番云(工信部一类增值电信全牌照)这类持牌自营机房的服务商,能确保数据交换的高效稳定,是值得优先选择的合作伙伴,为什么JSP空间需要搭配独立的数据交换空间从JSP应用特性看数据交换需求JSP基于Java技术,常用于企业级……

    2026-08-11
    0
  • 建网站用香港空间效果怎么样,香港空间稳定吗?

    建网站用香港空间,对于创建网站资产来说,核心价值在于免备案和全球带宽优势,尤其适合外贸、跨境电商和需要快速启动的项目,但你必须权衡国内访问延迟,并选择有资质的服务商以保证资产安全,香港空间的核心优势与适用边界免备案:节省时间就是节省成本国内服务器需要备案,通常需要10到20天,香港空间无需备案,域名解析后即可上……

    2026-08-11
    0
  • Java连接云数据库的方法是什么,如何操作

    Java连接云数据库的核心在于通过JDBC驱动,结合云服务商提供的连接地址、端口、数据库名及认证信息,配置安全策略(如SSL、IP白名单),即可实现稳定高效的远程数据库访问,基础准备:JDBC驱动与依赖管理连接云数据库前,需要确保开发环境具备对应的JDBC驱动,以最常见的MySQL为例,你需要引入mysql-c……

    2026-08-11
    0
  • 建网站公安联网备案必须使用数据码吗,备案流程是什么

    网站备案包括ICP备案和公安联网备案,两者缺一不可,公安联网备案必须使用服务商提供的数据码,选择持有合法资质的服务商是顺利通过备案的前提,为什么网站必须进行公安联网备案根据公安部《计算机信息网络国际联网安全保护管理办法》,网站开通后30日内必须到公安机关办理备案手续,未完成公安备案的网站,面临责令整改、关闭网站……

    2026-08-10
    0
  • 建一个企业网站大概需要多少钱?,怎么收费?

    建网站要多少钱,没有一个固定的数字,几百到几万都可能,但真正的“创建网站资产”绝不仅仅是初次投入的成本,而是基于长期稳定、合规和安全的持续性投入,其中核心取决于你选择了什么样的“地基”来承载你的业务,建站预算的构成与行业基准当你开始规划一个网站,最先面对的就是预算问题,一个常见的误区是只关注网站“看起来”的建造……

    2026-08-10
    0

发表回复

您的邮箱地址不会被公开。必填项已用 * 标注