Metrocard (Adelaide) - metrodroid/metrodroid GitHub Wiki

Metrocard is the smart-card ticketing system in use in Adelaide, Australia. It is operated by Adelaide Metro.

Metrocards are Mifare DESFire EV1 cards, with one application, 0xb006f2.

This card is essentially an Intercode card with following differences:

  • It uses DESFire cards rather than Calypso
  • Local time rather then UTC
  • Counters are not readable
  • Ticketing Env and Subscriptions have "Extra" fields populated.
  • Expiry is set to 0x3fff probably meaning "No Expiry" but effectively making expiry "November 9, 2041"

File 0x00

This maps to TICKETING_ENV and follows Intercode with unknown constant contents in TicketingEnvExtra

File 0x01

So far this is 0-record record file

File 0x02 - 0x06

These contains records of the transactions on the card. The transaction record is rotated between different files, with the latest referenced by File 0x07. This maps to TICKETING_LOG and follows intercode ticketing log format except using local time

File 0x07

All bytes are null except 0x14 which contains a pointer to the file currently in use.

File 0x08

Contains text HID ADELAIDE or NoteAB ADELAIDE

File 0x09 - 0xb

This maps to TICKETING_SPECIAL_EVENTS and follows intercode ticketing log format except using local time

File 0x0c - 0xf

Counters. Maps to TICKETING_COUNTERS_* But is not readable. File 0x0c contains card balance

File 0x10 - 0x13

Contracts. Maps to TICKETING_CONTRACTS_1. Follows Intercode format with ContractExtra

File 0x14 - 0x17

So far zero-filled

File 0x1b - 0x1c

Locked

File 0x1d

So far this is 0-record record file

File 0x1e

Constant