From 9f5c9f9a66defcc2f70385c40d699b318d34f489 Mon Sep 17 00:00:00 2001 From: Harald Welte Date: Thu, 12 Aug 2010 23:43:52 +0800 Subject: update notes to reflect latest findings --- easycard.2/notes.txt | 37 +++++++++++++++++++++++++++++++++---- 1 file changed, 33 insertions(+), 4 deletions(-) diff --git a/easycard.2/notes.txt b/easycard.2/notes.txt index ef7f236..c2e15c1 100644 --- a/easycard.2/notes.txt +++ b/easycard.2/notes.txt @@ -10,37 +10,58 @@ Address 0xe0 and 0x100 DATA block containing transaction entering MRT Liuzhangli 00000e0 de01 63d8 004c 0000 0190 0d00 6ad6 0002 0000100 de01 63d8 004c 0000 0190 0d02 6ad6 0002 + 01 transaction id / counter + 4c63d8 upper 24 bits of unix timestamp + 0000 no charge + 0190 remaining balance on card + 0d MRT station code Liuzhangli + 6ad6 most likely reader number Address 0xd0 and 0x110 DATA BLOCK containing transaction leaving MRT Liuzhangli 00000d0 b502 63d9 114c 000c 0184 0d01 6d19 0002 0000110 b502 63d9 114c 000c 0184 0d02 6d19 0002 + 02 transaction id / counter + 4c6349 upper 24 bits of unix timestamp + 000c 12 NTD charge + 0184 remaining account balance on card + 0d MRT station code Liuzhangli + 6d19 most likely reader number Address 0x1d0: DATA BLOCK containing part of leaving MRT station 00001d0 0000 0000 000d 0000 b500 63d9 004c 0000 + 000d MRT station code Liuzhangli + 4c63d9 upper 24 bits of unix timestamp Address 0x1e0: DATA BLOCK containing part of last MRT entering transaction 00001e0 0000 0100 000d 0000 de00 63d8 004c 0000 0x0d == Station Number (Liuzhangli) + 4c63d8 upper 24 bits of unix timestamp Address 0x120 DATA BLOCK containing transaction at Starbucks in XinDian (close Openmoko): 0000120 4403 63fc 204c 005f 0125 0197 d07b 0097 + 0x03 transaction number + 4c63fc upper 24 bits of unix timestamp 0x5f == 95 -> NTD amount of purchase 0x125 == 293 -> NTD remaining after transaction - 0x63fc == Timestamp Address 0x3e0 DATA BLOCK somehow related to shop purchasing 00003e0 0000 0000 0000 0000 0000 0b00 233d 0000 first purchase with easycard.1 (7eleven) + 0x23 == 35 -> amount of purchase + 00003e0 0000 0000 0000 0000 0000 0c00 4b3d 0000 + second purchase with easycard.1 (7eleven) + 0x4b == 75 -> amount of purchase 00003e0 0000 0000 0000 0000 0000 0c00 5f3d 0000 first purchase with easycard.2 (starbucks) + 0x5f == 95 -> amount of purchase 00003e0 0000 0000 0000 0000 0000 0c00 233d 0001 second purchase with easycard.2 (cosmed) - + 0x23 == 35 -> NOT amount of purchase (0xc4) == timestamp == @@ -53,9 +74,14 @@ Address 0x3e0 current working assumption: one tick of the timestamp equals 4 minutes. this means last wrap of counter was 71 days ago, about june 2nd. +UPDATE: the 0x4c in front actually makes it the upper 24 bits of a unix +timestamp. However, it doesn't count in UTC but in local time. + == Futher notes == -* purchase at Starbucks prints UID of card in decimal (3224478099 == 0xc031a193) on receipt - +* purchase at Starbucks prints UID of card in decimal (3224478099 == + 0xc031a193) on receipt +* purchase at other shops indicates this is standard practise + +00000d0 b502 63d9 114c 000c 0184 0d01 6d19 0002 +0000110 b502 63d9 114c 000c 0184 0d02 6d19 0002 @@ -64,3 +90,6 @@ this means last wrap of counter was 71 days ago, about june 2nd. 0x0d Liuzhangli 0x24 Dapinglin + +they are the same as the decimal values in the OnMouseOver in the map +at http://english.trtc.com.tw/ct.asp?xItem=1056373&CtNode=27496&mp=122032 -- cgit v1.2.3