179 lines
10 KiB
Plaintext
179 lines
10 KiB
Plaintext
|
Magnetic Stripes
|
|||
|
|
|||
|
Translated from Hack-Tik, #8, #9/10, available at PO Bos 22953,1100
|
|||
|
DL Amsterdam, The Netherlands
|
|||
|
|
|||
|
Translation by Dr. Abuse
|
|||
|
|
|||
|
Text/Schematics _copied_ from 2600 Magazine, Summer 1991 by:
|
|||
|
|
|||
|
|
|||
|
* ..oooOO Count Zero OOooo.. *
|
|||
|
* *
|
|||
|
* -=Restricted -=Data -=Transmissions *
|
|||
|
* *
|
|||
|
* "Truth is cheap, but Information COSTS!" *
|
|||
|
|
|||
|
(Read _my_ article on Magstripe Technology in Phrack #37 if you want
|
|||
|
_detailed_ descriptions of encoding tech, specification, etc. -c0 )
|
|||
|
|
|||
|
People KEEP ASKING me about this article that appeared in 2600,
|
|||
|
and many people wanted the schematics. I figured I might as well
|
|||
|
type it up in order to help spread the info around as efficiently as
|
|||
|
possible. I hand-drew the schematics in 320x200 .GIF format.
|
|||
|
Enjoy, and remember to always SHARE the knowledge...
|
|||
|
|
|||
|
(The following is a VERBATIM copy of Dr. Abuse's translation.
|
|||
|
Thanks Doc!)
|
|||
|
|
|||
|
"Cash is out. Plastic is in. In the nineties, the question is:
|
|||
|
who has the best hand of cards? We will help you play the big
|
|||
|
magnetic card game.
|
|||
|
Everybody has looked at those credit cards and wondered what
|
|||
|
exactly was on them. Whoever dared to even ask about magnetic
|
|||
|
readers/writers was shocked after hearing the price and they went
|
|||
|
back to their daily living. And this while you would be very
|
|||
|
anxious to know what the bits and bytes mean.
|
|||
|
We now give you the opportunity to build your own credit card
|
|||
|
reader/writer. For the cost of playing around with electronics plus
|
|||
|
a few dollars, you can build your own magnetic card copier. This
|
|||
|
device reads from one magnetic card and puts the data out onto the
|
|||
|
other card. For the advanced electronic hobbyist, there is the
|
|||
|
magnetic card reader and writer. Everybody who knows ehat a TTL is
|
|||
|
and can squeeze something out of his computer and/or hold a
|
|||
|
soldering iron will be able to make this credit card reader/writer
|
|||
|
together with the schematics.
|
|||
|
Far more interesting than all of the electronic mumbo-jumbo is to
|
|||
|
first see what's really on the magnetic stripe. For that we give
|
|||
|
you the first bit of information in this article.
|
|||
|
The information on most credit cards is stored in binary form.
|
|||
|
These ones and zeros are stored by changing the magnetic field of
|
|||
|
the magnetic head by 180 degrees. To see what's really on the card,
|
|||
|
you put some iron filings on the magnetic strip and tap the card
|
|||
|
gently onto the edge of the table (keep paper underneath it because
|
|||
|
it probably would have cost you lots of effort to make the iron
|
|||
|
filings) and behold! Here's your magnetic information, plainly
|
|||
|
cidible to the eye. Some cards have such big bits that you
|
|||
|
theoretically should be able to change the information on it with a
|
|||
|
magnetized razor blade (Paris Metro cards are a good example). On
|
|||
|
other cards, the bits are so close to each other that you will only
|
|||
|
see a magnetized solid bar.
|
|||
|
To store away the information on magnetic cards, some
|
|||
|
international standars were developed by ISO - the International
|
|||
|
Standards Organization. To name one: the magnetic stripe is divided
|
|||
|
up into three tracks. A lot of manufatcurers use other coding
|
|||
|
methods to write the cards with and only the iron filing method will
|
|||
|
give you insight as to what's on the card in these instances.
|
|||
|
The first project as amntioned before is to copy the information
|
|||
|
from magnetic card to another. This means that it doesn't matter
|
|||
|
whether the information is encoded or not since you are just
|
|||
|
copying. The only thing you need to know is the exact location and
|
|||
|
height of the track with the information that you want to copy. As
|
|||
|
long as the write head of your copier is bigger than the mangnetic
|
|||
|
strip, you are safe. See the schematic on this page. (Schematic #1)
|
|||
|
|
|||
|
The Credit Card Copier
|
|||
|
|
|||
|
At the left of schematic #1 you will see the read head. For this
|
|||
|
(as well as the write head) you cannot use any cassette player head
|
|||
|
which happens to be lying around. You will need to use a data head
|
|||
|
or a card reader head (you can obtain them from Michigan Magnetics
|
|||
|
among others). If the head is bigger than the track you are reading
|
|||
|
from, you will pick up extra noise but if the head is too small, the
|
|||
|
signal might become too weak. Experimenting with the gain is
|
|||
|
essential. The write head should be as big as possible unless you
|
|||
|
want to write more than two narrow tracks next to each other.
|
|||
|
Between points A and B you can jput a pair of headphones (which you
|
|||
|
have put in series). If you pass the read head along the stripe,
|
|||
|
you will hear a sound that might be familiar to you hobbyists who
|
|||
|
used to once work with data cassettes. Now you will need to find a
|
|||
|
way to make the read and write head go simultaneously along both
|
|||
|
cards. The trick for this is to take a piece of wood and mount both
|
|||
|
heads on both ends of it. Attach the cards (with scotch tape) to a
|
|||
|
solid surface and gently slide the heads along both cards (making
|
|||
|
sure that the heads go in parallel with the magnetic stripe).
|
|||
|
There are, however, cards on which the infomation is not put on
|
|||
|
the stripe at a nintey degree angle. If you see something like that
|
|||
|
(using the iron filing method) you will have to adjust the position
|
|||
|
on which the heads are mounted. A little trick to adjust the heads
|
|||
|
is to replace the 220 ohms resister in front of the headphones by a
|
|||
|
100 nF capacitor and then listening until you find the angle that
|
|||
|
gives you the highest pitch sound.
|
|||
|
You can only write to a card which you have erase previously by,
|
|||
|
for instance, a demagnetizer. To doublecheck if your copy is good,
|
|||
|
you can listen to it by passing the read head over it and checking
|
|||
|
to see if the sound of the original and the copy are the same. We
|
|||
|
found ou that the human ear is a very accurate meter to indicate the
|
|||
|
accuracy of the copy. One last word about the dual opamp - pins 4
|
|||
|
and 8 of that chip are used to supply positive and negative voltage
|
|||
|
(see schematic #3).
|
|||
|
|
|||
|
The Reader/Writer
|
|||
|
|
|||
|
This schematic reads and writes to the same head. If you want to
|
|||
|
write something with this schematic, you will have to come up with a
|
|||
|
device which has a very accurate constant speed, like a modified
|
|||
|
printer. The most suitable device, though, would be a real
|
|||
|
reader/writer mechanism.
|
|||
|
Most opamps want to have a positive as well as a negative
|
|||
|
voltage. But by means of an active voltage divider (see schematics)
|
|||
|
we can supply the whole card reader from one 12 volt power supply.
|
|||
|
The active voltage dicider is used twice in the reader/writer.
|
|||
|
First of all to divide the 12 volt down to 6 volts (in order to do
|
|||
|
this you put a 5.8 kohm resistor where the asterisks are in the
|
|||
|
schematic). The second voltage divider you make by putting a 3.3
|
|||
|
kohm at that spot. This is done to divide the 5 volts out of your
|
|||
|
computer into 2.5 volts. The best thing to do is to plave a relay
|
|||
|
on the write line going to the head. This is so as not to introduce
|
|||
|
noise while reading form the card.
|
|||
|
Now all you need is an interface that can control the motor fo
|
|||
|
your read/write unit and which can exchange the bits with the
|
|||
|
circuitry described above. What you can do then is make binary
|
|||
|
copies of your card. The credit card reader/writer can only be used
|
|||
|
on cards which store their information in binary form, so go and
|
|||
|
check first with iron filings.
|
|||
|
In this section, we will describe several data formats which are
|
|||
|
used in credit cards. We will only describe the three tracks as
|
|||
|
they were described by ISO. On the third track a large quantity of
|
|||
|
formats are used. Only two of them are published here. The real
|
|||
|
formats as they are used by banks tend to differ from the original
|
|||
|
ISO standards but a little bit of research can do miracles on these
|
|||
|
occasions. You might wonder how the bits as described later are
|
|||
|
encoded onto the card because the schematic as we described above is
|
|||
|
only capable of putting 180 degree magnetic field changes onto the
|
|||
|
card. To explain that we use track 2 because the bits are
|
|||
|
physically the largest and this ought to work with homemade
|
|||
|
electronics.
|
|||
|
|
|||
|
Track 2
|
|||
|
|
|||
|
The bits are encoded as follows: they are separated by reversing
|
|||
|
the magnetic field. These reversals make the output of your reader
|
|||
|
go from one to zero or vice versa. Beware: the fact of whether or
|
|||
|
not it's a one or zero is not important, but the change in polarity
|
|||
|
is important. And now, to make it even more complicated, not only
|
|||
|
is there a magnetic reversal between tow bits but also in the middle
|
|||
|
of a binary one is a reversal. So if you have a constant moving
|
|||
|
head over your card, software should be able to determine whether
|
|||
|
they are reading a zero or a one. In fact, nobody is capable of
|
|||
|
speeding up the speed of his reading head twice within the time
|
|||
|
period of one bit. THerefore, even a constant speed is not
|
|||
|
required. SO you will get away with cheap, lousy equipment.
|
|||
|
Now you have a whole lot of ones and zeroes inside your computer
|
|||
|
and you still don't know anything. The important thing here is to
|
|||
|
know the bit stream starts at the left side of the card so the strip
|
|||
|
is being read from right ot left and after a couple of zeroes the
|
|||
|
data will start in the following format: P1248P1248 etc.
|
|||
|
The P stands for parity bit and the 1,2,4,8 stand for the
|
|||
|
decimal values that they represent (0001 0010 0100 1000). If you
|
|||
|
decode this, there is your data, which is similar to Track 2
|
|||
|
specifications (ABA). How the LRC character work (a checksum) we
|
|||
|
don't know yet. BUt our mailbox is open to any suggestions."
|
|||
|
|
|||
|
|
|||
|
---Well, there is it. Pretty damn good. If you want greater
|
|||
|
detail, be sure to check out my article in Phrack #37. Happy
|
|||
|
hunting!
|
|||
|
|
|||
|
..oooOO Count Zero OOooo.. *cDc* -=RDT
|
|||
|
|