2016-05-23 98 views
0

我正在使用我卡住的AID列表从VISA(例如PAN,失效日期...)信用卡中获取有用数据。无法识别智能卡上的AFL

我已经能够手动访问所有数据。使用一个教程:http://www.openscdp.org/scripts/tutorial/emv/reademv.html

>>00 A4 04 00 07 A0 00 00 00 03 10 10 00 

在ASCII:

<<o<EM>„<BEL> <0><0><0><ETX><DLE><DLE>¥<SO>P<EOT>VISA¿<FF><ENQ>ŸM<STX><VT><LF><0> 

在十六进制:

<<6F 19 84 07 A0 00 00 00 03 10 10 A5 0E 50 04 56 49 53 41 BF 0C 05 9F 4D 02 0B 0A 90 00 

之后,我用:

>>33 00 B2 01 0C 00 //sfi1, rec1 
... 
... 
>>33 00 B2 10 FC 00 //sfi31, rec16 

我继续教程并了解到获取数据的正确方法是使用GPO(获取处理选项)命令。并尝试下一步:

>>80 A8 00 00 0D 83 0B 00 00 00 00 00 00 00 00 00 00 00 00 // pdo = 83 0B 00 00 00 00 00 00 00 00 00 00 00 which suposse to be the correct one for VISA. 
<< 69 85 

所以使用条件不满意。

>> 80 A8 00 00 02 83 00 00 //pdo= 83 00 that should work with every non visa card 
<< 80 0E 3C 00 08 01 01 00 10 01 04 00 18 01 03 01 90 00 

如果这种反应是正确的,它看起来相当不错,我作为它开始了80和90 00结尾,我无法确定AFL我认为这将使我能够确定的PAN,有效期限...有人可以帮助我吗?

回答

4

你所收到的选择命令(00 A4 0400 07 A0000000031010 00)进行解码,以

 
6F 19 (File Control Information (FCI) Template) 
    84 07 (Dedicated File (DF) Name) 
     A0000000031010 
    A5 0E (File Control Information (FCI) Proprietary Template) 
     50 04 (Application Label) 
      56495341 ("VISA") 
     BF0C 05 (File Control Information (FCI) Issuer Discretionary Data) 
      9F4D 02 (Log Entry) 
       0B0A (SFI = 11; # of records = 10) 

这FCI不包括任何PDOL(处理选项数据列表)的FCI。因此,您需要为PDOL假设一个默认值(这是您卡类型的空列表)。因此,在GET PROCESSING OPTIONS指令的PDOL相关数据字段必须是空的:

 
83 00 

在哪里0×83是用于PDOL相关数据和0×00的标记是零个字节的长度。

因此,正确的GPO命令(因为你已经发现了):

 
80 A8 0000 02 8300 00 

你有

 
800E3C00080101001001040018010301 9000 

这解码为

 
80 0E (Response Message Template Format 1) 
    3C00 (Application Interchange Profile) 
    08010100 10010400 18010301 (Application File Locator) 

因此,响应应用程序文件定位器包含以下三项:

  • 08010100:SFI = 1,第一条记录= 1,最后的记录= 1,参与脱机数据认证的记录= 0
  • 10010400:SFI = 2,第一记录= 1,最后的记录= 4,参与记录脱机数据认证= 0
  • 18010301:SFI = 3,第一个记录= 1,最后一个记录= 3,参与脱机数据认证的记录= 1

因此,您可以读取与读记录命令的记录:

 
00 B2 010C 00 
00 B2 0114 00 
00 B2 0214 00 
00 B2 0314 00 
00 B2 0414 00 
00 B2 011C 00 
00 B2 021C 00 
00 B2 031C 00