0x01买板子
最便宜的平板pn532需要购买usb并转到串行端口的设备。 关于kali-rolling,好像是通杀。 PL2303、ch34X和FT232RL (未测试)。 这即使更高端也应该没问题。 (cp2102 )。
将排针焊接在pn532上,用杜邦线连接两块板子,硬件is ok。
0x02安装软件
cd xxx
./configure
美妆
sudo make install
注意:新版本将使用automake工具
新的/usr/local/etc/nfc/libnfc.conf
ABC @ kali :/usr/local/etc/NFC $ catlibnfc.conf
#allow_autoscan=true
device.connstring=' pn 532 _ UART :/dev/tty USB0'
好像要安装和编译mfoc,mfcuk,因为kali有,所以在这里不做说明。
0x03开始
连接设备,开始作业,用水卡试试
abc@kali:~$ sudo nfc-list
nfc-list uses libnfc 1.7.1
NFC device : pn 532 _ UART :/dev/tty USB0opened
1iso14443apassivetarget(s ) found:
iso/iec14443a(106kbps ) target:
atqa(sens_RES ) : 00 04
uid(NFCid1 ) : 71 3d b3 1e
SAK(sel_RES ) : 08
可以识别,安装正确。
解码
ABC @ kali :~~/NFC $ mfoc-fkey-otmp.MFD
.
Auth with all sectors succeeded,dumping keys to a file!
.
完成密码
注:如果在安装libnfc时使用sudo,则还必须以root权限运行相应的命令
0x04分析数据
该数据比较简单,由于bock17和18保存金额和奇偶校验位,找到奇偶校验位的规则循环出现,所以根据原始数据,例如00 00对应于5a 78,金额加1020,1020对应于FC 03
注:金额数据按相反顺序存储,相反读取
写入原卡或空白卡
ABC @ kali ://NFC $ NFC-mfclassicwbtmp.MFD tmp.MFD
当显示help时,nfc-mfclassic命令会更清楚每个参数的作用。 不在这里展开
0x05测试
测试,拿到梳棉机测试,发现无法读取,返回0x04,将校验位加1,重新写入,测试ok。