www . spytech . narod . ru

 /Carding/Программатор SMART-карт


Программатор SMART-карт

Как работает такой программатор?

1. По линии DTR осуществляется передача данных в чип, по линии CTS - прием данных из чипа.
2. Линия RTS служит для приема/передачи стробирующих импульсов.
3. Линия TxD осуществляет формирование сигнала MCLR - общий сброс, который имеет низкий уровень непосредственно до начала цикла программирования, а в процессе цикла программирования сюда подается напряжение программирования +12 вольт, необходимое чипу для перепрограммирования памяти программ.

Питание чипа карты осуществляется от цепочки:
TxD -> VD1 -> C1 + VZ1, которая накапливает на конденденсаторе и стабилизирует напряжение на уровне 5.6 вольт.
Проблема такого программатора заключается в том, что сигналы интерфейса RS232 плохо совместимы с TTL уровнями. Логическая "1" (high или mark) это -12V вольт относительно GND интерфейса, а логический "0" (low или space) это +12V вольт и все согласование уровней осуществляется резисторами, причем в цепочки согласования входят сопротивления самого RS232 - то есть в некоторых экземплярах может быть нечеткая работа.

Кроме того в этом программаторе маловато напряжение программирования - почти всегда это +9 - +9.5 вольт и некоторым экземплярам PIC может не хватить (примерно 0.5 %).

Какое программное обеспечение использовать?
Лучше всего использовать PIX (MS-Dos). Установите в нем тип программатора 9) Ludi и укажите COM-порт к которому он подключен.
Кроме того, можно порекомендовать PicProg 0.6 - эта программа под Windows, но она не имеет опции VERIFY, то есть проверить карту можно будет только на тюнере.
Обратите внимание - если вы установили защиту кода Code Protection или Cdp - VERIFY будет невозможен (чип не даст прочитать программу).
Для программирования следует использовать прошивку для PIC в которой ввод-вывод осуществляется через RB7 - обычно файлы с такими прошивками именуют с цифрой 7 в имени (стандартные пластиковые смарт-карты или wafer имеют как раз такое устройство).

Для тех кто использует 16F84 вместо 16С84 - в этом чипе для правильной работы должет быть включен Power UP Timer (Enable). Это можно сделать в программаторе - если используется PIX, то предохранители (Fuses) нужно устоановить так: 3FF9 а именно: [O]sc XT [W]dt NO [P]wr YES [C]dp NO.

Можно оснастить этот программатор переключателем, с помощью которого производится выбор для программирования либо PIC, либо EEPROM.

Простейший универсальный программатор смарт-карт


На текущий момент в обороте находится великое множество карт - одночиповые , двухчиповые, с двумя PIC и т.д.
Чем они все отличаются?
С точки зрения их программирования они отличаются только методом подключение выводов PIC : 13 - RB7 и 12 - RB6. Дело в том, что при программировании PIC необходимо подавать данные на RB7, импульсы синхронизации - на RB6. Если иметь в программаторе переключатель и знать устройство карты - можно программировать самые разнообразные карты.

Во время работы карты ввод-вывод чипа осуществляется через RB7, а тактовая частота снимается с вывода 16 - OSC , но в некоторых картах ввод-вывод производится через RB6, соответственно этот вывод и подключен к ISO-площадке I/O, а вывод RB7 - к какой либо из площадок ISO4 или ISO8. Однако, для программирования карты тактовую частоту необходимо подавать на вывод 12 - RB6, а данные - на RB7. Для этих манипуляций в данной схеме и применен DIP-переключатель.

Обратите внимание - если ввод/вывод карты осуществляется через RB6 - нужно использовать соответствующую прошивку!

Характеристики наиболее распространеннных карт и соответствующие установки ключа DIP-ключа для различных карт (пустая ячейка - OFF)

Обратите внимание: В блоке DATA (с 1-го по 4-ый ключ) одновременно может быть включен только один ключ! Тоже касается блока CLOCK.




Тип карты

Где в карте RB7

Где в карте RB6

1 2 3 4 5 6 7 8
1 PIC ввод/вывод через RB7 ISO7 ISO3   on     on      
1 PIC ввод/вывод через RB6 ISO8 ISO7 on           on  
1 PIC Wafer card ввод/вывод через RB7 ISO7 ISO3   on     on      
2 PIC RB6, Master PIC ISO8 ISO7 on           on  
2 PIC RB6, Slave PIC ISO4 ISO7     on       on  
MULTIMAC, PIC ввод/вывод через RB7 ISO7 ISO3   on     on      
MULTIMAC EEPROM     on         on    
MM2 Wafer, PIC ввод/вывод через RB7 ISO7 ISO3   on     on      
MM2 Wafer, EEPROM     on         on    



В заключение следует отметить, что таким программатором нормально программируются карты, в которых к ISO-площадке I/O подключен 13-ый вывод PIC - RB7, а вывод 12 - RB6 подключен к площадке ISO Clock. Для других карт необходимо знать их устройство и поставить DIP-переключатель - тогда можно будет программировать различные карты.

Конечно, хорошо бы оснастить эту схему собственным кварцевым генератором, источником питания для чипа, +12 вольт для программирования, формирователями для RS232 - и у нас получится Smart Mouse Interface, который более корректно работает с различными картами. SmartMouse позволяет экспериментировать с другими смарт-картами - от сотовых телефонов, таксофонными и т.п


Smart Mouse Interface

Интерфейс Smart-mouse позволяет подключить смарт-карту стандарта ISO 7816-1/2/3 к последовательному порту вашего компьютера для ее "исследования".



Этот интерфейс более аккуратно ведет себя со смарт-картой. Прием и передача данных осуществляются по линиям TxD и RxD RS232, сигнал сброса карты MCLR формируется линией RTS RS232. Тактовая частота карте подается с помощью генератора на 74hc04 , в схеме использован кварц от телесистемы NTSC (частота может быть в пределах 3.54 +/- 20 % - от этого зависит скорость обмена - 9600 бит/сек).

Исследовать карту можно различными способами, например, CardExplorer, а можно написать свою программу, (замечу - Visual BASIC при этом не подходит, так как его объект MSComm годится только для очень стандартных действий). При этом обратите внимание на интерпретацию информационных байтов.

Обратите внимание: SmartMouse - это интерфейс к карте, а не программатор. В нем отстутствует формирователь напряжения программитрования +12 вольт, которое должно быть на контакте MCLR, чтобы программировать память программ чипа , а вот встроенную EEPROM он переписать может.

Из этой схемы легко сделать почти профессиональный считыватель. Для этого нужно задействовать датчик наличия карты и подключить его через MAX232 к линии CTS ( нет карты- CTS Off) и подавать питание на карту и тактовый генератор по сигналу DTR от компьютера - DTR On - устройство включено.



Источник: http://www.sat.com.ru

Hosted by uCoz