gpt4 book ai didi

nfc - 如何使用 ACR122U-A9 进行卡模拟

转载 作者:行者123 更新时间:2023-12-04 02:19:21 27 4
gpt4 key购买 nike

我有一个 ACR122U-A9,我想用它进行卡模拟。
请问谁做到了这一点?你能给我一些建议吗?

现在我还有其他问题,当我将白色智能卡放在这个 NFC 读卡器上时,LED 只闪烁一次。但是当我把电话放在上面时,LED 总是闪烁直到电话出去。

最佳答案

ACR122U 包含一个 PN532 NFC Controller 芯片。 PN532 通过其 TgInitAsTarget 命令支持主机卡仿真(请参阅 PN532 user manual )。为了向 PN532 传递命令,您可以像连接普通智能卡读卡器一样连接到 ACR122U(例如使用 PC/SC)。然后,您可以将打包 PN532 命令发送到以下形式的阅读器-APDU 中

> FF000000 <Lc> <Command>

并以表格形式获得回复
< <Response> 9000

因此,为了让 ACR122 进入卡模拟模式,您需要执行以下操作:
  • 读取寄存器:
    > FF000000 08 D406 6305 630D 6338
    < D507 xx yy zz 9000
  • 更新寄存器值:
    xx = xx | 0x004;  // CIU_TxAuto |= InitialRFOn
    yy = yy & 0x0EF; // CIU_ManualRCV &= ~ParityDisable
    zz = zz & 0x0F7; // CIU_Status2 &= ~MFCrypto1On
  • 写寄存器:
    > FF000000 11 D408 6302 80 6303 80 6305 xx 630D yy 6338 zz
    < D509 9000
  • 设置参数:
    > FF000000 03 D412 30
    < D513 9000
  • TgInitAsTarget
    > FF000000 27 D48C 05 0400 123456 20 000000000000000000000000000000000000 00000000000000000000 00 00
    < D58D xx ... 9000

    其中 xx 应等于 0x08。
  • 使用一系列 TgGetData 和 TgSetData 命令进行通信:
    > FF000000 02 D486
    < D587 xx <C-APDU> 9000

    其中 xx 是状态码(成功应该是 0x00),C-APDU 是阅读器发送的命令。
    > FF000000 yy D48E <R-APDU>
    < D587 xx 9000

    其中 yy 是 2 + R-APDU(响应)的长度,xx 是状态码(应该是 0x00 表示成功)。
  • 关于nfc - 如何使用 ACR122U-A9 进行卡模拟,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14854933/

    27 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com