低频RFID卡,目前市场广泛使用门禁系统用的是ID和HID卡。使用PROMARK3进行分析ID卡和HID分析 ,很多人只是用系统自带的lf em4x em410xwatch 和 lf hid fskdemod 命令,而遇到非标准格式的低频卡,这些命令就无法获取正确的信息。
拿到一张RFID卡,第一步便是识别该卡到底为何卡。可以用proxmark3带的调频命令(hw tune)初步区分出是高频卡还是低频卡,这一点,网上有很多说明,其次,可以根据卡片上的商标和标志,做进一步的识别,没有明显识别标志的,只能自己慢慢推理。
下面,以常见的ID卡为例, 通过proxmark3带的数据分析命令,自己分析低频卡数据。( HID卡分析原理与步骤基本相同 )
首先,了解一下低频卡的数据格式。以ID卡的EM410X数据格式为例,常用的125KHz的ID卡内固化了64位数据,由5个区组成:9个引导位、10个行偶校验位“P0~P9′’、4个列偶校验位“PC0~PC3”、40个数据位“D00~D93”和1个停止位S0。9个引导位是出厂时就已掩膜在芯片内的,其值为“111111111”,当它输出数据时,首先输出9个引导位,然后是10组由4个数据位和1个行偶校验位组成的数据串,其次是4个列偶校验位,最后是停止位“0”。
1 1 1 1 1 1 1 1 1 9 bits头 8 bits 版本或厂商ID D00 D01 D02 D03 P0 D10 D11 D12 D13 P1 D20 D21 D22 D23 P2 D30 D31 D32 D33 P3 D40 D41 D42 D43 P4 10bits行检验 D50 D51 D52 D53 P5 32bits数据 D60 D61 D62 D63 P6 D70 D71 D72 D73 P7 D80 D81 D82 D83 P8 D90 D91 D92 D93 P9 PC0 PC1 PC2 PC3 S0 4位列校验
“D00~D13”是一个8位的版本号或厂商代码。“D20~D93”是8组32位的芯片信息,即卡号。校验是偶校验,因为如果是奇校验的话,在一个字节是FF的情况下,很容易就出现9个1,这样引导位就不是唯一的了,也就无法判断64位数据的起始位了。
其次,了解一下EM410x常用的编码方式。EM410x常用曼彻斯特进行编码 (典型方式,RF 周期与数据位周期的比率为 RF/64 ,即每 bit的数据率可为载波频率的64倍)。曼彻斯特编码(Manchester Encoding),也叫做相位编码(PE),是一个同步时钟编码技术,用来编码一个同步位流的时钟和数据,在这个技术下,实际上的二进制数据不是作为一个序列的逻辑1或0来发送的,这些位被转换为一个稍微不同的格式,在曼彻斯特编码中,每一位的中间有一跳变,位中间的跳变既作时钟信号,又作数据信号;从高到低跳变表示”1″,从低到高跳变表示”0″。
编好码的信号,是数字信息,即0、1bit流 ,是基带信号,而实际通信中,信道并不能直接传送基带信号,必须用基带信号对载波波形的某些参量进行控制,载波随基带信号变化而变化,称为数字调制。ID与读卡头通信的数据流必须先进行调制。
常用的数字调制方法有三种:
ASK ——幅移键控调制,把二进制符号0和1分别用不同的幅度来表示。 FSK ——频移键控调制,即用不同的频率来表示不同的符号。 PSK ——相移键控调制,通过二进制符号0和1来判断信号前后相位。
( ID卡用ASK调制,而HID用FSK调制。)
了解完格式,以及编码、调制方式后,就可以采集数据进行分析了。pm3数据处理的命令,集中在data命令下,采集到的数据,可用data plot 命令输出图形进行查看。
低频卡分析(因为我只看过ID卡,类HID卡的数据,因此我此处的低频卡特指ID和HID卡或者类似格式卡),大致4个步骤:
1、数据采集 2、bit流周期分析 3、解调、解码(如有编码的话) 4、数据分析。
第一步:数据采集
用到的命令有:
>lf read
注:由于是采集低频数据,所以在采集之前,先用命令 lf read
>data sample 2000
注:一般采集2000就够了,如果第二步分析没有发现明显的周期,则需要多采集一些数据看看
(看到这类型的波形,第一步先ask解调)
第二步:bit流周期分析:
>data autocorr 2000
从data autocorr的输出波形,找出波形的周期值,找不到的话,第一步多采集一些再看看……
这是采集4000数据后,用 data autocorr 4000得到的结果,可以明显的看出周期的存在。
第三步:从波形看调制模式
查看第一步采集到的波形。数字信号 ,都是通过调制后再进行传播的,常用的信号调制模式有 ask 、 fsk、 psk , 根据data samples 得到的波形 ,可以初步判定是用那种方式进行调制的 , 需要用对应的方式进行解调后再进行解码。
>lf read
>data sample 2000
> data askdemod 1
得到
将上图放大,数一跳转周期点距
使用命令
> data mandemod 64
结果如下:
Warning: Manchester decode error for pulse width detection. (too many of those messages mean either the stream is not Manchester encoded, or clock is wrong) Manchester decoded bitstream 0 0 0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 1 0 1 0 0 0 1 1 0 1 1 1 0 1 1 1 1 0 1 1 0 1 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 0 0 0 0 0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 1 0 1 0 0 0 1 1 0 1 1 1 0 1 1 1 1 0 1 1 0 1 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 0 0 0 0 0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 1 0 1 0 0 0 1 1 0 1 1 1 0 1 1 1 1 0 1 1 0 1 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 0 0 0 0 0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 1 0 1 0 0 0 1 1 0 1 1 1 0 1 1 1 1 0 1 1 0 1 0 0
第四步:运用自己的头脑 ,进行分析 ,从而达到复制的目的
这个就不多说了,文档中一开始描述了ID卡的数据格式,找出数据头开始分析即可。
至于怎么复制卡,找张T55X7卡,了解到卡结构,0区各位代表的意义,进行对应的写入操作即可。此处不做赘述
感谢lastdinner投递
相关讨论:
anlfi (1级) ??????????????????????????... 2013-05-28 1楼
…..ID卡有这么复杂?
学习了真是深入浅出啊
从下面的bit流分析 波流可视化图就看不懂了
有点像是信号分析学内容╮(╯▽╰)╭可惜专业不是这个
弱弱的问下能再简单一点吗 第四步略了 请问是否需要什么相关知识
求推荐几本专业书籍脑补一下
话说我楼下配钥匙的
师傅也可以复制RFID
ID卡 我去学习一下
fake 2013-05-28
@anlfi 大神你又来高端黑了啊
anlfi (1级) ??????????????????????????... 2013-05-28
@fake 没别的只是想学习一下 别误解了
别人说ID卡很简单今天看到这篇文章我觉得没那么容易
如何分析一张卡并入微的从基本开始
要比你如何对着别人的文章攻击更重要
Sandy tea 2013-05-28 2楼
楼上黑的真好= =+
低频没玩过 (没环境 摔- -
高频其实有了pm3 顶多再需要的就是胆量或者说是社工了~
009 2013-05-28 3楼
坐等口水
lastdinner (2级) 2013-05-28 4楼
标准的ID和HID卡,有命令,不那么复杂,文章开头我已经写了。我只想写一下如果你拿到的不是标准格式的低频卡,可以参考ID卡这个流程做分析。用data 下的命令,看输出。
第四步 ,上baidu去找一份T55X7卡的说明文档 ,proxmark上有写T55X7的数据命令 。
txmg 2013-05-28 5楼
here;http://jointxmg.com/?p=162
菜鸟不会飞 2013-05-28 6楼
不错的文章,真正从通讯的交互,去分析ID卡的数据,觉得似乎需要一些专业的信号分析的知识。个人不懂。但很受教。
bbb 2013-05-28 7楼
like it
lanmse 2013-05-28 8楼
id还是较为简单的。t55x7带密码的该如何分析,请指教下
lastdinner (2级) 2013-05-30
@lanmse
t55x7带密码,刚刚查了一下T5557的说明,块读取才需要密码,用户数据读取并不需要密码,顺便也拿张空白卡做了下读写试验,写了密码,整个用户数据区还是可以采集到的,如果分析的目的仅仅是复制卡数据,是可以做到的,因为一般来说低频的读卡头不会带密码参数读块数据,只要复制的卡能出一样的数据波形即可。
此外,本人也是个菜鸟,搞这个纯属业余,水平有限,答错也望多多谅解
lanmse 2013-06-03
@lastdinner 我感觉不是,应该是你没有把maxlab设置成0,如果设置成0那么就没有可以不用密码读取的块了。另外如果打开AOR的话没有密码是连卡都唤醒不了的。
呵呵,我也是个菜菜鸟,望互相学习。如有冒失还望谅解。
lastdinner (2级) 2013-06-04
@lanmse
低频的卡,pm3目前除了hitag并没有侦听功能。所以如果一定是带密码读的话 ,目前就俺的水平而言也是无解。
另外,你是在实际中碰到了maxlab设置成0的卡么?
jacker (1级) 成为天马博士一样的人。 2013-05-28 9楼
如今RFID的技术国外很多开始研究国内学习,手机上也有软件的来看公交卡和各种卡的信息,这里面技术有些电路的信号的技术,不错的文章学习一下,看来着找些书籍来学习关键实际操作一边,在买个电路工具学习,推荐我平时看的杂志无线电这本书里的知识讲的实验很详细包含电子方面的技术
炎羽 2013-05-30 10楼
我这得小区是T55X7卡,但EM410X卡也认
rfidjjaa 2013-06-06 11楼
高手,我想找些5577 0扇区各位代表的意义的资料学习学习,能否指导指导 或者提供点资料学习一下!~