banner
Regex520

Regex520

Regex520 | CN #Android Phones #IT #Games #Others
bilibili
x
telegram
email

M1卡通用NFC複製教程

前言#

隨著 NFC 技術越來越廣泛的運用於生活中的各方各面,如 NFC 感應支付,NFC 門禁卡,NFC 音樂標籤,以及智能手機越發廣泛的支持了 NFC 功能,通過向手機內寫入 NFC 標籤以便利日常的需求不斷增加。本文針對傳統的 Mifare Classic® EV1 類型卡片(後文簡稱 M1)提供複製寫入教程。更加先進的 CPU 卡,其他類型卡片不在本文討論範圍
關於設備,你需要準備一台 Windows 電腦,一塊 pn532 模塊,以及目標卡片和源卡片
請確認你的手機有可以添加 nfc 卡片的系統錢包
如果你手機有錢包,但是難以添加你需要的門禁卡,這篇文章或許可以幫到你。如果你已經 dump 出數據,可跳轉到最後一節

概述#

市面上大多數卡片都是運行於 13.56 MHz 的標準 NFC 卡片,如一些小區的門禁卡,而我們的安卓設備所搭載的正是這一頻率的 NFC 芯片。
要想完整的複製一張 NFC 卡片,主要有兩個部分:1 是卡號(即 0 扇區內容),二是數據

關於卡號#

在正常符合規範的 M1 UID 卡中,0 扇區被鎖死,要解決此問題必須使用支持寫 0 扇區的 CUID 卡,利用手機內置的模擬芯片等等
如利用 CUID 卡,直接通過寫卡器寫入文件即可自然完成,不多做贅述
利用手機模擬的過程因人而異,後文將介紹
本文將利用來自xcicodeMifareOneTool進行破解和寫卡(後文簡稱為 M1T)

A GUI Mifare Classic tool on Windows(停工/最新版v1.7.0)

關於數據#

以下是一張 M1 卡的結構
image
卡片有0-15共 16 扇區,每個扇區都有0-3四塊,0~2塊為數據塊,3塊為控制塊,控制塊內存儲KeyAKeyB,以及該塊的控制字,控制字,即標誌兩個密鑰對塊的訪問權限的字符,M1 卡中每個扇區的權限都是獨立的
我們需要複製的卡片大多數都會經過加密,將之分為以下三種卡片:

  1. 非加密卡:所有扇區密鑰均為FFFFFFFFFFFF
  2. 半加密卡:部分扇區密鑰為FFFFFFFFFFFF
  3. 全加密卡:所有扇區密鑰均不為FFFFFFFFFFFF

非加密卡可以直接添加
假如你需要複製的 M1 卡恰好有加密(無論全加密還是半加密都可以破解),且符合SAK08/18/28,則本文適合你。

破解卡內數據#

首先通過上文提供的存儲庫下載 M1T,並將你的 PN532 正確連接到電腦,點擊 "檢測設備" 按鈕

image
不出意外的話,你已經連接上了設備
再將你需要破解的卡片放置在 PN532 上,依次點擊掃描卡片 -> 檢測加密(這一步可以判斷卡是半加密還是全加密)-> 一鍵解原卡,不出意外的話此時你已經獲得了你的半加密卡的數據,可以跳轉到下一節進行寫入了。

image

圖為成功解鎖時的界面,此時應當彈出文件管理器要求為保存的文件命名

倘若是全加密卡呢?

image

點擊下載 mfcuk(工具來自互聯網)
解壓,雙擊打開MFCUK,輸入 1 並回車
之後理論上可以經過超級漫長的等待獲取密鑰了(笑)

(其實是筆者嘗試復刻當時的運行結果失敗了沒法接著寫,有空再補,至少我確定全加密卡可破)

寫入手機#

到這一步已經很簡單了,只需要一個簡單的寫入思路就行:
對於一部分手機內置錢包,選擇寫入空白卡時第一步會要求複製卡號,之後要求使用寫卡器寫入數據
先放置原卡獲得卡號,再用 M1T 寫入獲得的數據即可
而對於另一部分手機內置錢包 (如 VIVO),在創建空白卡時會得到隨機卡號,必須更換思路:

根據這一信息,我們就得到了複製卡片的另一個思路:先複製一張注定失敗的卡片,再寫入數據。
手機上選擇添加實體門禁卡,複製本來的卡片,此時手機內的卡片應為有卡號而全空(即使有數據,所有密鑰已知)
再 M1T 打開高級功能選項卡先執行一次清 M1,得到空白數據後寫入 dump 出的原卡數據即可。
至此,你的手機已寫入你所預期的門禁卡。
如果你想要寫入一些其他功能數據,比如打開某個鏈接,播放音樂,連接 WiFi...... 可以搜索NFC Tools Pro進行個性化編輯

未能完成的實驗#

在給我自己手機刷入類原生系統後,我一直在受苦於無法完美的模擬 NFC 卡片,刷不動小區門禁,現在換回原系統了又沒法實驗,以下提供關於類原生一項實驗思路,希望可以研究出類原生系統複製門禁的辦法。

  1. 安裝Card Emulator Pro
  2. 利用該軟件複製一次 UID,激活卡片並嘗試在 M1T 上讀取卡片信息
  3. 類似上述無法直接寫入 UID 的解決辦法所得結論,嘗試直接寫入數據

本人並非專業,不了解錢包模擬 NFC 的實現原理,只能留一個懸念了。

載入中......
此文章數據所有權由區塊鏈加密技術和智能合約保障僅歸創作者所有。