Чтение прошивкителефонной карточки

Подключение карт к компьютеру для считывания и записи в основном осуществляется через 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

    Прикрепленные файлы:

    Добавить комментарий

    Ваш адрес email не будет опубликован.