PSSI: SIM card phone book listing (part 2)

Just a week after my post about a missing SIM card explorer in free software I discover in a the French MISC magazine article "Python Simple Smartcard Interpreter" that such a project exists.


PSSI: Python Simple Smartcard Interpreter


The project is hosted at http://code.google.com/p/pssi/ and uses GNU GPLv3 licence.
" Python script that provides an abstract layer for smartcard reading. Thanks to it, it is possible to read a smartcard by simply adding its structure in the form of a plugin, without taking care of the communication layer. The tool comes with several plugins, namely SIM, EMV, and NAVIGO. "
The project is quiet new. The project was created 30 July 2010 on code.google.com and the first commit occured on 19 Sept 2010. No stable/numbered release is available.

Plugins


The software is not just for SIM cards but is generic and uses plugins.

SIM

This plugin displays a lot of information about the SIM:
  • Telecom provider
  • Phone book
  • SMS

EMV

This plugin also displays a lot of information about the bank card:

Applications on the card



ATR : 3B 65 00 00 66 04 6C 90 00
Content
Applications List
==== 1 ====
==== 1 ====
Application information
EMV Application information
Application ID : a0 00 00 00 42 10 10
Application name : CB
Application priority : 1
==== 2 ====
Application information
EMV Application information
Application ID : a0 00 00 00 03 10 10
Application name : VISA
Application priority : 2

Card holder name


Application information
Track 2 data : 49 78 38 00 XX XX XX XX YY YY YY YY
Cardholder : MR ROUSSEAU LUDOVIC
Track 1 discretionary data : 329627000000000673000000

Card validity dates and card number


Application information
Validity beginning : 01 / 09 / 08
Validity end : 30 / 09 / 10
Card number : 49 78 38 00 XX XX XX XX
PAN sequence number : 4

The card number has been obscured by me. Even if the card expired a few months ago I think it is safer like this :-)

Transactions


==== 1 ====
==== 2 ====
Amount : 126.63 ()
CID : 64 (Cryptogram Information Data)
Country : FRANCE (Country where the terminal is located)
Currency : Euro ()
Date : 18 / 09 / 10 ()
Type : Payment ()
==== 3 ====
Amount : 36.80 ()
CID : 64 (Cryptogram Information Data)
Country : FRANCE (Country where the terminal is located)
Currency : Euro ()
Date : 31 / 08 / 10 ()
Type : Payment ()
==== 4 ====
Amount : 202.60 ()
CID : 64 (Cryptogram Information Data)
Country : FRANCE (Country where the terminal is located)
Currency : Euro ()
Date : 25 / 08 / 10 ()
Type : Payment ()


NAVIGO

Navigo is the smart card used by the RATP in Paris public transport system. I do not have such a card so could not use this plugin.

ccid-utils

Another project to dump an EMV card is ccid-utils but this project did not work with my French bank card so I thought my card was not EMV compliant. But I was wrong since PSSI works great with this card.

Another problem with ccid-utils is that even if the program uses Python the core of the project uses C and directly talks to a CCID reader instead of using the PC/SC API through Pyscard. ccid-utils is also very limited regarding the CCID readers it supports.

Conclusion

PSSI is much more than a SIM card explorer. It also works for EMV and Navigo cards. The display of information is nice. The code is Python only so I had no problem using it on Mac OS X. I think I will continue playing with the software and maybe implement other features.


Flattr this
Previous
Next Post »