Manpages - pcsc-spy.1

Table of Contents



NAME

pcsc-spy - A PC/SC spy command

SYNOPSIS

pcsc-spy [*-n*|*–nocolor*] [*-d*|*–diffable*] [*-h*|*–help*] [*-v*|*–version*] [*-t*|*–thread*] [/fifo_filename/]

DESCRIPTION

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
(no term)
- the application loads the libpcsclite.so.1 library using dlopen (3) ::

OPTIONS

-d, –diffable
Remove 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.
-t, –thread
Add a thread number before each line of log to identify the calls from the same threads.

EXAMPLES

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/x86_64-linux-gnu/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.

FILES

~/pcsc-spy FIFO file is used by libpcsclite.so.1 to send the raw log lines

SEE ALSO

pcscd (8)

AUTHOR

This manual page was written by Ludovic Rousseau <rousseau@free.fr>

Information about pcsc-spy.1 is found in manpage for: LD_PRELOAD=/usr/lib/x86_64­linux­gnu/libpcscspy.so pcsc_scan

Author: dt

Created: 2022-02-22 Tue 16:47