Viele (aber nicht alle!) Terminals loggen die Transaktion auf der Karte selbst. Diese Transaktionen können wir auslesen und analysieren.
Um das auf der Postcard gespeicherte Protokoll der Transaktionen auslesen zu können, muss man folgendes wissen:
Die Startadresse des Speicherbereiches:
Dies konnten wir aus der Zeiger-Liste
der Karte ermitteln; das Transaktions-Protokoll beginnt ab Adresse
0x2F8
Die PIN zur Ihrer Postcard:
Das Auslesen ist nur mit Kenntnis der PIN möglich; zudem darf die Karte nicht durch
mehrmalige Fehleingabe der PIN gesperrt sein.
Das Format der gespeicherten Transaktionen:
Wie bei praktisch allen anderen Informationen auch können wir die französische Webseite
konsultieren, um mehr über den Aufbau der Daten zu erfahren.
Bevor auf die Transaktionsdaten zugegriffen werden kann, muss zuerst der Befehl zur PIN-Verifikation gesendet und der Speicher so freigeschaltet werden.
Bestimmen Sie den Befehl zur Freischaltung basierend auf ihrer PIN oder nutzen Sie das nachfolgende JavaScript-Formular:
Senden Sie das berechnete Kommando an die Karte; bei erfolgreicher Befehlsausführung
wird der Statuscode 9000
zurückgegeben. Zum Abschluss der PIN-Prüfung
wird der Befehl
BC:40:00:00:00
|
an die Karte geschickt. Anschliessend können Sie das Protokoll auslesen.
Zum Auslesen der Transaktions-Daten ab Adresse 0x02F8 wird das nachfolgende Kommando an die Karte geschickt:
BC:B0:02:F8:80
|
Diese antwortet mit dem Statuscode 9000
(OK) und gibt die
angeforderten Daten zurück:
30 00 01 04 33 08 0B B3 33 68 01 7C 33 B8 00 F0 |
Wird das Ende des ausgelesenen Speicherbereiches erreicht, ohne das Ende des Protokolls zu finden, muss weiterer Speicher angefordert werden. Da wir in Blöcken von 128 Bytes einlesen, muss dazu die Offsetadresse jeweils um 256 erhöht werden (Nibble-Addressierung). Der zweite Block kann also mit folgendem Befehl gelesen werden:
BC:B0:03:F8:80
|
Weitere Startadressen sind dann: 04F8
, 05F8
,
06F8
und 07F8
.
Der Speicherberich für Transaktions-Einträge endet bei 0x089F
und kann somit rund 180 Einträge aufnehmen.
Das Transaktionsprotokoll ist eine lineare Liste von Einträgen, die alle
genau vier Byte lang sind. Das Ende der Liste wird durch den Eintrag
FFFFFF
gekennzeichnet.
Es gibt zwei Arten von Listeneinträgen:
Datum-Stempel: 30 00 JJ MM
Es werden des Jahr und der Monat (BCD-kodiert) beschrieben, in dem
die nachfolgenden Transaktionseinträge getätigt wurden:
Transaktions-Eintrag: 33 XX XX XX
Beschreibt eine einzelne Transaktion. Die obersten fünf Bit der
Daten beschreiben den Tag und die restlichen 19 Bit ergeben den
Betrag in Rappen:
Kopieren Sie die erhaltenen Daten in das linke Fenster und lassen Sie sich das Protokoll anzeigen: