Перейти к содержанию

← Назад в раздел NFC.cool Blog

ICODE 3, SLIX, ICODE DNA и NTAG 5 теперь работают в NFC.cool на iPhone

Библиотечная книга с RFID-меткой под обложкой рядом с iPhone, на экране которого открыты сведения об NFC-метке

На столе у меня лежала метка ICODE 3, на ней iPhone, и приложение исправно считывало всё, что чип мог о себе рассказать: идентификатор, память, счётчик касаний и подпись NXP, подтверждающую, что чип оригинальный. Потом я попросил изменить всего одну вещь, счётчик, и приложение сообщило, что метку убрали.

Никто её не убирал. Я попробовал ещё раз. То же сообщение. Попробовал вместо счётчика задать пароль. И снова то же самое.

К тому, что там происходило, я ещё вернусь, потому что интереснее бага я в этом году не ловил. Но сначала о том, зачем я вообще возился с меткой ICODE.

Я хочу сделать NFC.cool самым мощным NFC-приложением, какое только можно поставить на телефон. Этим летом на очереди были NTAG 424 DNA, метки, которыми бренды доказывают, что товар настоящий. После них самым большим семейством чипов, с которым приложение толком не умело общаться, оставалось ICODE от NXP. С выходом NFC.cool Tools 7.1.0 этот пробел закрыт.


ICODE: метки, которые ты держал в руках, сам того не замечая

Если за последние двадцать лет ты брал книгу в библиотеке, то почти наверняка держал в руках метку ICODE. Она выглядит как плоская наклейка со спиральной антенной, приклеенная изнутри к обложке. Такие же чипы прячутся в противокражных наклейках в магазинах, в бирках для прачечных и в товарных этикетках.

Формально они относятся к стандарту ISO 15693, а в терминологии NFC их называют Type 5. NFC-наклейки, которые покупает большинство, вроде NTAG215, работают по другому стандарту. Мне нравится сравнение с двумя радиостанциями в одном диапазоне: iPhone ловит обе, но вещают они на разных языках.

Библиотеки и магазины выбирают ICODE из-за дальности. Большая антенна в рамке на выходе из библиотеки или на кассе самообслуживания считывает такие метки с большего расстояния, чем обычную NFC-наклейку. Телефон всё равно приходится подносить вплотную, потому что антенна у iPhone крошечная, но сам чип создавали в расчёте на такие рамки.

Считать ссылку или текст с метки ICODE и раньше было несложно. Самое интересное лежит глубже: пароли, счётчик, флаг защиты от краж, режим конфиденциальности. До сих пор эта часть чипа оставалась для NFC.cool недоступной.


Что NFC.cool умеет с меткой ICODE 3

ICODE 3 появился в семействе NXP последним и пришёл на смену ICODE SLIX2. В интернет-магазинах его часто продают под названием «SLIX 3». Чипа с таким именем у NXP нет, так что если в объявлении написано SLIX 3, перед тобой ICODE 3.

Открой NFC.cool, поднеси iPhone к такой метке, и увидишь полную картину: что за чип перед тобой, сколько у него памяти, что на счётчике и получил ли он отметку Оригинальный NXP. NXP ещё на заводе подписывает идентификатор каждого чипа, а приложение проверяет эту подпись, так что копия с тем же идентификатором её не подделает.

Дальше можно изменить почти всё, что предлагает чип:

  • Счётчик касаний. ICODE 3 умеет сам считать каждое чтение. Включи NFC-зеркало, и чип будет подставлять свой идентификатор и текущее значение счётчика в сохранённую ссылку. Тогда каждое касание открывает чуть другой адрес, и сайт может эти касания посчитать. Если ты читал про счётчик касаний NFC, здесь та же идея, только на другом чипе.

  • Пароли. У ICODE 3 их шесть: на чтение, на запись, на режим конфиденциальности, на уничтожение, на настройки защиты от краж и на конфигурацию. Все метки выходят с завода с одинаковыми значениями, так что защита начинает что-то значить, только когда задашь свои. NFC.cool хранит пароли в Связке ключей iCloud, отдельно для каждой метки.

  • Защита памяти. Память можно разделить на две части и защитить каждую отдельно. Например, оставить публичную ссылку доступной для чтения, а данные, записанные после неё, спрятать.

  • Защита от краж и библиотечные настройки. Из-за флага EAS пищит рамка на выходе из магазина или библиотеки. Байтом AFI библиотеки отмечают, что книга выдана. Оба можно изменить, а можно и заблокировать.

  • Режим конфиденциальности. Метка скрывает свой идентификатор и данные, пока ей не предъявят пароль конфиденциальности.

  • Обнаружение вскрытия на версии SL2S3003TT. У неё есть проводящий контур, который можно протянуть через крышку бутылки или пломбу на коробке, а приложение покажет, нарушали ли пломбу хоть раз.

  • Собственная подпись. Бренд может заменить подпись NXP своей и заблокировать её.

  • Уничтожение. Чип отключается навсегда, чтобы защитить конфиденциальность, когда товар отслужил своё.

Часть этих настроек необратима, а после некоторых до метки уже не достучаться с iPhone. Поэтому перед любым действием, которое нельзя отменить, NFC.cool просит ввести последние четыре символа идентификатора метки. А ещё приложение откажется менять любую метку, кроме той, с которой ты начал. И всё равно я бы пробовал всё новое сначала на запасной метке.

Одну мелочь я поправил по ходу дела: теперь чистую метку ICODE можно прямо в приложении отформатировать в NDEF, и на неё сразу можно записать ссылку или текст.


Остальные чипы семейства

Приложение определяет, какой чип у тебя в руках, и предлагает только то, что этот чип действительно умеет. Старый SLIX покажет меньше вариантов, чем ICODE 3, просто потому что у него меньше возможностей.

  • SLIX, SLIX-S, SLIX-L, SLIX2 и более старые чипы SLI встречаются в большинстве библиотек, на них там всё и держится. У SLIX2 есть счётчик и защита памяти. SLIX-S защищает память постранично и поддерживает 64-битные пароли, и тогда для любого защищённого доступа нужны сразу оба пароля, на чтение и на запись.

  • ICODE DNA отвечает в семействе за безопасность. Он хранит секретные ключи AES, которые никогда не покидают чип. Введи ключ в NFC.cool, и приложение потребует от чипа доказать, что ключ у него есть. Копия проверку не пройдёт, даже если её идентификатор и память совпадают до последнего байта.

  • NTAG 5 радует меня больше всех, потому что я люблю повозиться с электроникой. Этот NFC-чип ставят прямо на печатную плату. Версия switch напрямую управляет выводами, а link и boost общаются с микроконтроллером по I2C. Они умеют питать небольшую схему от одного только поля телефона, подавать сигнал о событиях на вывод и делить с платой 256 байт памяти. NFC.cool читает и меняет эти настройки, а на NTP5332 и NTA5332 может даже общаться с подключёнными к чипу датчиками, прямо с iPhone.

Всё это находится в инструментах NFC, в разделе NXP ICODE и NTAG 5, рядом с NTAG 424 DNA. А можно просто поднести телефон к метке ICODE, и приложение само откроет сведения о ней.


Баг, который iOS не давала мне исправить

Вернёмся к моему столу и метке, которую будто бы «убрали».

Стандарт ISO 15693 даёт телефону два способа общаться с меткой. Можно указывать идентификатор метки в каждом сообщении, как имя на конверте, и тогда ответит только она. А можно сначала выбрать метку, словно повернуться в комнате лицом к одному человеку, и дальше просто говорить.

Способ с конвертом чище, поэтому NFC.cool пробует его первым. Чтобы проверить, работает ли он, приложение отправляло короткое тестовое сообщение с идентификатором. Метка отвечала, приложение делало вывод, что адресные сообщения работают, и шло дальше.

А вот чего я не знал. iOS делит эти команды на две группы: стандартные, которые понимает любой чип ISO 15693, и собственные команды NXP, те самые, что отвечают за пароли, счётчик и конфигурацию. Если адресное сообщение несёт одну из команд NXP, iOS отказывается его отправлять, и оно даже не покидает телефон. Система молча возвращает ошибку «недопустимый параметр», а для моего кода эта ошибка выглядела точь-в-точь как метка, которая ускользнула от телефона.

В моём тестовом сообщении была стандартная команда, поэтому оно проскакивало без проблем и сообщало, что всё в порядке. Каждое настоящее изменение шло через команду NXP, поэтому каждое настоящее изменение и проваливалось.

Когда я понял, в чём дело, исправление оказалось до неприличия простым. Теперь для проверки приложение отправляет одну из собственных команд NXP, причём безобидную: она просто просит у чипа случайное число. Если iOS её отклоняет, приложение переключается на выбор метки. Я снова положил ICODE 3 под iPhone, нажал Задать счётчик, и число на метке изменилось. Редко я так радовался тому, что счётчик сдвинулся с места.


Где всё это работает

На iPhone хватает встроенного в телефон NFC-считывателя. На iPad и Mac своего NFC-чипа нет, поэтому там понадобится внешний USB-считыватель NFC. Он должен передавать команды ICODE метке напрямую. Если твой так умеет, приложение читает и настраивает метки ICODE ровно так же, как на iPhone, а бага из предыдущего раздела там нет вовсе. Со считывателем, который так не умеет, память метки всё равно можно прочитать.

Приложение для Android пока ICODE не понимает.

Если у тебя в ящике лежат метки вроде библиотечных, с которыми раньше толком ничего нельзя было сделать, или плата с NTAG 5 ждёт своего проекта, обнови приложение до версии 7.1.0 и поднеси телефон к одной из меток. NFC.cool Tools есть в App Store.

Похожие статьи

12 октября 2026 г.

Я взломал чехол с экраном E-ink, чтобы iPhone мог на нём рисовать

У меня есть один из тех NFC-чехлов с экраном E-ink, которым не нужна батарейка, и родное приложение к нему мне не понравилось. Поэтому я разобрался, как чехол общается с телефоном, и теперь NFC.cool Tools 7.2.0 выводит фото, QR-коды, следующее событие, план на сегодня и напоминания на чехлы, которые работают с приложениями DeerPhoneCase, KAZAVA, Novixand или TYOHINN.

24 сентября 2026 г.

NFC-будильник для iPhone и Android: выключается, только когда отсканируешь метки

Из-за ночных посиделок с кодом я раз за разом проигрывал кнопке «Отложить», поэтому встроил в NFC.cool Tools NFC-будильник: он замолкает, только когда пройдёшь по цепочке NFC-меток, расставленных по квартире. Рассказываю, как он устроен и как я обошёл кнопку «Стоп», которую Apple добавляет к каждому будильнику.

5 сентября 2026 г.

Как записать пачку NFC-меток из таблицы

Я раздаю промокоды App Store на NFC-метках на конференциях и встречах, к этому моменту уже сотнями. Вот как я их записываю, и подойдёт это для любого списка: собери его в таблице, выгрузи CSV, перенеси файл на телефон и дай NFC.cool Tools писать метку за меткой.

Готов сканировать?

★4,5·73 500 оценок·Бесплатно