CardPeek

CardPeek - это кросс-платформенная программа с открытым исходным кодом, предназначенная для чтения информации из памяти контактных  и бесконтактных смарт-карт. Поддерживает операционные системы Windows, Linux и MacOS (OSX). В отличие от многих свободных (и бесплатных) утилит для работы со смарт-картами - имеет графический интерфейс. Также, программа поддерживает скриптовый язык LUA: по умолчанию имеются скрипты для чтения самых распространенных чипов. На сегодняшний день (версия 0.8.4) CardPeek умеет читать и показывать в удобном виде содержимое:

  • EMV - большинство современных банковских карт с чипом. Программа поддерживает PayPass и PayWave, так что чтение можно производить любым считывателем (контактно/бесконтактно). Поддерживает бесконтактные карты МИР.
  • Биометрических паспортов - электронные паспорта с бесконтактной смарт-картой. 
  • Belgian eID - электронное удостоверение личности Бельгии.
  • Calypso - стандарт транспортных микропроцессорных карт, распространенный в Бельгии, Франции, Израиле, Канаде, Италии, Латвии, Португалии и др. Поддерживаются карты MOBIB, Navigo, RavKav, VIVA.
  • Карты тахографа - смарт-карты для учета активности водителя. Помимо отображения содержимого файловой системы, может также экспортировать все доступные данные в файл формата ".ddd". Обратите внимание: дата и время последнего экспорта данных будет сохранена на карте.
  • GSM SIM - большинство сим-карт для сотовых телефонов. CardPeek не поддерживает данные USIM, имеющиеся в наиболее новых картах, поэтому они не могут быть показаны.
  • Vitale 2 - медицинский страховой полис Франции. 
  • OpenPGP - смарт-карты использующиеся для шифрования электронной почты. Поддержка в тестовом режиме.

Чего CardPeek делать не умеет:

  • Изменять данные в памяти карты. CardPeek разрабатывался как утилита для чтения. При чтении, она в большинстве случаев использует стандартные команды ISO 7816. В то же время, для записи данных потребуется не только добавить аналогичные команды для записи, но и реализовать механизмы перевода карты в режим записи + авторизацию для разных типов карт. Это можно сделать, изменив исходный код, но в стандартной версии таких функций нет.
  • Взламывать, извлекать ключи, читать защищенные данные без ключей. Программа для этого не предназначена.
  • Работать со считывателями через COM/LPT. CardPeek может работать только с устройствами, поддерживающими PC/SC.
  • Читать содержимое синхронных карт (карты памяти). При чтении используются стандартные команды ISO 7816 (см. выше), но синхронные карты их не поддерживают. Также, для чтения карт памяти чаще всего применяют COM/LPT считыватели, а они не поддерживаются уже самой программой. UPD: На самом деле - умеет, если считыватель поддерживает трансляцию (перевод команд в понятный карте памяти формат). Такие считыватели сами опознают тип карты, и представляют ее операционной системе как стандартную смарт-карту.

 

Использование

Интерфейс программы очень прост, но есть небольшая неприятность: при первом запуске появится окно выбора считывателя, окно обновления доступных скриптов и списка известных смарт карт. К сожалению, механизм обновления не работает. Разработчик  давно не обновлял программу, поэтому, список известных смарт карт безнадежно устарел. Актуальный список можно скачать по ссылке и сохранить его как текстовый файл с именем "smartcard_list.txt" (без кавычек) в папке со скриптами: C:\Пользователи\<Ваше имя пользователя>\.cardpeek\scripts\etc. Обратите внимание: при последующих запусках следует отказываться от обновления скриптов, иначе CardPeek снова скачает устаревшую версию списка.

 

 

Окно выбора считывателя

Окно выбора считывателя.

 

 

В основном окне программы три вкладки: Card View (Просмотр карты. Это главная вкладка.), Reader (подключение/отключение считывателя вручную) и Logs (просмотр событий). Весть функционал программы расположен во вкладке Card View. Вторая и третья вкладки - скорее диагностические, в обычных условиях они вряд-ли пригодятся.

Перед началом работы, подключите считыватель к ПК и установите необходимые драйверы. 

Запустите CardPeek, выберите считыватель, откажитесь от обновления базы, вставьте карту и нажмите на иконку с надписью Analyzer

 

 

Выпадающее меню.

 

 

В выпадающем меню выберите скрипт, который хотите запустить. Если у Вас есть собственный скрипт - его можно открыть выбрав Load a script; если нужного скрипта нет - нажмите atr.

ATR - Answer To Reset - это ответ карты на процедуру сброса. CardPeek имеет встроенную базу таких ответов и пытается по ней идентифицировать тип карты. Это может быть полезно, например, для дальнейшего поиска информации о чипе или операционной системе карты.

 

 

Окно загрузки скрипта.

 

 

По окончании работы скрипта, CardPeek отобразит всю полученную информацию в виде древовидной структуры. Эту информацию можно сохранить в XML файл, нажав на кнопку Save.

 

 

Результат чтения топливной карты Shell скриптом atr. 

 

Обратите внимание: последовательность ATR не является уникальной, поэтому точность определения типа карты не гарантируется. На примере выше, CardPeek смог правильно определить модель чипа топливной карты Shell(Gemplus GemClub Memo), но не смог определить организацию. Так происходит, потому что разные организации используют одинаковые чипы, а связку [значение ATR = Организация] программа берет из открытых источников, например таких.

 

 

Результат чтения Carte Jeunes скриптом atr.

 

Результат чтения выводится в виде таблицы из трех столбцов: Items (какие данные были получены), Size (размер этих данных в байтах) и Raw Value/Interpeted Value (сами данные в исходном или читаемом виде. Переключить вид можно нажав на название столбца). В зависимости от использованного скрипта будут доступны разные данные.

 

Интерпретированный результат чтения банковской карты скриптом EMV...

 

...и он же - в исходном виде (HEX).

 

Проблемы

 

Иногда, при попытке выполнить скрипт, в строке состояния появляется ошибка ERROR backtrace: called at [string "<название скрипта>.lua"]:

 

Так происходит при первой попытке чтения карты с момента запуска Cardpeek. Чтобы решить эту проблему, Выберите из выпадающего меню ATR и после получения результатов, снова выполните нужный Вам скрипт.

Еще одна неприятная проблема: если во время работы Cardpeek считыватель был отключен от ПК, программа не сможет восстановить с ним связь. Список доступных считывателей появляется только на старте, поэтому чтобы продолжить работу, придется перезапустить программу.

 

Вот, собственно, и все.

Скачать скомпилированную версию программы можно с официального сайта разработчика или прямо тут. Исходный код доступен в репозитории GitHub.

 

 

Категория: Windows | Добавил: pcscd (29.03.2019)
Просмотров: 895 | Теги: тахограф, pcsc, Sim, карта, SIM - карты, смарт-карта, cardpeek, EMV, mifare | Рейтинг: 0.0/0
Всего комментариев: 0
Имя *:
Email *:
Код *:
close