使用谷歌Web NFC示例读取Mifare Classic 1k标签后无法写入如何解决
问题成因
你的标签没有损坏,仅访问权限和验证密钥被Web NFC示例工具修改了:
- 谷歌Web NFC示例在读取Mifare Classic标签时,会自动将标签格式化为标准NDEF格式,除扇区0外所有扇区的Key A被改写为NDEF标准默认值
D3F7D3F7D3F7,同时访问位配置为禁止Key B验证、仅使用Key A完成读写操作 - MiFare Classic Tool默认会优先使用出厂默认Key B
FFFFFFFFFFFF做写入验证,匹配失败就会抛出Key with write access (B) not known报错,和你遇到的现象完全吻合
修复方案
- 打开MiFare Classic Tool,进入密钥管理界面,添加如下3组密钥到自定义密钥库:
A0A1A2A3A4A5(扇区0的默认Key A)D3F7D3F7D3F7(NDEF格式标准Key A)FFFFFFFFFFFF(出厂默认密钥)
- 回到主界面选择“读标签”功能,勾选使用自定义密钥库,选择仅用Key A验证的选项,完成全扇区读取
- 读取成功后选择“写标签”->“格式化标签”,或者直接将扇区尾块批量修改为出厂默认配置:
FFFFFFFFFFFF 0780 69 FFFFFFFFFFFF,写入完成后标签即可恢复为NFC Tools可正常读写的状态
后续预防措施
- 使用在线Web NFC工具、未知来源的NFC读写工具前,先使用MiFare Classic Tool导出完整标签dump做备份
- 不需要写入操作时,不要给Web NFC工具授予标签写入权限,多数Web NFC演示页面会默认尝试将标签转为NDEF格式适配网页读写逻辑
内容的提问来源于stack exchange,提问作者Nicolas
相关产品推荐
相关产品推荐

