Provided by: libpcsclite-dev_1.8.10-1ubuntu1_amd64
pcsc-spy - A PC/SC spy command
pcsc-spy [-n|--nocolor] [-d|--diffable] [-h|--help] [fifo_filename]
pcsc-spy displays PC/SC calls of an application. It must be used with the libpcscspy.so library. To be able to spy the PC/SC layer, the application flow must be modified so that all PC/SC calls are redirected. Two options are available: - the application is linked with libpcsclite.so.1 - the application loads the libpcsclite.so.1 library using dlopen(3)
-d, --diffable Demove the variable parts (like handler values) from the output so that two execution can be more easily compared. -h, --help Display a short help text. -n, --nocolor Disable the output colorization (if you want redirect the output in a file for example). -v, --version Print the version of the pcsc-spy program plus a copyright, a list of authors.
Applications linked with libpcsclite.so.1 We will use the standard LD_PRELOAD loader option to load our spying library. Example: LD_PRELOAD=/usr/lib/libpcscspy.so pcsc_scan Application loading libpcsclite.so.1 This is the case for the PC/SC wrappers like pyscard (for Python) and pcsc-perl (for Perl). The LD_PRELOAD mechanism can't be used. Instead we replace the libpcsclite.so.1 library by the spying one. You may use install_spy.sh and uninstall_spy.sh to install and uninstall the spying library. Using the spying library without pcsc-spy is not a problem but has side effects: - a line "libpcsclite_nospy.so.1: cannot open shared object file: No such file or directory" will be displayed - some CPU time will be lost because of the PC/SC calls redirection Starting the spy tool pcsc-spy If a command argument is passed we use it instead of the default ~/pcsc-spy FIFO file. It is then possible to record an execution log and use pcsc-spy multiple times on the same log. To create the log file just do: mkfifo ~/pcsc-spy cat ~/pcsc-spy > logfile and run your PC/SC application. Mac OS X The installation is not automatic. In the pcsc-lite/src/spy directory do: make framework Then copy the PCSC.framework directory in /tmp cp -a PCSC.framework /tmp Copy the official PCSC.framework (binary only) in /tmp cp /System/Library/Frameworks/PCSC.framework/PCSC /tmp Run the application to debug as: DYLD_FRAMEWORK_PATH=/tmp pcsctest
~/pcsc-spy FIFO file is used by libpcsclite.so.1 to send the raw log lines
This manual page was written by Ludovic Rousseau <firstname.lastname@example.org>