[亂來] 智慧晶片讀卡機 EZ100PU
2009 年 二月 13 日 星期五 13 則迴響
揭露:這篇我真的沒有拿錢打廣告。
警告:本文是標準的外行看熱鬧,您在本文無法取得任何關於智慧型晶片卡 (Smart Card) 或與PC/SC 規範相關的技術知識。
為了使用某些網站上的 IC 晶片服務 (e.g. iCash 餘額查詢、郵局網路 ATM、內政部自然人憑證,以及其他),我決定去買一台簡單的智慧卡讀卡機。
當然,「Windows Only」這件事已經沒甚麼好驚訝了,這年頭政府的網站都嘛 Windows IE Only,沒甚麼好稀奇;早就寄生了一個 Windows XP 在 OS X 裡面了 (ㄎㄎ)
我買的是這一台:EZ100PU。就我所知台灣師範大學也是用這台(為甚麼我知道?因為我看過啊 = = )。
插上去然後安裝 Windows 的驅動程式就行了。如果你發現不能使用,說什麼「服務未啟動」或「找不到讀卡機」之類的,試試到「控制台」→「系統管理工具」→「服務」,找一個 Smart Card 的服務,把它設定為「自動」,並按一下「啟動」。
包裝裡除了本來就該有的讀卡機之外,還有 SIM 卡的轉卡(讓你可以插 SIM 卡上去),雖然有轉卡,但你會發現內附光碟的安裝程式提示你「只有 EZ100 Mini 才能使用 SIM 讀寫程式」…。沒關係,其實官網已經有新版可以抓了,來這裡下載「電話簿編輯程式」…。
—
官網提供的工具下載其實蠻多元的 (沒有照順序):
- 電話簿編輯程式 (2008102717204657952.exe)
- 就是 SIM 卡編輯程式,可以讓你編輯 SIM 卡的 PIN1 、通訊錄和簡訊(兩者包括匯入匯出) 。不過別忘了「只有儲存在 SIM 裡面的資料才能讀取」 - 電子錢包讀取程式 (2008102717204630195.exe)
- 這個就很厲害,等等說明 - 健保卡讀卡程式 (2008102717204628957.exe)
- 這個實際上不能用,不用理它。其實讀健保卡可以用 2. 那支程式 - 安裝檢測程式 (2008102717204653343.exe)
- 隨附光碟裡面就有了 - IC 卡工具程式 (2008102717204670555.exe)
- 這個是工程師在用的,一般來說不會用到。
以上全都是 WinRAR 自解壓縮檔,當然你也可以用 WinRAR 解壓縮。除了 IC 卡工具程式是安裝程式之外,其他全都是可以獨立執行的。
—
來介紹一下電子錢包讀取程式…這個很厲害
解壓縮開來是一個名叫「ICC Utility v1.2」的資料夾,執行裡面的「IC_Card_Utility.exe」就行了。
它的功能如下↓
- iCash / iCash 波™ Wave 餘額查詢 (這個到 iCash 官網可以查到很多資訊)
- 健保卡查詢,包括就醫剩餘次數(我不知道是甚麼意思)
- 電子收費 ETC,這個我(當然)沒有卡,所以沒得試
- 中油便捷卡(同上)
- MasterCard Cash → 這個我有
為甚麼說我有 MasterCard Cash 呢?當然我年紀這麼小(未滿 20)是不可能去申請那個甚麼神奇的卡,我擁有的是這個↓
這叫 TaiwanMoney 卡。反正是在南部國七縣市通行的 RFID 非接觸式交通票證,在高雄捷運一卡通上市之前,這玩意兒可是稱霸南台灣的,我到現在還是拿它搭台南市公車,因為有優惠 + 不想拿零錢(2 小時內轉乘半價,可累計,甚至台南刷完兩小時內到高雄刷公車也有半價…),不過拿來搭高捷可是相當崩潰,除了感應慢之外,還得要走一個奇怪的公務門,而且優惠條件還跟一卡通不一樣……。這張卡的細節可以去官網看。
反正這張卡說穿了也是 MasterCard Cash-compatible 的(它右下角不就寫了),所以直接插進去,然後按一下程式的「MCASH卡」標籤,再按「讀取」,欸還真的可以耶!
所以你不用再跑去玉山銀行 或國泰世華銀行 或高雄客運 或興南客運查詢餘額了…。
我比較好奇的是,為甚麼 MasterCard Cash 的網站上沒有查詢的功能…
update: 玉山銀行可以查詢,剛剛在 PTT 捷運板某人分享的。可是…你不覺得查詢出來的記錄很奇怪嗎?(裡面那個 iFrame 是 SSL 安全加密連線的)
除此之外,還有更神奇的。為什麼健保 IC 卡要查詢個人資料和就醫記錄(健保局網站),竟然要用自然人憑證勒!?我還沒有自然人憑證,所以就沒試了。
—
郵局的網路 ATM 你有晶片金融卡的話可以直接用,可以查詢存簿餘額、未補摺細目、未補摺次數(原來未補摺細目超過某種數量,就會把你的金融卡停掉)和轉帳;當然不能提款……。至於跨行轉帳的手續費多少,其實我還沒查明,不過應該會比實體 ATM 機器還要低…?
神奇的是,郵局的網路 ATM 輸入密碼的地方,除了要用滑鼠點之外,它的按鍵位置竟然還會洗牌 XD 我是不知道這樣比較安全的意思是在哪裡啦?
—
最強的是
這隻讀卡機
竟然有 Mac 版驅動程式!
竟然有 Mac 版驅動程式!!
竟然有 Mac 版驅動程式!!!
我真的不是在唬人,官方網站就有得抓了,抓下來之後是一個 gz 檔,你的 Safari 應該會自動解壓縮,然後出現一個名叫「2008122218204253343」的二進位檔,這時候請把它改名為「xxx.tar」,再按兩下(或 tar xf xxx.tar )把它解開來…你就得到它了
按兩下「ezusb_setup」就可以安裝了,這是一個 Mac OS X 10.4 的 pkg ,不過 10.5 也可以用。
接著要怎麼使用呢?
其實也沒甚麼好玩的…事實上它只提供了一個測試程式,使用方法是直接在終端機裡執行它,但在這之前要先以 root 權限啟動 pcscd 這支程式:
sudo pcscd
接著讀卡機應該會閃紅燈。
使用測試程式的方法很簡單,在你解壓縮的路徑底下執行:
./mifdtest/mifdtest
會出現以下畫面:
然後會進行一系列測試(其實也三個),例如插拔偵測測試,照著它的指示,插拔卡片。如果執行測試程式前就已經先插上卡,那不會顯示「<< Please insert card」那一行:
接著是連線測試和… Transmit 測試?
以上測試是插 iCash 的。我插 TaiwanMoney 就不會進入第三步。
要關掉 daemon 的話就是
sudo killall pcscd
除了 mifdtest 之外,安裝到系統的還有 pcsctest 和 pcsctool,以及剛剛講過的 pcscd 這隻 daemon。實際執行之後老實說我不知道 pcsctest 和 pcsctool 是在幹嘛的,我對 Smart Card 其實也不懂。
我想這個 Mac OS X 驅動程式,只是工程師拿來測試的… XD
官網也有提供 Linux 版的驅動 (2008 年 11 月 26 日),而且下載回來竟然有 mifdtest 的原始碼 (C 語言) ……不知道有沒有勇者要玩玩看?
—
最後來講一個有趣的東西
官方網站上提供了SDK 下載 (Software Development Kit,簡單來說就是可以給你寫程式控制這台讀卡機的東西),下載回來裡面除了有 Windows 的 API (VC++、Borland C++,包括一個已編譯好的 DLL),還有 Linux 的 API (也有一個已編譯好的 .so 檔),兩者皆包含範例程式以及函式庫標頭檔 (include/*.h),以及兩本厚厚的 API Document (PDF)。
上網查了一下,我現在知道這種晶片卡的規格叫作「PC/SC」,它在 Windows 2000 以後已經成為系統內建服務,而 Open-source 的 implementation 叫作 PC/SC Lite,根據維基百科的說法,支援 Linux 及 Mac OS X。
這隻 EZ100PU 官網上發佈的 SDK 裡,Linux 版本也是以 PC/SC Lite 寫出來的,Mac OS X 的驅動程式,根據 pcsctest 這支程式的描述(寫道 『MUSCLE PC/SC Lite Test Program』),也是 PC/SC Lite 的成品。
所以說到底,根本沒有什麼「只有 Windows 可以用智慧晶片卡」的理論,而是「寫應用程式的只會寫 Windows 的版本」
換句話說,這是政府單位、銀行機關聘用的程式設計師功力不足的問題。
試想,API 都擺在那裡給你用了,為甚麼沒有任何一個單位肯撥出人力來寫 Linux 、 Mac OS X 版本的應用程式呢?
通常你打客服去幹譙,得到的答案都是「我們以多數人為主」、「Mac 和 Linux 我們不支援,請使用 Windows 與 IE」 blahblah。
我對 Linux / OS X 硬體層的程式設計不懂,但我不認為,當有人餵給你 API 的時候,擁有足夠能力的人會寫不出來。
所以更深一層說,這是主管單位的心態問題:不想多花人力($)在其他作業系統上,所以乾脆裝作沒看到,省時省力又可以打太極。
—
當然這年頭在台灣,你在非 Windows 的環境就只能認命一點,有些東西(包括政府或學校提供的服務)並不是如你想像的那麼美好,即使你根本就知道它可以很美好(例如一個 IE-only 的校務網頁,或是一個 Windows-only 的選課系統…)
—
話說回來,我其實很期待這家廠商會搞出一個 Mac OS X 的解決方案… 不管是提供一個 API 讓程式設計師可以寫出 Linux / OS X 版本的應用程式(Java 是一個可能性?),或是針對自家產品做更進一步的演化(把你們家的 ICC Utility 搬到 OS X 如何?)。我想既然他們做了 Linux 和 OS X 的驅動程式,就表示它們至少有在實驗這些東西。
不過,又不是只有他們提供 Linux / OS X 的驅動程式啊… (一時不知道還有哪些廠商)
update 2009/12/25: 沒想到玉山銀行竟然開發了 Mac OS X 專用的 WebATM Plug-in !非常 GOOD JOB!!!!!











其實看狀況,至少就這裡而言,如果已經用 C 寫出來 Windows 程式,那麼 Linux 或 Mac OS X 程式完全可以 port 過去,可能甚至不用什麼複雜的改寫,只是想不想研究的問題。更進一步,不只一家公司有提供直接就地把 Windows 程式移植的服務,當然是要一點服務費…所以與其說是能力不足,不如說他們根本懶得鳥這雞蛋都比你們大的社群,大不了老子不賺你們,用不了就拉倒。
當然我在這邊嘴砲是很簡單啦…要說能力我也是沒有啊XD
這個…
就交給專業的五樓吧 (嘴炮 +1
關於郵局網路ATM登入輸入密碼的方式
基本上可防 keylogger 或會紀錄滑鼠 click position 的 malware
有興趣可以看一下 ant 大的 blog,第三份 slide 裡有稍微介紹相關的資訊 (http://antbsd.twbbs.org/~ant/wordpress/?p=1432)
@money
感謝大大 (worship)
『神奇的是,郵局的網路 ATM 輸入密碼的地方,除了要用滑鼠點之外,它的按鍵位置竟然還會洗牌 XD 我是不知道這樣比較安全的意思是在哪裡啦?』
我猜是有些病毒會讀滑鼠座標等資訊,要是每次都按同一種順序,那密碼應該會很容易被偷走吧~~~
應該是吧~ 謝謝 ^^
今天也去買了讀卡機^^』,大大請問一下,用玉山的網站查TM卡交易資料奇怪在什麼地方呀?我看不出來@@謝謝
連結在這裡喔XD
http://www.esunbank.com.tw/credit/MCC_index.aspx
ㄜ…我知道那個網站啦XD
不過大大你文中提到:可是…你不覺得查詢出來的記錄很奇怪嗎?(裡面那個 iFrame 是 SSL 安全加密連線的)
這段我看不懂@@
謝謝
你去比對一下那個餘額數字就知道了 XD
囧…真的耶…感覺像是程式有錯誤,前後弄錯了,但最新的那筆又怪怪的,赫然發現我的紀錄也是這樣XD 大概只有餘額是正確的…TM要加油了,唯一最強勢的服務(可用讀卡機)竟然如此的詭異XD
大大,TM卡計算錯誤的問題我已經反應給Mondex了,我發現出問題的地方只有在「票證交易」裡的「交易後餘額」,這裡的數目會發生誤加的問題,其他的地方都OK^^ 或許過些日子就可以有正確無誤的資料了^^ 大大你買的讀卡機是幸運草對吧?!我也剛買一台說XD
對了大大,我發現你製作的一個網頁好厲害唷
http://fare.yorkxin.org/about
請問製作這個會很困難嗎?謝謝
Pingback: 如何移轉 SIM 卡的資料 (通訊錄、簡訊) « YORKXIN×YORKXIN