首页
社区
课程
招聘
[原创]小白文——好玩不贵的无线钥匙克隆指南
2018-8-28 18:55 8426

[原创]小白文——好玩不贵的无线钥匙克隆指南

2018-8-28 18:55
8426
长期在论坛潜水,可老当看客不太好,但是自己最近又没研究出啥名堂,所以发篇以前写的小白文,各位大佬莫笑呀O(∩_∩)O~


思路如下:

1、拆无线钥匙查芯片型号(略)

2、翻芯片手册理解信号编码方式

3、采集无线信号进行分析

4、模拟无线信号


一、信号编码格式

芯片型号eV1527。查阅芯片手册可知:

1)同步信号有1个高电平,3个低电平。当信号接收器检测到同步信号时,可知前方有一大波数据来袭,便做好接收数据指令的准备。

2)数据H有3个高电平,1个低电平

3)数据L有1个高电平,3个低电平

4)一条指令数据的构成由同步信号、C0~C19(一般是设备唯一码)、再加四个数据(不同数据组合对应不同指令)构成


至于一个电平到底要维持多久呢,由芯片手册可知:

给芯片不同的电压、不同的振荡频率都会导致不同的电平周期,所以要知道电平周期,直接实测法最快捷!

二、采集分析无线信号

硬件:315M接收模块、逻辑分析仪、供电模块(这里我随便找个U转串模块给315M接收模块供电)

软件:Logic 1.2.18(逻辑分析仪上位机软件)

注意我这里特地给315M接收模块加了个天线,实测不加天线根本收不到信号。

设置采样率为2M,一边按无线钥匙,一边采集,采集了有10s的数据。可以看到图中很有规律的锯齿方块,这个就是采集到的信号对应的电平输出。当你按下按键的那一刻,无线钥匙会发送大量重复数据,所以你所看到的每个锯齿方块其实都是一样的。


放大查看,以第一个小锯齿方块为例:

这时候,你应该已经知道了指令数据是:HLLLHLLLLHLHLHHHHHHHLHLL

刨去C0~C19,真正的指令其实就是LHLL

换一个按键采集信号,你会发现指令数据只有最后四位发生变化,此处略。

三、模拟无线信号

硬件:315M发射模块、控制板(我用的msp430 launchpad,12年去蹭TI的研讨会送的,我竟然还没扔)

(msp430 launchpad的P1^0连接315M发射模块的data端)

说什么模拟,其实就是给315M发射模块一串高高低低的电平信号,然后要保证电平周期和上面采集到的电平信号周期一致。比如说,在模拟同步信号的时候,你要先给315M发射模块0.321ms的高电平,再给10.38ms的低电平。有一丢丢误差没关系,大概照着原信号做,别太离谱就行。


上代码:

#include <msp430.h>

//这个宏仅针对8MHz
#define delay_us(us) __delay_cycles(8*(us))
#define delay_ms(ms) __delay_cycles(8000*(ms))

int main(void) {
    WDTCTL = WDTPW | WDTHOLD;    // Stop watchdog timer
    BCSCTL1 = CALBC1_8MHZ;    //设置 DCO 频率为8MHz
    DCOCTL = CALDCO_8MHZ;

    char close_door_signal[128]={'1','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0',
            '1','1','1','0','1','0','0','0','1','0','0','0','1','0','0','0','1','1','1','0','1','0','0','0','1','0','0','0','1','0','0','0','1','0','0',
            '0','1','1','1','0','1','0','0','0','1','1','1','0','1','0','0','0','1','1','1','0','1','1','1','0','1','1','1','0','1','1','1','0','1','1',
            '1','0','1','1','1','0','1','1','1','0','1','0','0','0','1','1','1','0','1','0','0','0','1','0','0','0'};
    int i;
    P1DIR |= 0x01;// Set P1.0 to output direction
    P1OUT = 0x00;//low voltage
    delay(1000);

    while(1){
        P1OUT = 0x00;//low voltage
        delay_us(333);
        for(i=0;i<128;i++){
            (close_door_signal[i]=='1')?(P1OUT=0x01):(P1OUT=0x00);
            delay_us(333);
        }
    }

    return 0;
}

四、总结

现在你已经get了如何以最低成本克隆无线钥匙, 315M接收模块+发射模块一共才5块钱,其他工具都是现成的,就算买也不贵。

接下来你可以试试多测测不同款的无线钥匙,电瓶车的、车库的、汽车的……也可以尝试用sdr硬件去开无线锁……

也可以参考一下我一年多以前写的代码,刚翻出来的,有点小错误,别介意。


有人也许会问:你怎么知道这信号在315M?嗯,我用电视棒测的~而且钥匙芯片上面有标注315M


[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

最后于 2018-9-14 09:38 被抓狂的小丸子编辑 ,原因: 没怎么区分“无线遥控器”和“无线钥匙”,可能会给人误导。遂将全文的“无线遥控器”更为“无线钥匙”。附件就懒得改了。
上传的附件:
收藏
免费 1
打赏
分享
打赏 + 1.00雪花
打赏次数 1 雪花 + 1.00
 
赞赏  junkboy   +1.00 2018/10/20
最新回复 (6)
雪    币: 1535
活跃值: (695)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
开花的水管 2018-8-29 10:33
2
0
多谢楼主!这排班看着舒服!
雪    币: 2443
活跃值: (41)
能力值: ( LV3,RANK:35 )
在线值:
发帖
回帖
粉丝
笨蛋o 2018-8-29 13:32
3
0
小白看懂了
雪    币: 8452
活跃值: (1917)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
广岛秋泽 2018-8-30 16:48
4
0
学习了~
雪    币: 42
活跃值: (152)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
抓狂的小丸子 2018-9-1 11:37
5
0
本文针对固定码的无线钥匙,无法破解滚动码。大家自行斟酌食用哈
雪    币: 484
活跃值: (872)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
天荒怨未泯 2018-9-1 12:35
6
0
无限垫
雪    币: 284
活跃值: (3219)
能力值: ( LV5,RANK:75 )
在线值:
发帖
回帖
粉丝
囧囧 2018-9-3 13:14
7
0
多谢分享~
游客
登录 | 注册 方可回帖
返回