Stripe Snoop – Decoding the Magnet Strips (Source Code Included)

I wrote a program after all. After looking through a couple of cards, I realized that it might take forever to decode them by hand. I spent a few hours writing four programs in C++. I’ve only tried these in Windows, but I’m sure that they can also be compiled nicely in Linux.

I am going to try my best to explain this. You’ll need to download the zipped files here–>StripeSnoopDecoder.zip

I used Dev-C++ to compile mine. Either that for Windows (or any other compiler) or g++ (or the like) for Linux.

I keep my Omron reader head in the top position (track 3). Most cards that I have do not use track three, so I must use a shim to get to track one. The shim is about 0.265″.  To read track two I use a 0.135″ shim. Track three just slides through as normal. You also need to make sure that you slide your card through the reader in the correct direction. My program will not work backwards.

  • Step 1: Swipe the card using Stripe Snoop’s raw mode. Now look for the first ’1′. If the first 5 bits are ’11010′, use the 5-bit ascii file folder. (Most of my first tracks were five bits, but if you have ’1010001′ you’ll need to use the 7-bit ascii file folder.) Most of the cards that I have swiped used odd-parity ascii with either five or seven bits. Five bits are usually used for numbers only while seven bits contain messages. With a little practice you’ll be able to figure out which one it is, and you’ll also be able to use this to know if your data is legit.
    Stripe Snoop screen shot (simulated of course)  Continue reading

Stripe Snoop – Make Magazine Vol. 1 Pages 106 – 117

The Stripe Snoop project was the first electronics project that I attempted in 2008. This is the project that propelled me into wanting to do electronics for a living.

Since it has been over three years and closer to four, I am not showing the steps to make this. The second reason is that Make published a good tutorial by Billy Hoffman on how to construct this exciting project. This is another online tutorial using an octal buffer. What I will show is what mine looks like and a few things that I didn’t know “back then”.


The first item up for bid: I didn’t know what an octal buffer did. The octal buffer that the project called for was the 74LS541. The main objective of the buffer is to ensure that there is enough power to signal the parallel port of the computer, to keep anything crazy from going through to the parallel port, and to ensure that the card swiper is not heavily loaded.

I also didn’t know that it doesn’t matter which pins you use as long as your input and output are on the same “line”. Input to A1 is output on Y1 (A2 to Y2, and so on). I didn’t know that since I was new to the hobby. Order really didn’t matter. I know that now. Any hex or octal buffer would have worked as long as it was non-inverting.

Now, here’s the fun stuff. Last night (9-27-2011), I decided to go to my junk bin and pull out my card reader. It was dusty from being near my CNC router. Before that I kept chicks (peep peep) in there. I’ll never keep chickens in my hobby shed again! Continue reading