引文

我最近对软件定义的无线电技术(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 破解吉普车钥匙信号的更多相关文章

  1. [SDR] GNU Radio 系列教程(一) —— 什么是 GNU Radio

    目录 1.GNU Radio 是什么 2.我为什么要用 GNU Radio 3.数字信号处理 3.1 一点信号理论 3.2 将数字信号处理应用于无线电传输 4.基于流程图的模块化数字信号处理方法 本文 ...

  2. [SDR] GNU Radio 系列教程(二) —— 绘制第一个信号分析流程图

    目录 1.前言 2.启动 GNU Radio 3.新增块 4.运行 本文视频 参考链接 1.前言 本文将介绍如何在 GNU Radio 中创建和运行第一个流程图. 2.启动 GNU Radio GNU ...

  3. GNU Radio的hello world(转)

    运行GNU Radio 需要注意的是,如果您的项目不需要用到硬件源和硬件池的话,直接使用Shell运行GRC是没有问题的.但是需要用到硬件源和硬件池的话,请记得使用管理员权限运行GRC,否则项目在执行 ...

  4. GNU Radio: Synchronization and MIMO Capability with USRP Devices

    Application Note Synchronization and MIMO Capability with USRP Devices Ettus Research Introduction S ...

  5. GNU Radio: Multiple USRP configurations 配置多个USRP设备

    Introduction 引言 Some USRP devices are capable of being grouped to form a single, virtual device. A s ...

  6. GNU Radio在SDR领域的应用

    1 Software Defined Radio 软件无线电(Software Defined Radio,SDR)是一种实现无线通信的新概念和体制.其中以往只能在硬件中实现的组件(例如混频器,滤波器 ...

  7. GNU Radio: 自定义 block 实例

    综述 本文通过在GNU Radio 中编写一个block的例子,系统介绍创建一个block的过程.该 block 的功能是可以在GRC中通过滑块(WX GUI Slider)来实时改变信号源(Sign ...

  8. GNU Radio 入门培训

    1. GNU Radio介绍 1.1 什么是GNU Radio GNU Radio是一个完全开源的软件无线电结构平台,它可以用来设计和仿真,也可以用来连接真实的无线电系统.GNU Radio是一个高度 ...

  9. 【译】GNU Radio How to write a block 【如何开发用户模块及编写功能块】

    本文讲解如何在GNU Radio中添加用户开发的信号处理模块,译文如有不当之处可参考原文地址:http://gnuradio.microembedded.com/outoftreemodules Ou ...

随机推荐

  1. 33-Url辅助方法

    Url辅助方法与HTML辅助方法很类似,HTML辅助方法用来产生HTML标签,而Url辅助方法则负责用来产生Url网址. @Url.Action("About") 最后的输出网址如 ...

  2. 使用AndroidStudio编译NDK的方法及错误解决方案

    参考资料: [android ndk]macos环境下Android Studio中利用gradle编译jni模块及配置:http://demo.netfoucs.com/ashqal/article ...

  3. 为设计师准备的 20 个新的免费 PSD 模板

    设计师们每天的工作经常要用到各种模板,本文推荐 20 个新的免费 PSD 模板,可节省设计时间. Blueprint Notice PSD Wooden Drawer Icon Minimal Clo ...

  4. (32)odoo中的编码问题

    对于全部是英文就不存在问题,但我们常用中文,这样会导致一个棘手的问题 约定: 系统Ubuntu trusty14.04 自带python2.7.6 python2.7.9 自己升级了 升级方法: -- ...

  5. Thread类的使用

    在前面2篇文章分别讲到了线程和进程的由来.以及如何在Java中怎么创建线程和进程.今天我们来学习一下Thread类,在学习Thread类之前,先介绍与线程相关知识:线程的几种状态.上下文切换,然后接着 ...

  6. oracle知识点

    创建序列 create sequence a_seq --创建序列名字为 a_seqminvalue 1 -- 最小值为 1maxvalue 99999 --- 最大值为 99999 start wi ...

  7. String.equals()方法的实现代码,

    通常对String的比较有两种情况,一个是使用==,另一个是使用equals()方法,注意==是对对象的地址进行比较的,而String中的equals()方法是覆盖了Object类的方法,并且实现为对 ...

  8. JDE客户端get时报错“ERROR:fetch from table F0101 failed”

    客户端开发时发现总报错误“ERROR:fetch from table F0101 failed” 原因是用户ID在地址名册中找不到地址号.修改用户地址号即可.如下图所示

  9. 开源项目导入eclipse的一般步骤[转]

      下载到开源项目后,我们还是希望导入到eclipse中还看,这样要方便点,一般的步骤是这样的 打开源代码目录, 如果看到里面有.calsspath .project文件,那么说明这个项目本来就是ec ...

  10. Window["aaa"]这个在JS里是什么意思?

    答案:定义一个全局的变量 aaa,这个的方式是数组,实际上是等于 window.aaa