如何读写未知的智能卡?

时间:2014-04-28 10:06:24

标签: smartcard apdu smartcard-reader contactless-smartcard acr122

我买了一些我认为是金雅拓产品的智能卡。

现在我有这四个ATR(使用ACR38和ACR122U阅读器):

3B 8F 80 01 80 31 80 65 B0 85 02 02 ED 12 0F FF FF FF FF 9F
3B 7F 94 00 00 80 31 80 65 B0 85 02 02 ED 12 0F FF 82 90 00
3B 68 00 00 00 73 C8 40 11 00 90 00
3B 00

我搜索了互联网,但没有发现这些ATR(无论是在gemalto.com还是其他任何地方)。

如何阅读和写入此卡?

我可以使用两个智能卡读卡器来读写这些卡,还是我必须购买新型号?

1 个答案:

答案 0 :(得分:2)

假设这些(非仿真)ATR来自(非接触式)卡,这些看起来像处理器智能卡。除此之外,这些ATR中没有太多信息(至少其中包含的历史字节不会显示任何人类可读信息)。

但请注意,特别是对于ACR122U,通过PC / SC“默认”的默认卡也可以是集成在阅读器中的SAM模块。最后一个ATR(3B 00)可能不是来自卡的实际ATR,但看起来更像是通常由ACR122U模拟的ATR,如果没有执行自动轮询且没有SAM可用的话。在这种情况下,它是一个占位符,允许通过PC / SC API激活阅读器,以便传输特定于阅读器的包装命令(有关更多信息,请参阅ACR122U API手册)。

因此,如果您的卡是处理器智能卡,您可以尝试向它们发送APDU命令。例如。为了找出它可能是什么卡,你可以尝试发出一个带有空DF名称的SELECT(通过DF名称)命令并检查你得到的响应:

00 A4 04 00 00

但您也可以尝试选择EF.DIR等,如果有的话。