使用HackRF+GNU Radio 破解吉普车钥匙信号

引文
我最近对软件定义的无线电技术(SDR)产生了浓厚的兴趣,而我对其中一款流行的SDR平台(HackRF)也产生了兴趣,而其频率接收的范围也在1MHz ~6GHz之间(范围较广)。而这里也需要提及一个有趣而实用的攻击方法即重送攻击,当然可以理解为记录一个简单的信号,然后再播出它。我将利用我的电脑攻击并解锁Jeep Patriot (2006)汽车。Patriot是Jeep品牌旗下一款偏重公路性能的城市型SUV,同时也兼具Jeep品牌一贯的越野本性,在克莱斯勒展台上准备参展的Patriot车尾铭牌上的中文名称为“自由客”。
首先我需要录下汽车“锁/解锁”信号,当然这里需要用到车钥匙。详细信息可以参考流程图(gnuradio-companion)

接触流程图之后需要注意的事情
1.频率315 MHz(无线钥匙接入的频率)
2.它可以记录2百万份样本/每秒(在导入Audacity软件之后)
3.保存的文件形式-radio_signal.dat
4.以“瀑布图”形式显示出来
5.下面就是那个瀑布图,这是第一个“解锁”信号,后面都是相反的信号

现在我可以简单的回放这些信号了,为了更详细的分析这些信号,我曾尝试利用 Audacity剪辑这些信号,audacity是一款免费的音频处理软件,同时它可以编辑无线信号,但作者称在这里不会透漏太多,但可以参考这个:点击我
这就是在Audacity软件中看到的锁/解锁信号

所以在这里,你可以清楚地看到2个不同的信号:第一次解锁,然后锁定。而在在这里我也可以通过不同的文件来选择输入/输出的信号

于是我得到了两个原始信号数据的文件

需要注意的是,及时这个时候剪辑下来这个信号并保存成文件,大小也是10Mb。最后做成一个流程图,可以参考下面

为了更好地执行脚本程序,我仅仅修改了 gnuradio-companion 输出的一个脚本程序(top_block.py),并将其修改的脚本程序(jeep_unlock.py)放入进一个文件( jeep_unlock.raw)中,以及其它的(lock_jeep.py) 脚本程序也都放入其文件中。
演示视频
*参考来源:calebmadrigal
使用HackRF+GNU Radio 破解吉普车钥匙信号的更多相关文章
- [SDR] GNU Radio 系列教程(一) —— 什么是 GNU Radio
目录 1.GNU Radio 是什么 2.我为什么要用 GNU Radio 3.数字信号处理 3.1 一点信号理论 3.2 将数字信号处理应用于无线电传输 4.基于流程图的模块化数字信号处理方法 本文 ...
- [SDR] GNU Radio 系列教程(二) —— 绘制第一个信号分析流程图
目录 1.前言 2.启动 GNU Radio 3.新增块 4.运行 本文视频 参考链接 1.前言 本文将介绍如何在 GNU Radio 中创建和运行第一个流程图. 2.启动 GNU Radio GNU ...
- GNU Radio的hello world(转)
运行GNU Radio 需要注意的是,如果您的项目不需要用到硬件源和硬件池的话,直接使用Shell运行GRC是没有问题的.但是需要用到硬件源和硬件池的话,请记得使用管理员权限运行GRC,否则项目在执行 ...
- GNU Radio: Synchronization and MIMO Capability with USRP Devices
Application Note Synchronization and MIMO Capability with USRP Devices Ettus Research Introduction S ...
- GNU Radio: Multiple USRP configurations 配置多个USRP设备
Introduction 引言 Some USRP devices are capable of being grouped to form a single, virtual device. A s ...
- GNU Radio在SDR领域的应用
1 Software Defined Radio 软件无线电(Software Defined Radio,SDR)是一种实现无线通信的新概念和体制.其中以往只能在硬件中实现的组件(例如混频器,滤波器 ...
- GNU Radio: 自定义 block 实例
综述 本文通过在GNU Radio 中编写一个block的例子,系统介绍创建一个block的过程.该 block 的功能是可以在GRC中通过滑块(WX GUI Slider)来实时改变信号源(Sign ...
- GNU Radio 入门培训
1. GNU Radio介绍 1.1 什么是GNU Radio GNU Radio是一个完全开源的软件无线电结构平台,它可以用来设计和仿真,也可以用来连接真实的无线电系统.GNU Radio是一个高度 ...
- 【译】GNU Radio How to write a block 【如何开发用户模块及编写功能块】
本文讲解如何在GNU Radio中添加用户开发的信号处理模块,译文如有不当之处可参考原文地址:http://gnuradio.microembedded.com/outoftreemodules Ou ...
随机推荐
- ajax获取数据库中数据
xhr=new XMLHttpRequest(); var url="要获取数据的地方"; xhr.open('post',url,true); POST请求头(get就不用写这个 ...
- IE7局部滚动区域下绝对定位或相对定位元素不随滚动条滚动的bug
尽管在项目中测试人员已经慢慢淡化了IE6的测试,但是IE7依然还是要纳入测试范围. 最近碰到一个IE7的蛋疼bug,在页面上设置了一个局部的滚动区域,在拖动滚动条的时候,滚动区域内设置了相对定位或绝对 ...
- 20145218 《Java程序设计》第7周学习总结
20145218 <Java程序设计>第7周学习总结 教材学习内容总结 第十二章 Lambda 如果使用JDK8的话,可以使用Lambda特性去除重复的信息. 在只有Lambda表达式的情 ...
- 《javascript高级程序设计》第四章 Variables,scope,and memory
4.1 基本类型和引用类型的值 primitive and reference values 4.1.1 动态的属性 dynamic properties 4.1.2 复制变量值 copying va ...
- cookie、sessionStorage、localStorage区别
相同:不管sessionStorage localStorage 还是 cookie 都是存储用户数据的. 不同: 1.cookie的存储空间小, cookie的数据是会通过http请求带到服务器的( ...
- IO流--复制picture ,mp3
import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.FileInputStream; import ...
- 128. Longest Consecutive Sequence *HARD* -- 寻找无序数组中最长连续序列的长度
Given an unsorted array of integers, find the length of the longest consecutive elements sequence. F ...
- Tomcat数据库连接池的配置方法总结
Tomcat数据库连接池的配置方法总结 数据库连接是一种关键的有限的昂贵的资源,这在多用户网页应用程序中体现的尤为突出.对数据库连接的管理能显著影响到整个应用程序的伸缩性和健壮性,影响到程序的性能指标 ...
- [转]JavaSE 8—新的时间和日期API
为什么我们需要一个新的时间日期API Java开发中一直存在一个问题,JDK提供的时间日期API一直对开发者没有提供良好的支持. 比如,已有的的类(如java.util.Date和SimpleDate ...
- BZOJ3307 雨天的尾巴
首先考虑序列怎么做... 只要把操作差分了,记录在每个点上 然后维护一棵权值线段树,表示每个颜色出现的次数,支持单点修改和查询最大值操作 只要把序列扫一遍就好了,时间复杂度$O(n + m*logZ) ...
