Сентябрь 06 2010 05:59:18
Просмотр темы
 Распечатать тему
Магнитные карты
falcon
В рамках плана по наёбу скд, делаю обзор магнитных карт.
Тема заезженая что пиздец, однако кому-то может быть неясно что это и как.

Карту с магнитной полоской видели все. Собственно магнитная полоса состоим из трех дорожек, разделенных промежутками. Все размеры стандартизированы, что хорошо.
Принцип записи на всех трех дорожках один и тот же, но отличается по скорости записи и следовательно по плотности бит, и по споосбу кодирования (т.е как преобразовывать нули и единицы в буквы\цифры). На средней дорожке (которая в основном и используется, именно на ней записан номер кредитки) - 75бит\дюйм, на боковых - 210.
Собственно дорожка шириной 2.79мм, промежутки - примерно так же.

Обычно дорожки читаются специальными магнитными головками, часто они бывают на несколько дорожек сразу (напр на все три). Но в принципе для чтения карты вполне сойдет головка от мафона Grin если провести по ней картой, то на выходе будет похожий на синус сигнал, амплитудой примерно 10-50мв.

steelrats.net/files/falcon/img/sig_head.png

На картинке усиленный сигнал с головки, тк сигнал с головки двухполярный, а усилок с однополярным питанием, нижняя часть сигнала обрезалась, ну да она в принципе и не нужна GrinGrin

Чтобы было легче обрабатывать сигнал, пропускаем его через компаратор и получаем прямоугольный сигнал той же частоты.

Тут надо сказать, как конкретно записывается информация на карту, чтобы знать что делать с сигналом.
Вся дорожка разбита на равные участки, на которых меняется направление намагниченности:

steelrats.net/files/falcon/img/track.png

Если в пределах участка намагниченность не изменялась, то это 0, если изменилась - то этот участок читается как 1.
Соответственно, при чтении 1, пройдет импульс с удвоенной частотой (2*F), что и видно на осциллограмме и на примере сигнала после компаратора,поэтому метод кодирования носит название F\2F.

steelrats.net/files/falcon/img/sig_head_comp.png

Вот тот сигнал с головки, пропущенный через компаратор. Хорошо видны стартовые нули (14 шт), затем последовательность 1 1 0 1 0, которая означает начало данных. затем идет 0 0 1 0 0, 0 0 0 0 1 - это цифры 4 и 0, т.е первые цифры номера кредитки, с которой был взят сигнал.

Кстати на карте есть несколько ступеней контроля правильности считывания - т.е разные дополнительные контрольные биты. Например каждый пятый бит в приведенных выше последовательностях - контроль четности.

На этом все, что делать дальше со считанным дампом думаю понятно )) либо его записать на чистый картон, либо воспользоваться эмулятором от Марты Grin
Изменил(а) falcon, 11-04-2010 07:21
- А как я узнаю, шо можна ломати?
- Пизданеш і узнаєшь.
 
Перейти на форум:

2,514,285 юзеров было тут

Powered by PHP-Fusion copyright © 2002 - 2010 by Nick Jones.
Released as free software without warranties under GNU Affero GPL v3.