新聞中心
0×00 前言

創(chuàng)新互聯(lián)建站成都網(wǎng)站建設定制設計,是成都網(wǎng)站推廣公司,為廣告推廣提供網(wǎng)站建設服務,有成熟的網(wǎng)站定制合作流程,提供網(wǎng)站定制設計服務:原型圖制作、網(wǎng)站創(chuàng)意設計、前端HTML5制作、后臺程序開發(fā)等。成都網(wǎng)站營銷推廣熱線:13518219792
前段時間在《HackRF入門:家用無線門鈴信號重放》 一文中通過HackRF錄制、重放了無線遙控信號,不過一直沒來得及對信號進行分析,剛好在國外網(wǎng)站看到有大牛對遙控信號進行了分析(詳見refer部分)。在這里便按照國外大牛分析無線遙控信號的方法來依葫蘆畫瓢。
*本文僅分享信號分析方式,因信號調制編碼方式有所不同,如數(shù)據(jù)分析有出錯,希望大家不要打我= ̄ω ̄= 摸摸大
0×01 環(huán)境搭建
Mac可使用port(/www.macports.org) 或者brew(brew.sh)安裝GnuRadio依賴套件:
- sudo port install gnuradio
- sudo port install hackrf
- sudo port install rtl-sdr
- sudo port install gr-osmosdr gqrx
- sudo port install hackrf
完成上面的工作后便能在Mac環(huán)境中使用電視棒、HackRF、GnuRadio了。
0×02 Recording 信號錄制
錄制遙控信號的方式有很多,如電視棒+SDR-sharp錄制wav音頻格式數(shù)據(jù)、通過HackRF命令終端錄制RAW格式數(shù)據(jù),本文使用GNURadio+SDR硬件(rtl-sdr、HackRF、BladeRF等)來實現(xiàn)這一功能:
左側RTL-SDR Source將使用SDR硬件接收315MHz無線信號,采樣率為2M,右上WX GUI Waterfall sink將接收到的信號通過瀑布圖在PC上顯示捕獲的無線信號,右下角File Sink將捕獲到的無線數(shù)據(jù)包儲存到/tmp/test.cfile文件中。執(zhí)行流圖并摁下遙控可看到如下效果圖:
個人比較喜歡使用gr-fosphor的瀑布圖模塊來對捕獲到的信號在瀑布圖上進行展示:
結束GnuRadio流圖后,查看/tmp目錄下的test.cfile:
0×03 Analysis 信號分析
分析信號可使用音頻處理軟件Audacity:
不過這種方式需要肉眼將波形轉化成0跟1,看起來比較容易眼花。maybe,只有老司機才能很快很準確地用這種方式完成分析任務。
3.1 安裝inspectrum
在這篇文章中我們將通過inspectrum(https://github.com/miek/inspectrum)這個工具來分析信號,配合Python將信號轉成二進制數(shù)據(jù)。
- sudo port install fftw-3-single cmake pkgconfig qt5
- git clone https://github.com/miek/inspectrum.git
- mkdir build
- cd build
- cmake ..
- make
- sudo make install
- inspectrum -h
- Usage: inspectrum [options] file
- spectrum viewer
- Options:
- -h, --help Displays this help.
- -r, --rate
Set sample rate. - Arguments:
- file File to view.
3.2 數(shù)據(jù)導入、分析
- inspectrum /tmp/test.cfile
通過左側Spectrogram參數(shù)的調節(jié)、縮放工具,我們可以實現(xiàn)波形圖的放大縮小,顏色深淺調節(jié):
下方Time selection可對波形進行劃分:
對Symbols進行遞增,直至囊括一個信號波形區(qū)域:
右鍵—>Add derved plot—>Add amplitude plot:
效果如下:
對部分參數(shù)進行微調:
導出波形數(shù)據(jù):
此時在終端獲得波形寬度數(shù)據(jù):
3.3 解碼
接下來我們可通過Python將這些數(shù)據(jù)轉成0、1,,test.py代碼如下:(if i > x x的值根據(jù)自身實際情況決定,建議取最大值跟最小值區(qū)間的自然數(shù))。
- 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捕獲到的無線信號進行分析,并把信號文件轉換成了二進制數(shù)據(jù),接下來可使用GnuRadio對數(shù)據(jù)進行重放、修改測試,或者使用RFcat+Python實現(xiàn)廉價的重放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
網(wǎng)頁名稱:如何使用SDR+inspectrum逆向分析無線遙控信號
轉載來源:http://www.dlmjj.cn/article/djjjoos.html


咨詢
建站咨詢
