使用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 ...
随机推荐
- jquery函数
1.ready函数 当 DOM(文档对象模型) 已经加载,并且页面(包括图像)已经完全呈现时,会发生 ready 事件. $(document).ready(function (){alert('11 ...
- nodeschool.io 2
~~ BABY STEPS ~~ Write a program that accepts one or more numbers as command-line arguments and pr ...
- 231. Power of Two 342. Power of Four -- 判断是否为2、4的整数次幂
231. Power of Two Given an integer, write a function to determine if it is a power of two. class Sol ...
- Redis(7)Creating and Using Cluster Mode
1. DocumentsCluster will not support SELECT, it only contains database 0.All the nodes use TCP bus a ...
- SQL Server数据库(SQL Sever语言 存储过程及触发器)
存储过程:就像函数一样的会保存在数据库中-->可编程性-->存储过程 创建存储过程: 保存在数据库表,可编程性,存储过程create proc jiafa --需要的参数@a int,@b ...
- javascript 对象和数组(花括号、方括号)
1. javascript对象定义 var a = {var a = "test", var b = "test"} 2. javascript数组定义 var ...
- iOS开发错误日志
错误提示:fatal error: file '/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platfor ...
- 如何打开asp.net中的出错提示?在程序发布后
答案:修改其中的一个配置节点,<customErrors mode="On"/>
- 搭建SSH框架所需Jar包及其解释
SSH2 ----struts2.1.8---- struts2-core-2.1.8.1.jar struts2核心包 struts2-json-plugin-2.1.8.1.jar struts2 ...
- Python的神奇方法指南
参考:http://article.yeeyan.org/view/311527/287706
