I had never imagined a nerdy program like SCAM would be so popular, just as I had never expected that our homepage on smart cards would be so frequently visited. Only two weeks after I put SCAM 3.0 beta online, SCAM was downloaded approximately 400 times already. If I could get a dollar for every download, it would take 34483 days, that is 97 years before I had a million bucks. 97 years?! Hmm I guess one dollar is not enough :-) . Apart from the fact that by that time I will probably be dead, I guess smart cards are old-fashioned, too (but I don't care since then I'm dead already). Ohh, if you really want to send me that dollar, send me a little mail and we can discuss the best way to do that.
If all these people really want to make the world a better place, I think I should get them started. That's what this manual is for, it tells you everything you have to know about SCAM. Some of the chapters require knowledge of programming in Perl or C++, others are very simple. This manual will not explain you how smart cards work. If you are interested you should read some of the introductions on smart cards or the "Smart Card Handbook" by Rankl and Effing (ISBN 0471967203).
Because we want people to play with smart cards themselves instead of only using what the big companies think is best for you, we have developed the Dumb Mouse smart card reader and SCAM.
SCAM was designed to be reader independent. It does not matter what smart card reader you have because with a little programming SCAM will support your reader. It is only a matter of time before most readers will be supported.
I started programming SCAM somewhere in the spring of 1997. Before that I had already made some very basic and user unfriendly programs for the Dumb Mouse. Version 2.0 beta was presented on HIP '97, a three day hacker festival in the middle of nowhere.
After a short vacation I worked on it in my spare time, and after six months of really hard thinking and programming, the basis for SCAM 3 was there. All it needed was a user interface. That's when I finished the interpreter, and voilá, SCAM 3 was ready to go online. It does not do much at the time, but I will leave that to the users, because I feel I have done enough for now (that's the whole purpose of putting your source code on the net, to let other people improve it ;-) ).
I could take about the ins and outs of SCAM for hours, but I am sure that does not interest you right now, so let's get on with how to read this manual. Besides, if you are really into the ins and outs of SCAM and you have a question, you should: 1. Read the source code, 2. Write your own version, 3. Mail the author (see chapter three of the UNIX Hater's Handbook why you should not).
If you have succesfully installed SCAM you can start with the tutorial to get familiar with the program. If you want to do some more advanced things you can play with the command-line options or look at the available commands.
If you are tired of typing every command by hand and you know how to program in Perl, you can make little programs that use the front-end. If you are a bit more ambitious you can make complete libraries for a certain smart card system, such as a GSM library.
And if you are disappointed because your favourite reader is not supported, you can always program your own reader. It would be nice if you could send the source code to me, so that it could be included in a later distribution.
The really ambitious or very grateful readers may attempt to fix some of the bugs that SCAM still has (these are caused by laziness instead of bad programming (this remark shows that I've got hubris as well and the fact that the manual is not totally complete means I am impatient, too (and allthough I do nest parenthesized sentences, that does not mean that I like LISP (which stands for: Lots of Irritating Silly Parentheses)))).
Finally, there is a little glossary that contains some important smart card related terms.