如何使用小米手環與PN532(或類似芯片)複製驗證卡號的IC卡

好久沒發博客了,之前在搭的主頁也沒開始遷移……最近正好研究了下IC卡相關的東西,權當記錄一下。
學校換了新的飯卡,之前直接上PN532的方法不好使了。推測是新讀卡機會檢測0扇區,操作過後果然可行。
本文不會詳細講解PN532驅動、軟件等操作流程,主要也是因爲網絡上軟件資源種類太多,能基本上都一致,簡單操作就可使用。
PN532操作參考閱讀:PN532!便宜又好用的NFC設備!


I 小米手環IC卡寫入的幾個難度等級

在嘗試將IC卡寫入小米手環的時候,如果不太瞭解IC卡的分類與原理,可以按照以下順序嘗試:

  1. 無加密IC卡 - 直接使用小米手環app“複製卡片”功能可以複製
    現在已經很少了。
  2. 加密IC卡,不驗證0扇區 - 使用PN532類
    加密的卡片不能直接複製,需要使用芯片讀取寫入。
  3. 加密IC卡,驗證0扇區卡號 - PN532 + 一張UID白卡 + “卡片複製”功能
    由於直接讀取、寫入不會涉及0扇區,需要一張能寫入0扇區的卡(UID)然後將0扇區和其他信息分別寫入。
  4. 加密IC卡,驗證0扇區卡號和廠商信息 - 基本無解
    小米手環由於對廠商信息的保護,無論如何都不能複製廠商信息。

II 卡片分區

簡單講解一下關於卡片分區的問題,以便解釋卡片不能直接複製的原因。
IC卡分區
來源:小米手環4 NFC 添加加密門禁卡

首先,一般情況下0扇區的信息是不會被檢測的,常規IC(M1)卡(包括小米手環“白卡”功能)也無法寫入0扇區。但是,有些廠商的讀卡機會檢測0扇區的“卡號”內容,這時就需要一些手段來寫入0扇區;
一種特殊的IC卡,UID卡能夠寫入0扇區。
因此,我們使用一張UID卡複製一個只有0扇區的信息,因爲加密的部分全部被去除了,可以直接用小米手環app“複製卡片”。此時0扇區(除了廠商信息)會被寫入小米手環。
最後,再使用PN532常規手段寫入其他扇區的信息即可。

III 寫入0扇區

除了需要小米手環(NFC),PN532芯片及軟件之外,還需要:

  • 一張UID白卡
  • dump編輯(或轉換)軟件
  • 小米手環手機app
  1. 首先使用PN532讀取飯卡的全部信息,存儲進dump文件。
  2. 創建一個dump文件的複製,刪除除0扇區之外所有扇區0-2區塊的信息,改爲00。在1扇區0區塊加入一行信息(隨機即可)防止複製失敗。
  3. 將刪除完之後的文件寫入空UID卡.
  4. 使用小米手環app“複製卡片”複製這張UID卡。正確的話,會顯示成功,否則是被加密之類的。
  5. 複製成功後再使用PN532,將存在小米手環裏的卡片當作一張白卡,寫入初始dump文件的信息即可。由於0扇區實際上無法寫入,不用擔心被複寫。

步驟圖

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章