使用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 ...
随机推荐
- Java_Ant 详解
1,什么是antant是构建工具2,什么是构建概念到处可查到,形象来说,你要把代码从某个地方拿来,编译,再拷贝到某个地方去等等操作,当然不仅与此,但是主要用来干这个3,ant的好处跨平台 --因为 ...
- ember
为什么要用这种单页面应用.单页面应用就可以是一个web app ,而不是一个web site了,但是百度的大王是退mvc的,考虑到gc什么的? 所以说写组件component和mvc压根是两个完全从角 ...
- JavaScript实现五子棋的界面设计
五子棋的界面设计包括绘制棋盘.绘制棋子及黑白棋轮流落子. 涉及的知识点主要有canvas绘制直线.设置画笔颜色:canvas画圆.填充渐变色 1.绘制棋盘 先设定棋盘的宽.高:然后利用for循环,根据 ...
- hdu---(2604)Queuing(矩阵快速幂)
Queuing Time Limit: 10000/5000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Su ...
- Populating Next Right Pointers in Each Node II [Leetcode]
Problem Description http://oj.leetcode.com/problems/populating-next-right-pointers-in-each-node-ii/ ...
- WordPress怎么在页面上添加目录
要实现的如下功能,在页面上添加一个文章目录: 步骤: 1)在wordpress中,在Posts----Categories中建立目录, 2) 3)add new post,指定post所属的cat ...
- 多线程相关Interlocked.Increment问题
今天群里有人问到如下代码打印出来的东西为什么不是连续得,所以有大神解释了原因.在这过程中遇到了些奇怪的情况 static void Main(string[] args) { for (int i = ...
- __attribute__特性介绍以及变量和函数特定布局设置
ARM的MDK编译__attribute__介绍:http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.dui0348bc/Ciafc ...
- android 定制目录
首先简单介绍一下安卓系统文件夹对照表 主要介绍的是Android系统的文件夹结构,帮助大家更直观地了解系统 \\system\\app这个里面主要存放的是常规下载的应用程序,可以看到都是以APK格式结 ...
- 批量插入使用SqlBulkCopy
对于大量的数据插入,我们可以使用批量插入功能来提升性能,例如.
