请求:Windows下通过ACR122U卡模拟向手机传输URL的分步指南
Windows环境下ACR122U模拟NFC卡传输URL分步指南
一、准备工作
- 硬件:正版ACR122U NFC读卡器(避免兼容问题)
- 系统:Windows 10/11(推荐10及以上,NFC驱动支持更完善)
- 工具:
- ACS官方ACR122U PC/SC驱动
- pyApduTool(GUI版APDU命令发送工具,新手友好)
- pcsc_scan(命令行工具,用于验证读卡器识别状态)
二、安装驱动与基础工具
安装ACR122U PC/SC驱动
下载对应Windows版本的驱动并安装,重启电脑后,打开命令提示符运行:pcsc_scan输出中出现
ACS ACR122U PICC Interface即说明读卡器识别正常。安装pyApduTool
下载并解压pyApduTool,运行主程序,在设备列表中选择ACR122U读卡器。
三、配置ACR122U进入卡模拟模式
ACR122U基于PN532芯片,需通过APDU命令切换到目标模式(卡模拟),步骤如下:
发送PN532初始化命令,进入卡模拟模式:
在pyApduTool的命令输入框中粘贴以下命令,点击「Send」:FF0000000D D48C 00 00 00 00 00 00 00 00 00 00 00解释:
D48C是PN532的TgInitAsTarget命令,后续参数为默认ISO14443A卡模拟配置。验证模拟模式是否激活
发送验证命令:FF00000002 D48E若返回
D58F00,则说明卡模拟模式配置成功。
四、生成NDEF格式的URL数据
URL需转换为NFC标准的NDEF记录格式,以https://youtube.com为例:
NDEF记录结构(十六进制):
C1 01 0B 55 04 79 6F 75 74 75 62 65 2E 63 6F 6D字段说明:
C1:TNF(Well-known类型)+ MB(消息开始)+ ME(消息结束)01:TYPE字段长度("U"为1字节)0B:PAYLOAD长度("youtube.com"共11字节)55:TYPE字段("U"的ASCII码,代表URL类型)04:URL前缀编码(对应https://)- 后续字节:
youtube.com的ASCII编码
注:其他URL可按规则自行编码,或用NDEF编码工具生成对应十六进制数据。
五、将NDEF数据写入模拟卡内存
ACR122U模拟的是MIFARE Ultralight卡,用户数据从块4开始,发送APDU命令写入数据:
FFD6000410 C1010B5504796f75747562652E636F6D00000000
解释:
FFD6:MIFARE写块命令0004:写入块地址(块4)10:数据长度(16字节,不足部分用00填充)- 后续十六进制:NDEF数据+填充位
若URL对应的NDEF数据超过16字节,需拆分写入后续块(如块5、块6),命令格式类似,仅修改块地址和对应数据。
六、测试卡模拟效果
- 安卓设备:打开NFC功能,将ACR122U靠近设备NFC感应区,设备会弹出URL跳转提示。
- iPhone设备:保持在锁屏或主屏幕界面,将ACR122U靠近设备顶部NFC感应区,系统会自动识别并提示打开URL。
常见问题排查
- 若设备无法识别:检查ACR122U固件版本(部分旧固件不支持卡模拟,需通过ACS官方工具升级);确保读卡器无物理卡片放置;验证APDU命令输入无格式错误。
- 若URL跳转异常:检查NDEF数据编码是否正确,尤其是URL前缀编码和字节长度。
内容的提问来源于stack exchange,提问作者Layla
相关产品推荐
相关产品推荐

