close

最近在淘寶弄了一組新玩具 STM32F0(Cortex-M0) + RC522 ,想做 RFID 讀卡機 

 

STM32F030 最小系統板

 STM32F030 最小系統板  

賣場的說明充滿了挑戰,完全正中我的要害,恨不得立即擁有: 

特别说明:此小系统板专为有实力的玩家供货,只提供脚位引脚信号图,提供一个利用外部晶振延时闪烁的LED的MDK示例DEMO。由于技术人员在网工作时间有限,暂不提供技术支持。 

拍前请慎重考虑。 

http://item.taobao.com/item.htm?id=35477227923 

 

 RC522 RFID 射頻模組

 RC522 RFID 射頻模組  

 費了好大的功夫才把功能 PO 好,主要是淘寶賣家通常都沒有提供 Cortex-M0 的 sample code, 

可以正常讀寫後,就想說來 copy 一下公司的考勤卡好了,於是又去買了一些 UID卡回來, 

賣場的說明,還有當時 google 到的使用者經驗都說寫這種 UID卡不用特殊設備,程序就跟寫標準卡一樣, 

可是不管我怎麼試, UID卡的行為就跟標準卡沒兩樣,甚至一度以為買到假貨。 

 

於是又在網路上繼續搜索,我覺得,一定有特別的命令讓我可以寫 sector[0]:block[0] 

終於讓我找到一篇,他的流程是這樣: 

Sent bits: 26 (7 bits) //尋卡 0x26 / 0x52 都可以

Received bits: 04 00

Sent bits: 93 20 //防衝撞

Received bits: 01 23 45 67 00

Sent bits: 93 70 01 23 45 67 00 d0 6f //選卡

Received bits: 08 b6 dd (SAK)

 

(不可以認證密鑰,不然後門打不開)

好,重點來了,

Sent bits: 50 00 57 cd //休眠,50 00 就是 PcdHalt()

Sent bits: 40 (7 bits) (特殊指令)//開後門第一條指令,要設定 BitFramingReg 使傳送 7 個位元,必須要 7 個

Received bits: a (4 bits)

Sent bits: 43 (特殊指令)//開後門第二條指令

Received bits: 0a

Sent bits: a0 00 5f b1 //正常的寫區塊第一次交握

Received bits: 0a

Sent bits: 00 dc 44 20 b8 08 04 00 46 59 25 58 49 10 23 02 c0 10 //正常的寫 block 0 資料

Received bits: 0a

 

重點就是要:

1. 不可以進行 3 Pass Authenticaiton

2. 發 PcdHalt()

3. 發 0x40 in 7-bit

4. 發 0x43

 

到這邊,我把考勤卡的 sector[0]:block[0] 整個區塊複製過來了,

接著,我又把其餘的 63 個區塊也都一併複製,然後滿心期待的拿去刷考勤機看看,

結果....

...

...

...

...

考勤機根本沒回應....

就是這一台:

PP-6750V  

http://www.pongee.com.tw/product.php?mode=show&cid=65&pid=250

不知道有沒有機會找到突破的方法...

 

 

參考資料

防止可修改UID的M1卡(复制卡)的方法


arrow
arrow

    eeStuff 發表在 痞客邦 留言(4) 人氣()