wonyoungsen
shower card
NFC
RFID
本卡与water-card原理上是一样的,只是数据加密比较复杂,猜想了好久才找出加密机制。这里要强调一点,此卡中主钱宝是存储在后台服务器中,无法改动,副钱宝中是存在卡上,可以改动,以下操作只是操作副钱宝中,刷卡机是不联网的,具体测试使用的机制不再多说。基本原理和water-card一样,可参考:https://github.com/wonyoungsen/water-card
这里使用acr122u,其他工具应该也可,主要是acr122u的PJ方便,价格相对较贵,购买时注意便宜的多为非真。
首先说下,m1卡总共64扇区,每扇区有四块,其中第四块是密钥部分。密钥又分A密钥和B密钥,每块总共32位(16进制),前12位为A密钥,中间8位为控制字段,后12位为B密钥,中间的控制字段标志着此块数据如何读写,具体详细的介绍请自行GG。下面给出此“卡”数据部分介绍,说明下,此“卡”的数据部分是存储在10、11扇区,10扇区中是主要的数据部分,如图:
这里最大值是10000,换成十六进制,然后反写,则为10 27,之后进行校验10+27得37,然后取反C8,最后一位校验是C8-1得到C7,之后还要照应42块数据。 最后一块的密钥块如下图:
密钥控制块含义:
这里可以根据A或B密钥进行读写,不在详细说明。
方法:
-
1、克隆:直接PJ读取原卡数据,dump出来一个dump文件(acr122u),然后使用克隆工具,克隆到UID白卡,即复制一张完全一样的卡。
-
优点:不用考虑密钥,简单,容易操作。
-
缺点:需要有UID白卡。
- 注意:如果克隆时出现错误,失败,则要考虑自己的uid卡是不是真的UID。
-
-
2、修改:通过工具(这里使用PCSC),使用B密钥连入,主动式修改里面的数据,只需修改第十扇区里面的第40、42块中的禁恶数值即可。编码规则见上面说明。(最大数值为100.00)
-
优点:无需UID白卡,可以随意更改想要禁恶。
-
缺点:需要明白密钥使用原理,修改工具的使用有点学习成本。
- 注意:工具的使用建议在win7 32位下,其他系统可能无法正常使用。
-
由于做这个研究有一年多的时间了,一直没有时间来总结,临近离校,抽空来总结一波,但也忘得差不多了,可能有不对的地方,如发现还请指出,大家可自行研究。
本文只是感兴趣研究一下,请大家不要涉及“禁恶”,尊重技术,低调研究,更不要触犯别人的利益,做事之前要想到后果。重要的事说三遍:不要搞事情!不要搞事情!不要搞事情!