전국호환 교통카드를 분석하다가 찾아냈다.
먼저 티머니의 AID인 D4100000030001로 SELECT FILE 명령을 실행 후, 잔액 조회 명령인 90 4C 00 00 04를 보내면 된다. 정리하자면 보내야 할 APDU들은 다음과 같다:
CLA INS P1 P2 Lc Data Le ========================================== 00 A4 04 00 07 D4 10 00 00 03 00 01 00 90 4C 00 00 04
NFC 리더기가 있고 opensc-tool 명령을 사용할 수 있다면 간단히 조회할 수 있다:
$ opensc-tool -s 00A4040007D410000003000100 -s 904C000004 Using reader with a card: ACS ACR1252 Dual Reader [ACR1252 Dual Reader PICC] 00 00 Sending: 00 A4 04 00 07 D4 10 00 00 03 00 01 00 Received (SW1=0x90, SW2=0x00): ... Sending: 90 4C 00 00 04 Received (SW1=0x90, SW2=0x00): 00 00 00 C8 ....
SELECT FILE 명령 결과는 카드번호 등이 포함되어 있기 때문에 생략하였다. 잔액 조회 결과는 4바이트 빅엔디안 정수로 돌아온다. 내 카드 잔액은 200원이다.