2016-05-23 33 views
0

Ich arbeite daran, nützliche Daten von einer VISA-Karte (wie PAN, Ablaufdatum ...) zu erhalten, indem ich eine Liste von AIDs verwende, die ich hängen geblieben bin.AFL auf einer Smartcard kann nicht identifiziert werden

Ich konnte auf alle Daten manuell zugreifen. Unter Verwendung des nächsten Tutorial: http://www.openscdp.org/scripts/tutorial/emv/reademv.html

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

In ASCII:

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

In Hexadezimal:

<<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 

Danach habe ich verwendet:

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

ich mit dem Tutorial fortgesetzt und gelernt dass die richtige Methode zum Abrufen der Daten der GPO-Befehl (Get Processing Options) ist. Und versuchte das nächste:

>>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 

So ist die Bedingung der Verwendung nicht erfüllt.

>> 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 

Wenn diese Antwort richtig ist und es sieht für mich ganz gut, wie sie mit 80 beginnen und enden um 90 00, ich bin AFL nicht in der Lage zu erkennen, welche ich denke, dass ich erlauben würde, die PAN, um zu bestimmen, Ablaufdatum ... Kann mir jemand helfen?

Antwort

4

Der FCI, die Sie als Reaktion auf den Auswahlbefehl empfangen (00 A4 0400 07 A0000000031010 00) decodiert

 
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) 

Diese FCI enthält keine PDOL (Verarbeitungsoptionen Datenliste). Daher müssen Sie einen Standardwert für die PDOL (eine leere Liste für Ihren Kartentyp) annehmen. Folglich muss das PDOL bezogenen Datenfeld in dem GET-Befehl PROCESSING OPTIONS leer sein:

 
83 00 

Wo 0x83 wird der Tag für PDOL bezogenen Daten und 0x00 ist eine Länge von Null-Bytes.

Somit ist die richtige GPO-Befehl ist (wie Sie bereits herausgefunden):

 
80 A8 0000 02 8300 00 

Sie haben die Antwort

 
800E3C00080101001001040018010301 9000 

Dieser dekodiert zu

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

, folglich die Application File Locator enthält die folgenden drei Einträge:

  • 08010100: SFI = 1, erster Datensatz = 1, letzter Datensatz = 1, beteiligte Datensätze in Offline-Daten-Authentifizierung = 0
  • 10010400: SFI = 2, erster Datensatz = 1, letzter Datensatz = 4, beteiligt Datensätze in offline-Daten-Authentifizierung = 0
  • 18010301: SFI = 3, erster Datensatz = 1, letzter Datensatz = 3, beteiligt Datensätze in offline-Daten-Authentifizierung = 1

Folglich können Sie diese Datensatz mit den READ RECORD Kommandos lesen :

 
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