首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >EMV读取PAN码

EMV读取PAN码
EN

Stack Overflow用户
提问于 2018-04-30 16:17:36
回答 1查看 4.3K关注 0票数 3

我需要通过芯片读取每一张可能的卡片的密码。在我的工作中,我必须只使用C,而且我没有可以帮助我完成这一无聊任务的例程。这就是我使用的APDU步骤:

1)选择1PAY.SYS.DDF01

代码语言:javascript
复制
00 A4 0400 0E 315041592E5359532E4444463031    

然后从响应00 C0 0000 22 315041592E5359532E4444463031读取所有数据。完整答复:

6f 20 e 84 31 50 41 59 2e 53 59 53 2e 44 44 46 30 31 a5 e 88 1 1 5f 2d 69 8 74 65 6e 66 72 65 73 90

2)读取记录以获取特定的AID

代码语言:javascript
复制
00 B2 010C 00 

完整答复:

代码语言:javascript
复制
70 17 61 15 4f 7 a0 0 0 0 4 30 60 50 7 4d 41 53 54 52 45 4f 87 1 1 90

3)从前面的响应中选择AID (在我的例子中,AID是A0000000043060 )

代码语言:javascript
复制
00 A4 0400 07 A0000000043060

同样在这种情况下,我有响应: 61 36,所以我用以下命令重新调用该命令:

代码语言:javascript
复制
00 C0 0000 36 A0000000043060

完整答复:

代码语言:javascript
复制
6f 0 41 45 53 52 4f 54 87 1 1 34 84 a0 7 0 0 4 30 60 a5 29 50 7 4d 5f 2d 8 69 74 65 6e 72 66 65 73 bf c f 9f 4d 2 b a 9f 6e 3 7 80 0 0 30 30 0 90

现在我使用的每一个命令都会收到错误的消息。我不明白我是否需要使用读取数据、读取记录、获取处理选项或其他什么。你能告诉我我现在要做什么吗?

我需要得到卡的16个字符代码,一个通常是清楚地打印在卡片上。

感谢每个人

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-05-02 10:24:39

打印在智能卡(支付芯片卡)上的8字节(16位)代码是可检索的。这些信息是标签57中个性化记录中“第2道等效数据”的一部分。

您可以分割这个"Track 2等效数据“的初始8字节来获取您的代码。

现在如何获得“轨道2等效数据”:

  1. 选择支付应用程序(这里不包括PSE/PPSE流程,因为您可以这样做)
  2. 发送GPO命令。通常,如果GPO命令APDU中不需要PDOL数据,则80 A8 00 0002 83 00是GPO的APDU。(如果SELCT命令的响应中没有9F38标记,那么只需发送此APDU,否则必须创建PDOL )。有关GPO响应的更多细节,请参见EMV4.3图书3节6.5.8。
  3. 您将在GPO的响应中获得AFL,并按照AFL从应用程序中读取所有可用的记录。正常情况下,轨道2的数据可以在2或3条初始记录内找到。 要理解AFL的编码,可以参考10.2节EMV4.3第3卷。 要理解已读取的记录APDU结构,请参阅EMV4.3书1第11.2节。
  4. 其中一个记录必须包含标记57,您可以获取该值。
票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50104424

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档