作者toodoo (土豆)
看板MRT
標題Re: [閒聊] 淡海輕軌售票加值機
時間Wed Feb 13 13:21:27 2019
※ 引述《hicker (重度懶人癌發作)》之銘言:
: 剛好今天去搭 順便試用售票機
[恕刪]
: 單程票出票
: https://i.imgur.com/NeHSzIS.jpg
: https://i.imgur.com/EdxV6lA.jpg
: 上面的QRcode 用手機掃一下是出現亂碼
其實上面的QRCode不是亂碼, 是一個字串, 只是不知道他的意義, 掃出來的字串如下:
F0,65,05,89130000,10,20020000,65,6F,1400,0750625C,276C625C,5E8DD37D,FE
售票機號 售票序號 票價 購票時間 有效期限 可能是驗證碼
上面各欄的意義是我推測和猜的, 有幾個欄位結尾有很多0, 推測可能是小端序[註]排列,
89130000 的16進位值是 1389 轉換成10進位是 5001
20020000 的16進位值是 0220 轉換成10進位是 544 (跟車票底下VAVM-5001-544一致)
1400 的16進位值是 0014 轉換成10進位是 20 (剛好等於票價)
0750625C 的16進位值是 5C625007 轉換成10進位是 1549946887
這個是Unix時間戳記[註2], 換算出來的時間是 Tue Feb 12 12:48:07 CST 2019
276C625C 的16進位值是 5C626C27 轉換成10進位是 1549954087
同樣是Unix時間戳記, 換算出來的時間是 Tue Feb 12 14:48:07 CST 2019
至於其他欄位, 可能要多一點其他車票的QRCode來交叉比對才能推測出來.
註: 關於小端序有興趣的人可以看維基的說明
https://zh.wikipedia.org/wiki/小端序
註2: Unix時間戳記維基的說明
https://zh.wikipedia.org/wiki/UNIX時間
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 1.161.148.178
※ 文章網址: https://www.ptt.cc/bbs/MRT/M.1550035289.A.97F.html
推 hinajian: 你是柯南嗎 02/13 13:41
→ hicker: XDDDD 02/13 13:52
推 ctx705f: 我到底看了甚麼 02/13 13:55
推 gigihh: 所以那是給查票員用的嗎? 02/13 14:24
→ hinajian: 通常是給機器讀的吧 02/13 14:24
推 hoyunxian: 就是給機器判讀,用適合的軟體可以判斷有效與否 02/13 14:28
推 gigihh: 既然是要給機器判讀有效與否,那當然只有查票時會需要 02/13 14:37
→ hicker: 其實 解碼也是種樂趣 個人可以理解 XDDD 02/13 14:40
→ hicker: 這應該還沒有把密碼學給用上去.... 02/13 14:41
推 physbook: 這只是在解編碼而已唷,有趣! 02/13 15:10
推 james732: 推 02/13 16:10
→ toodoo: 我不是柯南啦~只是對"逆向工程"有興趣, 還有以前用PCTOOLS 02/13 18:25
→ toodoo: 改遊戲存檔時對16進位數字的直覺啦~ 02/13 18:26
推 jh961202: 所以可得這系統可能是用Linux做的(誤 02/14 00:48
→ jh961202: 竟然在這邊看到以前學的Endianness,頗有學以致用的感覺 02/14 00:50