2013-01-11 4 views
2

Я написал простое приложение (C#) для выполнения некоторых операций ввода-вывода на моей карте Mifare через считыватель смарт-карт (очевидно, я использовал некоторые оболочки Win API).Получить карту Mifare

Единственная информация о mifare, которую я получаю, это «Mifare 1k»), но есть ли способ узнать точный тип моей карты mifare? (например, это может быть Classic, DESFire, Plus, Ultralight ..)?

Или, может быть, описание Mifare 1k, возвращаемое моим приложением, означает, что это просто классический Mifare?

+0

Есть ли у технической информации на сайте Mifare? – halfer

+1

Скорее всего, это «классика». –

ответ

3

Vikky является правильным. В ATR карты вы найдете, который является именно карточным типом.

Проверьте это: http://www.acs.com.hk/drivers/eng/API_ACR122U_v2.00.pdf

В стр.6 у вас есть структура ATR/формат. 15-й и 16-й байты - это имя карты (тип)

Если вы получаете «Mifare 1k», это относится к MiFare Classic 1K. Надеюсь, это вам поможет.

+0

Я думаю, что это 13-й и 14-й байты (если я начну отсчет с 0). –

+0

На самом деле этого способа пока недостаточно, чтобы различать MIFARE Classic и MIFARE Plus, например. – kdmin

0

вы можете найти ATR (ответ на перезагрузку) карты и проанализировать ATR, чтобы найти тип карты.

Пусть ATR является 3b 8х 80 01 80 4F 00 00 00 00 03 00 00 02 00 00 00 00 69 (не настоящий)

если atrLength-0x6 = 1, то Mifare 1k

atrLength-0x6 = 2, то Mifare 4K

+0

Это полезно - так что в вашем примере (чтение справа налево) 6-й байт говорит нам, что это MiFare 4k (02) - как узнать, есть ли его байк MiFare 4K 4 или Mifare 4K 7? – contool

Смежные вопросы