Использование материалов сайта разрешается при условии ссылки (для сайтов - гиперссылки)
WARNING!
Практическое
применение некоторых
материалов, помещенных на этом сайте, может быть незаконным.
Вся информация подобного рода предназначена исключительно для
ознакомительных целей; авторы и распространители не несут ответственности
за ее противоправное применение.
Материалы
взяты из книг, журналов, других источников, куплены в e-магазинах, получены по обмену. Предоставляются "AS IS" ("КАК
ЕСТЬ"); проверить работоспособность каждого не представляется
возможным.
Сайт www.shram.com.ua работает, скорее, как платная поисковая
система по интересным материалам.
В
продаже не имеется материалов, содержащих предупреждения о запрете его
распространения (платного или бесплатного). Если Вы заметили нарушение
авторского права (продажу материала, на свободное распространение и
продажу которого его автор не давал разрешения) - сообщайте, материал будет снят.
Остерегайтесь подделок и сайтов клонов перепродающих информацию!
Подключение карт к компьютеру для считывания а также
записи в основном осуществляется чрез LPT порт.
Собираем схему читалки.
(для 8 контактных).
ИЛИ по таблице (для 6 контактных).
расположение
назначение
Куда
подключать
VCC
(питание)
RST
(сброс)
CLK
(тактовые импульсы)
GND
(земля)
не
используется
I/O
(ввод/вывод)
1.- +5V
2.- 2 pin LPT
3.- 3 pin LPT
4.- 25 pin LPT
6.- 11 pin LPT
Питание чрез импульсные диоды (анодами к порту) с 6-9
контакт LPT, похоже дозволено взять его с главного пина GamePortа (порт для
джойстика) либо с клавиатуры.
Итак в какое время всё подключено дозволено приступать к труду с
софтом. Ежели всё подключено правильно на экране появится примерно следующее:
Если и все данные в HEX кодах будут владеть значение
"FF" либо и в 16-тиричной системе счисления "11111111",
значит что то неправильно подключенно, или плохо контачит. На этом ситаю свою
задачу вполненной, занятие за вами дерзайте ! Эта прога никак не только бесхитростный Ридер она ещё умеет
снимать штуки с карты...
2. Физический стандарт ISO На рисунке
показана нумерация контактов чипа карточки
Тип ISO 7816-1
Vcc
+5V
R/W
Clock
Reset
Gnd
Vpp
+21V
I/O
Fuse
1-
VCC (питание)
2-
RST (сброс)
3-
CLK (тактовые импульсы)
4-
GND (земля)
5-
no use (не используется)
6-
I/O (ввод/вывод)
Что записано на карточках? (для Питерских карточек)
назначению каждого бита, записанного
на карте.
На
карточке используются только 16 байт. Все остальные
равны 0xFF.
Примеры памяти карт
Эта карта
на 50 единиц закончилась. Номер 0050415503.
Годна до
30.09.98
E9, 30, FF,
01, F1, E2, 80, C0
00, 00, 00,
00, 00, FF, 18, EA
Эта карта
на 400 единиц похоже пуста. Номер 0400155921.
Годна до
30.09.98
E9, 30, FF,
01, 88, A7, 9B, E8
00, 00, 00,
00, 00, FF, D9, 79
Вот карта
на 1000 единиц. Осталось 998. Номер 1000013039.
Годна до
31.12.99
E9, 30, FF,
01, F7, 3F, 59, DC
00, 01, 7F,
0F, 3F, FF, 68, 6B
Потом мы
позвонил по этой карте. Осталось 6 единиц.
E9, 30, FF,
01, F7, 3F, 59, DC
00, 00, 00,
00, 3F, FF, 68, 6B
Наконец,
она закончилась.
E9, 30, FF,
01, F7, 3F, 59, DC
00, 00, 00,
00, 00, FF, 68, 6B
Назначение полей
1.
Первые 4 байта - какой-то идентификатор. На всех картах
E9, 30, FF, 01.
2.
Следующие 4 байта - серийный номер карты.
Расположив биты в байтах в обратном распорядке, но затем также сами
байты, получим 32 разрядное целое без знака. К образцу,
байты F7, 3F, 59, DC с обратным распорядком бит выглядят как
EF, FC, 9A, 3B. Получим
номер карты 0x3B9AFCEF или 1000013039
в десятичном виде. Нетрудно заметить, что
номер, напечатанный на карте, всегда состоит
из 10 цифр, но первые 4 цифры - емкость карточки.
3.
Следующие 5 байт - число единиц, оставшихся
на карточке. Формат
хранения очень интересный:
используется количество единичных битов
в байте, начиная с младшего.
Соответственно значение байта 07 соответствует 3 единицам, значение
1F - пяти, а 7F -
семи единицам. Максимальное
количество единиц,
хранящихся в байте - семь. Соответственно используется
восьмеричная система счисления. Таким образом,
байты 00, 01, 7F, 0F, 3F
соответствуют 01746 в восьмеричной системе
или 998 единиц в
десятичной системе. Максимальное число единиц
может выражаться числом 77777 в восьмеричной либо 32767 в десятичной
системе.
4.
Следующий байт всегда равен FF.
Похоже, он не используется.
5.
Два последних байта, по-видимому, выражают
CRC либо другой контрольный код для первых 8
постоянных байт, т.к. при расходовании единиц они
не меняются, но на
каждой карточке они свои. Пока что их назначение никак не ясно.
Обнаружилось, что срок годности никак не записан на карте. По
всей видимости, он как-то связан с номером
карты.
Возможно, каждому сроку годности соответствуют определенный
диапазон номеров.
Как уже говорилось, из 10 цифр номера
первые 4 выражают емкость карты.
Оставшиеся 6 не идентифицируют карту
однозначно, т.к. уже выпущено более миллиона
карт. Всего при подобной системе нумерации может
существовать 6 миллионов карт:
* На 25
единиц с номерами от 0025000000 вплоть до 0025999999
* На 50
единиц с номерами от 0050000000 вплоть до 0050999999
* На 100
единиц с номерами от 0100000000 вплоть до 0100999999
* На 200
единиц с номерами от 0200000000 вплоть до 0200999999
* На 400
единиц с номерами от 0400000000 вплоть до 0400999999
* На 1000
единиц с номерами от 1000000000 вплоть до 1000999999