
ODRFIDKit Web: работа с RFID-картами в браузере
Подключение ODRFID-M/N/E к ODRFIDKit Web, чтение и запись MIFARE Classic, просмотр памяти T5577, ключи, access bits, NDEF и настройки считывателя.
ODRFIDKit Web — браузерная программа для считывателей ODRFID-M, ODRFID-N и ODRFID-E. Устанавливать её не нужно: считыватель подключается напрямую к браузеру через USB CDC и Web Serial.
В веб-версии можно:
- определить тип карты, скопировать UID, Decimal LE и Wiegand 26;
- читать и изменять блоки или страницы поддерживаемых карт 13,56 МГц;
- задавать Key A/Key B, смотреть и изменять права доступа MIFARE Classic;
- безопасно просматривать память T55xx и EM4x05/EM4x50 на 125 кГц;
- записывать EM-Marine UID в T5557/T5567/T5577;
- читать и записывать NDEF на совместимых Ultralight, NTAG и MIFARE Classic;
- читать и настраивать параметры самого ODRFID.
Для постоянного рабочего места, сохранения дампов .mfc, программного
эмулятора карты и сетевых TCP/UDP-функций используйте
настольную ODRFIDKit.
Что понадобится
| Задача | Считыватель |
|---|---|
| Карты MIFARE, Ultralight и NTAG 13,56 МГц | ODRFID-N или ODRFID-M |
| Метки EM-Marine, HID Prox и T55xx 125 кГц | ODRFID-E или ODRFID-M |
| Работа с обеими частотами | ODRFID-M |
Откройте приложение в настольном браузере с поддержкой Web Serial, например Chromium, Chrome или Edge. Порт может использовать только одна программа. Перед подключением закройте настольную ODRFIDKit, терминал и другие программы, которые могли открыть тот же ODRFID.
Подключение
- Подключите ODRFID к USB-порту компьютера.
- Откройте odrfid.unitx.pro и нажмите Подключить.
- В системном окне браузера выберите последовательный порт ODRFID и разрешите доступ.
- Проверьте верхнюю панель: рядом с названием появится версия прошивки, а справа — состояние Подключен.
- Поднесите одну карту. Тип, UID и геометрия памяти появятся автоматически.
Если список портов пуст, проверьте USB-кабель и наличие CDC-интерфейса. Если порт виден, но не открывается, освободите его в другой программе и нажмите Подключить ещё раз.
Интерфейс программы
- Верхняя панель показывает версию прошивки. Кнопка Устройство открывает параметры считывателя, Настройки — тему и журнал обмена, а Подключить/Отключить управляет Web Serial-сессией.
- Карта слева содержит тип, UID, Decimal LE, Wiegand 26, число блоков и их размер. Значки рядом с номерами копируют готовое значение.
- Панель карты ниже меняется по типу метки: Key A/Key B и список секторов для Classic, пароль для Ultralight/NTAG, AES-ключ для MIFARE Plus или инструменты памяти 125 кГц.
- Читать загружает память, Записать отправляет только изменённые блоки, След. карта сбрасывает текущий выбор, Клонировать открывает редактор UID совместимой заготовки.
- Память 125 кГц включает отдельный безопасный режим просмотра LF-памяти, а NDEF — редактор NDEF для NFC Forum Type 2 Tag и MIFARE Classic.
- Переключатель HEX / DEC / ASCII меняет только представление уже считанных байтов. Содержимое карты от этого не меняется.
- Нижняя строка показывает текущую операцию, предупреждение или результат.

-- в таблице означают, что память ещё не прочитана.MIFARE Classic 13,56 МГц
На снимке прочитана MIFARE Classic 1K: 64 блока по 16 байт, объединённые в 16 секторов. У каждого сектора три блока данных и последний служебный блок sector trailer. Блок 0 содержит UID и заводские данные; обычная карта не позволяет переписать его.

Как прочитать память Classic
- Поднесите карту и дождитесь определения типа.
- В панели Ключ Mifare Classic выберите Key A или Key B, введите 12 HEX-
символов и нажмите Установить. Для незапрограммированной карты часто
используется
FFFFFFFFFFFF, но в рабочей системе ключи могут быть другими для каждого сектора. - Нажмите Читать. Программа последовательно прочитает доступные блоки.
- Выбирайте сектор слева, чтобы перейти к его блокам. Ячейка с ошибкой означает, что блок не прочитан — обычно из-за неверного ключа или запрета в access bits.
- При необходимости переключите HEX, DEC или ASCII. Для проверки точных данных используйте HEX.
Ключ в левой панели применяется для текущей работы с памятью. В окне Устройство → Ключи можно прочитать или записать используемые самим считывателем ключи и пароли.
Как изменить и записать обычный блок
- Сначала прочитайте всю карту и сохраните исходные байты отдельно.
- Щёлкните по нужному байту в блоке данных и введите новое значение в текущем
формате. В HEX введите две шестнадцатеричные цифры, то есть байт от
00доFF. - Изменённая ячейка и сектор выделятся, а кнопка Записать станет активной.
- Убедитесь, что выбран правильный блок и на карте не изменились UID и служебный trailer.
- Нажмите Записать. В память отправляются только блоки, изменённые в таблице.
- Не убирайте карту до сообщения о завершении. Затем нажмите Читать и сравните считанные байты с ожидаемыми.
Блок 0 не предназначен для пользовательских данных. Проверяйте запись не на единственной рабочей карте, а на запасной. Если нужно отказаться от подготовленных изменений, нажмите След. карта и снова поднесите метку, не нажимая Записать.
Key A, Key B и служебные биты MIFARE Classic
Последний блок каждого сектора — trailer из 16 байт:
| Байты | Назначение |
|---|---|
| 0–5 | Key A, 6 байт |
| 6–8 | access bits: комбинации C1, C2 и C3 с инверсными копиями |
| 9 | GPB, служебный байт общего назначения |
| 10–15 | Key B, 6 байт |
Key A никогда не возвращается обычной командой чтения. Поэтому нули в первых шести байтах прочитанного trailer не доказывают, что реальный Key A равен нулю. Возможность прочитать Key B зависит от режима доступа; в некоторых режимах он используется как данные, а в других остаётся ключом.
Чтобы посмотреть права, дважды щёлкните по номеру блока в первом столбце. Двойной щелчок по обычному блоку открывает разрешения Чтение, Запись, Increment и Decrement. Программа расшифровывает C1/C2/C3 и показывает, какой ключ допускает каждую операцию.

Двойной щелчок по номеру trailer открывает права на Key A, access bits и Key B, а также поля для подготовки новых ключей. Флажок рядом с ключом означает, что его байты будут включены в изменение; без флажка поле служит только для просмотра подготовленного значения.

Кнопка OK в редакторе только переносит подготовленные значения в таблицу и помечает trailer изменённым. Физическая запись начинается лишь после нажатия основной кнопки Записать.
Перед изменением trailer:
- запишите текущие Key A и Key B вне карты;
- проверьте, каким ключом текущий режим разрешает менять access bits и ключи;
- меняйте один сектор за раз и сразу перечитывайте его новым ключом;
- не выбирайте режим
never, пока не убедитесь, что именно это требуется; - учитывайте, что неверные или противоречивые C1/C2/C3 могут закрыть сектор.
Клонирование UID MIFARE
Кнопка Клонировать открывает ввод нового UID длиной 4 или 7 байт. Эта команда предназначена только для специальных Classic-совместимых заготовок с перезаписываемой UID-областью. Заводской UID обычной MIFARE Classic изменить нельзя. Перенос UID не копирует пользовательские блоки, ключи и access bits.
T5577 и память 125 кГц
В обычном режиме T5577, настроенная как EM4100, выглядит как обычная низкочастотная метка: программа показывает код EM4100, Decimal и поля формата Wiegand. По одному этому экрану нельзя отличить T5577 от неперезаписываемой EM4100.

Как посмотреть внутреннюю память T5577
- Поднесите метку и нажмите Память 125 кГц.
- Нажмите Определить метку. В панели слева появятся семейство чипа и доступные страницы или блоки.
- Нажмите основную кнопку Читать, чтобы прочитать все доступные данные, или выберите страницу и блок и нажмите Прочитать выбранный.
- Для T5577 кнопка Заводские данные (страница 1) читает доступную trace-
область. Значение
--означает, что блок не был прочитан или недоступен в этом безопасном режиме. - Нажмите Память 125 кГц повторно, чтобы вернуться к обычному чтению UID.


Режим Память 125 кГц читает метку без пароля. Он не передаёт LOGIN,
WRITE и PROTECT, поэтому защищённые пользовательские блоки остаются
недоступными. Для записи UID используйте мастер EM-Marine ниже.
Как записать EM-Marine UID в T5577
- Вернитесь из режима памяти 125 кГц к обычному экрану UID.
- Поднесите исходную EM4100-совместимую метку или введите нужный пятибайтный UID в окне Клонировать.
- Выберите кодирование Manchester или BiPhase и скорость RF/64 или RF/32. Для обычной совместимости EM4100 чаще используются Manchester и RF/64, но параметры должны соответствовать целевой системе.
- Если заготовка уже защищена, включите Текущий пароль и введите известные 8 HEX-символов.
- Новый пароль задавайте только если защита действительно нужна и значение сохранено в надёжном месте.
- Поднесите целевую T5577, нажмите Записать, не убирайте её до завершения, затем прочитайте UID обратно в обычном режиме.

Защита T5577 паролем усложняет восстановление при ошибке. Сначала проверьте новый UID без защиты на отдельной тестовой заготовке и только затем решайте, нужен ли пароль.
NDEF на Ultralight, NTAG и MIFARE Classic
Кнопка NDEF открывает редактор URI, Text и Smart Poster для совместимых NFC Forum Type 2 Tag: MIFARE Ultralight, Ultralight Nano, Ultralight EV1 и NTAG213/215/216. Он читает Capability Container, показывает ёмкость, подготавливает байты сообщения, записывает их и проверяет повторным чтением.
На MIFARE Classic тот же редактор записывает NDEF по правилам NXP: каталог MAD1 в секторе 0 и сообщение в отдельных секторах. Запись меняет ключи и права доступа секторов, поэтому её нужно подтвердить, а вернуть заводское состояние карты можно кнопкой Сбросить метку. Совместимость, ограничения и пошаговая запись со снимками экрана разобраны в руководстве NDEF: данные на NFC-метках.
Настройки считывателя
Откройте Устройство после подключения. Программа сначала читает текущую конфигурацию; изменённые значения попадают в считыватель только после нажатия кнопки Записать.



Вкладки окна:
- Общие — индикация, частоты, усиление, интервал и режим сканирования, интерфейс CDC/HID там, где он поддерживается;
- Ключи — значения аутентификации для Classic, Ultralight/NTAG и MIFARE Plus;
- Вывод — строка, которую считыватель выдаёт в CDC/HID;
- Управление — перезагрузка и переход в загрузчик для обновления прошивки.
Полный синтаксис поля Вывод приведён в справочнике строки форматирования. Переход в загрузчик нужен только для обновления прошивки.
Безопасный порядок записи
- Убедитесь, что определён ожидаемый тип карты, а не только знакомый номер.
- Прочитайте всю доступную память и сохраните исходные значения.
- Проверьте действующий ключ, пароль и права целевого блока.
- Меняйте один блок, сектор или параметр за раз.
- Не включайте необратимую защиту на единственной рабочей карте.
- После каждой записи перечитывайте карту и сравнивайте результат.
- Копируйте и изменяйте только принадлежащие вам карты и системы, для которых у вас есть разрешение.