【问题标题】:APDU Write block commands on mifare 1K with ACR122U readerAPDU 使用 ACR122U 阅读器在 mifare 1K 上写入块命令
【发布时间】:2019-05-30 22:42:34
【问题描述】:

请,

我正在尝试使用 ACR122U 阅读器编写一个简单的二进制块到 mifare 1k 标签。

我正在尝试写入块 01, 5 bytes, text:'teste' 并将其读回。

但我在更新此块时总是收到错误 6300。

有什么想法吗?

我使用的是 windows 8.1/delphi xe8。

我的日志是:

SCardEstablishContext succeeded.
Card State changed in ACS ACR122U PICC Interface 0 to available
New reader found: ACS ACR122U PICC Interface 0
Card inserted in ACS ACR122U PICC Interface 0
ATR = 3B 8F 80 01 80 4F 0C A0 00 00 03 06 03 00 01 00 00 00 00 6A
SCardConnect (shared) succeeded.
Active Protocol: T=1
ISO 14443 A, Part3 Card Type: Mifare Standard 1K is detected
Sending APDU to card: FF 82 00 01 06 FF FF FF FF FF FF
SCardTransmit succeeded.
Card response status word: 9000 (OK)
Sending APDU to card: FF 86 00 00 05 01 00 01 60 01
SCardTransmit succeeded.
Card response status word: 9000 (OK)
Sending APDU to card: FF 86 00 00 05 01 00 01 60 01
SCardTransmit succeeded.
Card response status word: 9000 (OK)
Sending APDU to card: FF D6 00 01 05 74 65 73 74 65
SCardTransmit succeeded.
Card response status word: 6300 (State of non-volatile memory changed.)

【问题讨论】:

    标签: delphi nfc mifare apdu


    【解决方案1】:

    reading the documentation. 很容易解决这个问题

    你正在写一个块,你必须提供一个完整的信息块。 Lc 的唯一选项是 x04x10 - 四个字节或十六个字节。对于 Mifare 1K,很明显您需要提供 16 个字节。你只有 5 个字节的数据,所以用零填充其余部分。

    |  CMD   | block1 | 16 bytes | data ... 
     FF D6 00    01       10       74 65 73 74 65 00 00 00 00 00 00 00 00 00 00 00
    

    【讨论】:

    • 非常感谢,它解决了我的问题。我多次阅读文档,但我认为问题不在于它。
    • @LuizAlves 很高兴它成功了。我从来没有使用过这些东西之一 - 无法确定。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多