從S50非接觸式IC卡 學習筆記可以知M1卡初始A密碼和B密碼都是0xFFFFFFFFFFFF,對M1卡一般是以塊為單位進行讀寫操作,所以對卡密碼的操作流程如下:
char buf[16]
↓
驗證指定扇區的卡密碼A
↓
buf的0~5字節中填入新密碼A
↓
buf的6~9字節填入控制字
↓
buf的10~15字節中填入新密碼B
↓
把buf寫到指定扇區的第3塊
由些可知:
如果只改密碼A、密碼B、控制字中的一項,必須通過指定密碼驗證,且還得知道另外兩項的值才能修改;
注意:
1、如果M1卡內指定區的密碼和控制字不是初始值,需要知道控制字和密碼才能修改,即訪問權限(問修改人或是設計人);
2、如果對修改后的卡進控制字以外的操作可能會造成死鎖;
3、控制字推及推薦用:0x08 0x77 0x8F 0x69,修改完對卡的操作權限如下: