Руководство пользователя R502 SPY Reader Debug

Carder

Professional
Messages
2,619
Reaction score
1,903
Points
113
Оглавление
  • Бесконтактная команда
    • 1. RF_ON
    • 2. RF_OFF
    • 3. RF_AUTO
    • 4. RF_MANUAL
  • Отладка ISO14443-TypeA
    • 1. REQA
    • 2. WUPA
    • 3. АНТИКОЛЛИЗИЯ
    • 4. ВЫБОР
    • 5. RATS
    • 6. HLTA
    • 7. PPS
  • ISO14443-Block Transmission Debug (Отладка блочной передачи)
    • 1. I-БЛОК
    • 2. R-БЛОК
    • 3. S-БЛОК
  • Mifare Debug
    • 1. АУТЕНТИФИКАЦИЯ
    • 2. ПРОЧИТАТЬ БЛОК
    • 3. ЗАПИСАТЬ БЛОК
    • 4. ПРИРОСТ
    • 5. ЗАЯВЛЕНИЕ
    • 6. ПЕРЕДАЧА
    • 7. ВОССТАНОВЛЕНИЕ
  • Скрипт операции
    • 1. Загрузите файл сценария.
    • 2. Сохраните файл сценария.
    • 3. Работа скрипта
    • 4. Выполнение скрипта
  • Контрольный список значений ошибки
  • Техническая поддержка

Считыватель R502 SPY разработан JavaCardOS Technologies. Он основан на считывателе смарт-карт Feitian R502. Он поддерживает не только контактные карты, соответствующие стандарту ISO 7816, но и бесконтактные карты, соответствующие стандарту ISO 14443, а также имеет функцию отладки протокола ISO14443 TypeA и функцию отладки команд Mifare. Он также предоставляет возможность онлайн-обновления. В будущем мы запустим больше функций отладки протокола.

Бесконтактная команда​


1. RF_ON
Открытое электромагнитное поле.

2. RF_OFF
Закройте электромагнитное поле.

3. RF_AUTO
Установите автоматический статус связи. В этом статусе предотвращение столкновений будет завершено автоматически.

4. RF_MANUAL
Установите в режим ручной работы. В этом статусе все команды будут отправляться искусственно, программа предотвращения столкновений не будет выполняться автоматически.

Отладка ISO14443-TypeA​


1. REQA
57abd6ec88efc.png

Значение команды REQA. Как сказано в спецификации, значение команды - 0x26.

2. WUPA
wupa.png

Значение команды - WUPA. Значение этой команды - 0x52.

3. АНТИКОЛЛИЗИЯ
57abd786cbe41.png

Уровень: Каскадный уровень. Выберите уровень каскада 1, SEL - 0x93; Выберите каскадный уровень 2, SEL - 0x95; Выберите каскадный уровень 3, SEL - 0x97.
Количество байтов: укажите целую часть числа всех действительных битов данных, переданных PCD (включая SEL и NVB), деленное на 8. Следовательно, минимальное значение «Количество байтов» равно 2, а максимальное значение - 7.
Bit Count: укажите количество всех действительных битов данных, передаваемых PCD (включая SEL и NVB) по модулю 8.

4. ВЫБОР
57abd79f40650.png

Уровень: Каскадный уровень. Выберите каскадный уровень 1, SEL - 0x93; Выберите каскадный уровень 2, SEL - 0x95; Выберите каскадный уровень 3, SEL - 0x97.
Количество байтов: укажите целую часть числа всех действительных битов данных, переданных PCD (включая SEL и NVB), деленное на 8. Следовательно, минимальное значение «Количество байтов» равно 2, а максимальное значение - 7.
Bit Count: укажите количество всех действительных битов данных, передаваемых PCD (включая SEL и NVB) по модулю 8.
UID: уникальный идентификатор.

5. RATS
57abd7b6d2cee.png

Заголовок: начальный байт.
FSDI: определяет максимальный размер кадра, который может принять PCD.
CID: определяет логический номер адресуемой PICC в диапазоне от 0 до 14. Значение 15 - RFU.

6. HLTA​

57abd8072aa9c.png

Значение команды - HLTA. Это значение 0x5000, указанное в спецификации.

7. PPS
57abd81a7ecc9.png

CID: определяет логический номер адресуемой PICC.
PPS1: Отметьте V, если есть байт PPS1.
DSI: биты 4 и 3 PPS1. Закодируйте выбранное целое число делителя из PICC в PCD.
DRI: биты 2 и 1 PPS1.Кодируют выбранное целое число делителя из PCD в PICC.

ISO14443-Block Transmission Debug (Отладка блочной передачи)​


1. I-БЛОК
57abd82c7811a.png

Цепочка: если это не последний блок цепной передачи, установите его в 1 и установите последний блок в 0 ..
CID: идентификатор карты.
NAD: адрес узла.
Номер блока
INF
EDC

2. R-БЛОК

Тип: тип R-блока, ACK или NAK.
CID: идентификатор карты.
Номер блока
INF
EDC

3. S-БЛОК
57abd8538391b.png

Тип: если это не последний блок цепной передачи, установите его в 1 и установите последний блок в 0.
CID: идентификатор карты.
INF
EDC

Mifare Debug​


1. АУТЕНТИФИКАЦИЯ
57abd8671c32a.png

Режим: если это не последний блок цепной передачи, установите его на 1 и установите последний блок на 0.
Номер блока: Адрес блока MIFARE.
Ключ: Ключевое значение.
UID: уникальный идентификатор карты.

2. ПРОЧИТАЙТЕ БЛОК
57abd880058b3.png

Номер блока: Адрес блока MIFARE.

3. ЗАПИСАТЬ БЛОК​

57abd8919b51f.png

Номер блока: Адрес блока MIFARE.
Данные: данные для записи. Длина данных составляет 16 байт.

4. ПРИРОСТ
57abd8a8bdb9f.png

Номер блока: Адрес блока MIFARE.
Операнд: операнд (4-байтовое целое число со знаком).

5. ЗАЯВЛЕНИЕ
57abd8ba98f1b.png

[*]Номер блока: Адрес блока MIFARE.
[*]Операнд: операнд (4-байтовое целое число со знаком).

6. ПЕРЕДАЧА
57abd8cef0b98.png

Номер блока: Адрес блока MIFARE.

7. ВОССТАНОВЛЕНИЕ
57abd8e47bfe9.png

Номер блока: Адрес блока MIFARE.

Скрипт операции​


1. Загрузите файл сценария.
Выберите каталог сценария и загрузите содержимое сценария. Расширение файла сценария - scd.

2. Сохраните файл сценария.
Сохраните текущий скрипт редактирования.
Если выбран каталог файла сценария, этот сценарий закроет файл сценария в текущем каталоге. Если каталог файла сценария не выбран, появится всплывающее окно «Сохранить» для сохранения файла.

3. Работа скрипта
  • Вперед: текущая выбранная команда перемещается на 1 позицию вперед.
  • Назад: текущая выбранная команда перемещается на 1 позицию назад.
  • Удалить: удалить текущую команду.

4. Выполнение скрипта​

  • Выполнить: выполнить текущий сценарий сзади.
  • Перешагнуть: из текущей позиции перейти к команде. Если текущий выбранный элемент отсутствует, выполнить сценарий с первой команды.
  • Стоп: остановить текущую операцию.

Контрольный список значений ошибки​

НомерЗначение
10x02
20x03
30x04
40x05
50x06
60x0F
70x1B
80x40
90x41
100x42
110x43
120x45
130x46
140x47
150x48
160x49
170x4A
180x4B
190x4C
200x4D
21 год0x4E
220x4F
230x60
240x61
250x62
26 год0x63
270x64

Техническая поддержка​

1. Введение в продукт: http://www.javacardos.com/store/java_R502_SPY.php
2. Технологический форум: http://www.javacardos.com/javacardforum/
3. Электронное руководство: http://www.javacardos.com/wiki/
 

Руководство по API R502 Spy Library​


Оглавление
  • Введение в API
    • 1. Конструктор и инициализация
    • 2. Связанное бесконтактное API
    • 3. API протокола ISO14443 TypeA
    • 4. API блочного протокола ISO14443
    • 5. Командный API MIFARE

R502 Spy Library - это операционная библиотека API считывателя R502 SPY. Теперь он содержит интерфейс API отладки протокола ISO14443 TypeA, интерфейс API отладки команд карты Mifare Classic.

Введение в API

1. Конструктор и инициализация​


Конструктор
  • Параметр: scinterface
  • Возврат: объект отладки смарт-карты.

init()
  • Функция: Инициализация.
  • Параметр: Null.
  • Возврат: ноль.

2. Связанное бесконтактное API​


rfOn ()
  • Функция: Откройте электромагнитное поле считывателя смарт-карт.
  • Параметр: Null.
  • Возврат:
    1. True, если команда выполнена успешно.
    2. False, если не удалось выполнить команду.

rfOff ()
  • Функция: Закройте электромагнитное поле считывателя смарт-карт.
  • Параметр: Null.
  • Возврат:
    1. True, если команда выполнена успешно.
    2. False, если не удалось выполнить команду.

rfAuto ()
  • Функция: установите автоматический статус функции отладки считывателя смарт-карт. В этом статусе предотвращение столкновений будет завершено автоматически.
  • Параметр: Null.
  • Возврат:
    1. True, если команда выполнена успешно.
    2. False, если не удалось выполнить команду.

rfManaul()
  • Функция: установите функцию отладки устройства чтения смарт-карт в режим ручной работы. В этом статусе программа предотвращения столкновений будет реализована путем вызова интерфейса API.
  • Параметр: Null.
  • Возврат:
    1. True, если команда выполнена успешно.
    2. False, если не удалось выполнить команду.

3. API протокола ISO14443 TypeA​


claREQA (значение команды)
  • Функция: отправить команду REQA для ISO14443 TypeA.
  • Параметр: commandValue: значение команды. Это 0x26, как определено в спецификации ISO14443.
  • Возврат:
    1. (True, значение ответа команды: ATQA), если команда выполнена успешно.
    2. (False, код ошибки), если не удалось выполнить команду.

claWUPA (значение команды)
  • Функция: отправить команду WUPA для ISO14443 TypeA.
  • Параметр: commandValue: значение команды. Это 0x52, как определено в спецификации ISO14443.
  • Возврат:
    1. (True, значение ответа команды: ATQA), если команда выполнена успешно.
    2. (False, код ошибки), если не удалось выполнить команду.

claAnticollision (значение команды)
  • Функция: отправить команду АНТИКОЛЛИЗИИ ISO14443 TypeA.
  • Параметр: commandValue: значение команды. например: например: «93 20», «95 20», «97 20».
  • Возврат:
    1. (True, значение ответа команды: UID CLn), если команда выполнена успешно.
    2. (False, код ошибки), если не удалось выполнить команду.

claSelect (значение команды)
  • Функция: отправить команду SELECT ISO14443 TypeA.
  • Параметр: commandValue: значение команды. например: «93 70» + UID, «95 70» + UID, «97 70» + UID.
  • Возврат:
    1. (True, значение ответа команды: SAK), если команда выполнена успешно.
    2. (False, код ошибки), если не удалось выполнить команду.

claRATS (значение команды)
  • Функция: отправить команду RATS ISO14443 TypeA.
  • Параметр: commandValue: значение команды. Формат, определенный в спецификации: формат, определенный в спецификации: 'E0' + байт параметра.
  • Возврат:
    1. (True, значение ответа команды: ATS), если команда выполнена успешно.
    2. (False, код ошибки), если не удалось выполнить команду.

claHLTA (значение команды)
  • Функция: отправить команду HLTA ISO14443 TypeA.
  • Параметр: commandValue: значение команды. Формат, определенный в спецификации: «50 00».
  • Возврат:
    1. (True, значение ответа команды), если команда выполнена успешно.
    2. (False, код ошибки), если не удалось выполнить команду.

claPPS (значение команды)
  • Функция: отправить команду PPS для ISO14443 TypeA.
  • Параметр: commandValue: значение команды. Формат, определенный в спецификации: PPSS + PPS0 + PPS1.
  • Возврат:
    1. (True, значение ответа команды), если команда выполнена успешно.
    2. (False, код ошибки), если не удалось выполнить команду.

4. API блочного протокола ISO14443​


clTransmit (значение команды)
  • Функция: отправить блок ISO14443.
  • Параметр: commandValue: значение команды. Это может быть I-блок, R-блок или S-блок.
  • Возврат:
    1. (True, значение ответа блока), если команда выполнена успешно.
    2. (False, код ошибки), если не удалось выполнить команду.

5. Командный API MIFARE​


mifareAuthentication (значение команды)
  • Функция: отправить команду аутентификации MIFARE.
  • Параметр: commandValue: значение команды.Auth type + Mifare Block Addr + (ключ аутентификации (6 байт) + UID).
  • Возврат:
    1. (True), если команда выполнена успешно.
    2. (False, код ошибки), если не удалось выполнить команду.

mifareBlockRead (значение команды)
  • Функция: отправить команду чтения MIFARE.
  • Параметр: commandValue: значение команды: 0x30 + Mifare Block Addr.
  • Возврат:
    1. (True, блокировать данные), если команда выполнена успешно.
    2. (False, код ошибки), если не удалось выполнить команду.

mifareBlockWrite (значение команды)
  • Функция: отправить команду записи MIFARE.
  • Параметр: commandValue: значение команды Это 0xA0 + Mifare Block Addr + Data (16 байт).
  • Возврат:
    1. (True, ''), если команда выполнена успешно.
    2. (False, код ошибки), если не удалось выполнить команду.

mifareIncrement (значение команды)
  • Функция: отправить команду увеличения MIFARE.
  • Параметр: commandValue: значение команды: 0xC1 + Mifare Block Addr + Data (16 байт).
  • Возврат:
    1. (True), если команда выполнена успешно.
    2. (False, код ошибки), если не удалось выполнить команду.

mifareDecrement (значение команды)
  • Функция: отправить команду MIFARE Decrement.
  • Параметр: commandValue: значение команды: 0xC0 + Mifare Block Addr + Data (16 байт).
  • Возврат:
    1. (True), если команда выполнена успешно.
    2. (False, код ошибки), если не удалось выполнить команду.

mifareRestore (значение команды)
  • Функция: отправить команду восстановления MIFARE.
  • Параметр: commandValue: значение команды: 0xC2 + Mifare Block Addr + Data (16 байт).
  • Возврат:
    1. (True), если команда выполнена успешно.
    2. (False, код ошибки), если не удалось выполнить команду.

mifareTransfer (значение команды)
  • Функция: отправить команду передачи MIFARE.
  • Параметр: commandValue: значение команды 0xB0.
  • Возврат:
    1. (True), если команда выполнена успешно.
    2. (False, код ошибки), если не удалось выполнить команду.
 

Руководство по обновлению R502 SPY Reader​


Оглавление
  • 1. Прочтите информацию об устройстве R502 SPY.
  • 2. Используйте информацию об устройстве R502 SPY, чтобы получить файл обновления.
  • 3. Используйте файл для обновления ридера R502 SPY.
Три шага для обновления считывателя R502 SPY:
1. Прочтите информацию об устройстве R502 SPY;
2. Отправьте информацию об устройстве на javacardos@gmail.com, чтобы получить файл обновления;
3. Используйте файл для обновления ридера R502 SPY.

1. Прочтите информацию об устройстве R502 SPY.
В диалоговом окне R502 SPY Updater нажмите кнопку «Получить информацию об устройстве».
57ad2bc671060.png

Появится диалоговое окно «Информация об устройстве». Нажмите «Получить информацию об устройстве», и информация об устройстве отобразится в поле редактирования.
57ad2bd3239e1.png


2. Используйте информацию об устройстве R502 SPY, чтобы получить файл обновления.
Скопируйте информацию об устройстве, отправьте эту информацию на javacardos@gmail.com.
Файл обновления для считывателя R502 SPY будет отправлен на ваш адрес электронной почты.

3. Используйте файл для обновления ридера R502 SPY.
Нажмите «Обновить с файлом» в диалоговом окне R502 SPY Updater.
57ad2becec033.png

В диалоговом окне «Обновить с помощью файла» выберите файл обновления, нажмите «Обновить сейчас», чтобы обновить программу чтения.
57ad2c0433cfb.png
 
Top