我在将数据写入Mifare Ultralight C标签时遇到问题。我可以读取它并写入部分内存,但似乎它的一部分被阻止,它向我显示IOException“Transceive failed”。我不能写14-27的记忆位置。块似乎没有被锁定。 我第一次写东西,它工作得很好,但现在我甚至无法将标签格式化为Ndef。
我正在使用方法
ultralight.writePage(pageOffset, data);
我无法上传图片,但希望这有助于更好地描述问题(来自TagInfo应用的信息):
ATQA 0x4400 SAK 0x00 Memory content: 00 * 04:4F:BD 7E (UID0-UID2, BCC0) 01 * 5A:53:28:80 (UID3-UID6) 02 . A1 48 00:00 (BCC1, INT, LOCK0-LOCK1) 03 . E1:10:12:00 (OTP0-OTP3) 04-OF . DATA 10-27 ? DATA 28 ?p XX XX -- -- (LOCK2-LOCK3) 29 ?p XX XX -- -- (CNT0-CNT1) 2A ?p 28 -- -- -- (AUTH0) 2B ?p XX -- -- -- (AUTH1) 2C ?- XX XX XX XX 2D ?- XX XX XX XX 2E ?- XX XX XX XX 2F ?- XX XX XX XX
有什么想法吗?
由于
答案 0 :(得分:0)
也许你在访问位中写错了,即使你有正确的写密钥也无法写入数据。
答案 1 :(得分:0)
页面0x10及更高版本的锁定字节是不可访问的,因此如果您不知道身份验证密钥,很难确定发生了什么。您可能做的是覆盖页面0x28并超出您第一次写入数据,从而意外地锁定页面0x14-0x27(并且可能设置密码)。一旦页面被锁定,不幸的是你不能解锁它。