在大學的時候看到某安全大會的時候,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.

迎娶漂亮學姐,走上人生巔峯的計劃就此擱淺。

相關文章