電動車電子鑰匙重放(我要偷電動車養你)
在大學的時候看到某安全大會的時候,YQ大佬演示了汽車電子鑰匙重放,然後成功搞定了汽車鎖。我就想汽車的電子鑰匙可以重放,電動車的肯定更容易,只要重複造輪子就能偷盡學校的電動車,迎娶漂亮學姐,走向人生巔峯。
(因爲是大學做的也沒留存圖片和數據,只能憑記憶寫了,圖片來源網絡)
一、HackRF簡介
HackRF是一個開源硬件工程,由Mike Ossmann發起且被美國國防部高級研究計劃局(DRAPA)贊助。由於這是一個開源項目,某些中國廠商現在也在生產和銷售HackRF one。
二、特性
支持GNURadio
30MHz – 6GHz
與RTL2832U(RTLSDR)不同,HackRF可以進行發射
比USRP更廉價
已經在KickStarter上拿到投資
最大采樣率: 20 Msps (10倍於電視棒RTLSDR)
接口: High Speed USB
USB供電
硬件/軟件全部開源
獲得了DARPA的Cyber Fast Track項目的支持
三、安裝
來源: https://www.hackrf.net/2013/12/linux 系統上搭建hackrf環境
2016年12月更新: 現在推薦使用TUNA鏡像提供的PyBOMBS來安裝GNURadio。
注意:不要使用軟件源裏的GNURadio,因爲軟件源裏的GNURadio太久沒有重新打包。
方法一:Ubuntu 14.04版本上搭建環境方法
此種環境搭建的方法,用的是已經經過編譯的程序,因而不用翻牆,並且速度較快。
首先需要安裝Ubuntu 14.04,之後你只需要在Ubuntu 14.04下,輸入以下命令即可:
sudo add-apt-repository ppa:gqrx/releases sudo apt-get update sudo apt-get upgrade sudo apt-get install gqrx gnuradio gr-osmosdr hackrf
如果安裝時出現 ‘Held packages’ 類型的報錯,那麼應該是由於之前已經進行過安裝,這時,輸入以下命令即可:
sudo apt-get dist-upgrade
方法二: 手動編譯
由於build-gnuradio腳本經常受到不可抗力的影響,導致安裝失敗。於是需要我們進行手動編譯。
手動編譯的順序是
1、安裝各種依賴包 2、gnuradio 3、hackrf / rtlsdr 4、gr-osmosdr
安裝依賴包
sudo apt-get -y install build-essential cmake git-core autoconf automake libtool g++ python-dev swig pkg-config libfftw3-dev libboost1.53-all-dev libcppunit-dev libgsl0-dev libusb-dev sdcc libsdl1.2-dev python-wxgtk2.8 python-numpy python-cheetah python-lxml doxygen python-qt4 python-qwt5-qt4 libxi-dev libqt4-opengl-dev libqwt5-qt4-dev libfontconfig1-dev libxrender-dev libusb-1.0
編譯GNURadio
git clone --progress http://gnuradio.org/git/gnuradio.git cd gnuradio mkdir build cd build cmake ../ make -j4 #4代表用4覈編譯 sudo make install sudo ldconfig
編譯hackrf
git clone --progress http://github.com/mossmann/hackrf.git cd hackrf/host mkdir build cd build cmake ../ -DINSTALL_UDEV_RULES=ON make sudo make install sudo ldconfig
編譯rtlsdr(可選)
git clone --progress git://git.osmocom.org/rtl-sdr cd rtl-sdr mkdir build cd build cmake ../ -DINSTALL_UDEV_RULES=ON -DDETACH_KERNEL_DRIVER=ON sudo make install sudo ldconfig
編譯gr-osmosdr
git clone --progress git://git.osmocom.org/gr-osmosdr cd gr-osmocom mkdir build cd build cmake ../ make sudo make install sudo ldconfig
編譯gqrx(可選)
git clone https://github.com/csete/gqrx.git cd gqrx mkdir build cd build qmake ../gqrx.pro make sudo make install sudo ldconfig
編譯完成後
你可以嘗試以下命令
osmocom_fft : 一個簡單的HackRF頻譜儀 osmocom_siggen : 一個簡單的HackRF信號源 gqrx: 類似於SDR#的廣播接收器
四、實驗開始
爲了便於攜帶本次實驗採用樹莓派+HackRF One
流程也很簡單:查找頻率→錄製開鎖→重放開鎖
4.1osmocom_fft查找頻率
先在網上搜了一下頻率範圍,大致爲315,330,443。所以先看這幾個頻率附近
如上圖所示頻峯在433.7左右。初步判斷頻率應該爲433,網上說的沒錯,0.7只是附近的干擾疊加。但是錄製的時候還是選擇433.7。
4.2信號錄製和重放
打開gnuradio增加錄製模塊。添加信號錄製模塊。(依葫蘆畫瓢,其實我也不是太懂所有的模塊)
這張圖是剽竊某老哥的,當時我做絕壁沒有這麼多模塊。我當時只設置了433.7MHZ。
原文地址: https://www.jianshu.com/p/ea856d5cb575
這是那位老哥的分析:
上次我們使用的 WX 模式,這次使用的是 QT 模式。
所以有些模塊的名字會不一樣。
osmocom source:還是不變,只是我們設置其頻率爲433.7MHz low pass filter:低通濾波器,參數爲保留過濾掉400KHz以上頻率(相對於samp rate而言)。
其他模塊:(輸出模塊)
QT Frequency Sink:類似於 wx模式中的 FFT模塊。(頻域) QT Time Sink:類似於 wx模式中 Scope 模塊。(時域) File Sink:將內容輸出到文件中,不要忘記點開設置文件的路徑。(二進制模式,無法直接打開)
保存爲文件重放就行了。
五、坑點
雖然重放成功能打開電子鎖,但是當時我實驗我蹲學校食堂門外來一輛抓一輛,人多不僅存在信號干擾,錄製距離也是需要注意的,最坑的是,電子鑰匙解鎖後鎖了車頭鎖的一點辦法都沒,沒鎖車頭鎖的也僅僅百分之30能夠直接開走。總結下坑點:
距離不能太遠
信號干擾嚴重
鎖車頭鎖不能成功
加了物理鎖的也是撲街
沒鎖車頭鎖和物理鎖的即使電子鑰匙解鎖,能直接啓動的只佔百分之30.
迎娶漂亮學姐,走上人生巔峯的計劃就此擱淺。