NFC Magic и Flipper Zero: полный гайд по magic-картам

Flipper Zero отказывается записывать дамп на китайскую карту-заготовку, и приложение NFC выдаёт ошибку верификации — самая частая причина в том, что карта не является magic-картой с перезаписываемым нулевым блоком. Обычная карта MIFARE Classic имеет заводской UID, который нельзя изменить штатными командами, поэтому без специальной заготовки полное клонирование невозможно. Проверить тип карты можно прямо на Flipper: попробуйте прочитать её и посмотреть, реагирует ли она на команды «пробуждения» magic-чипов.

В этой статье разберём, что такое NFC Magic-карты, чем отличаются поколения Gen1a и Gen2, как записать дамп через Flipper Zero и что делать, если запись не проходит. Материал носит ознакомительный характер и предназначен для работы с собственными картами и тестовыми стендами.

Что такое NFC Magic-карта

Magic-карта — это специальная версия карты типа MIFARE Classic (чаще всего 1K), у которой производитель оставил возможность перезаписывать нулевой блок сектора 0. Именно в этом блоке хранится UID — уникальный идентификатор карты, по которому многие системы контроля доступа отличают одну карту от другой. У обычной карты UID зашит на заводе и не меняется.

Такие заготовки массово производятся в Китае и продаются как «UID changeable» или «magic card». Их используют для резервного копирования собственных пропусков, тестирования считывателей и изучения протокола. Flipper Zero умеет определять такие карты и записывать на них полный дамп, включая UID.

Поколения magic-карт: Gen1a, Gen2 и другие

Не все magic-карты одинаковы. Под одним названием продаются чипы с разным механизмом разблокировки записи, и от этого зависит, как с ними работает Flipper Zero и как их «видят» считыватели.

  • 🟢 Gen1a — разблокируются специальной последовательностью команд («backdoor commands»). Пишутся легко, но считыватели с защитой могут распознать их как подделку, поскольку карта отвечает на нестандартные команды.
  • 🟡 Gen2 (часто называют CUID) — нулевой блок записывается обычными командами записи MIFARE, без «чёрного хода». Такую карту сложнее отличить от оригинала, но неправильная запись блока 0 может необратимо её «окирпичить».
  • 🟠 Gen3 / APDU-карты — управляются через команды прикладного уровня; встречаются реже и поддержка зависит от прошивки Flipper.
  • 🔵 FUID / UFUID — UID записывается один раз (или фиксируется после активации). Подходят, когда нужна однократная копия без риска случайной перезаписи.

Какое поколение у вашей заготовки, продавец часто не указывает или указывает неверно. Практический способ проверки — попробовать записать дамп на Flipper: если запись идёт через стандартную функцию записи MIFARE Classic без специальных команд, вероятно, это Gen2. Точный алгоритм определения зависит от версии прошивки Flipper, поэтому сверяйтесь с документацией вашей прошивки.

📊 Какую magic-карту вы используете с Flipper Zero?
Gen1a
Gen2 (CUID)
FUID/UFUID
Ещё не купил, выбираю

Как записать дамп на magic-карту через Flipper Zero

Перед записью нужен считанный дамп исходной карты. Flipper сохраняет его в приложении NFC. Общий порядок действий выглядит так, но названия пунктов меню могут отличаться в зависимости от версии прошивки (официальной или сторонней, например Xtreme / Unleashed).

☑️ Запись дампа на magic-карту

Выполнено: 0 / 5

Ключевой момент — полнота исходного дампа. Если при чтении оригинала часть секторов не удалось открыть (неизвестны ключи), записанная копия будет неполной, и система доступа может её отклонить. Flipper показывает, сколько ключей и секторов найдено; стремитесь к полному чтению, используя встроенные функции подбора ключей, если это предусмотрено вашей прошивкой.

⚠️ Внимание: при записи на карту типа Gen2 неверные данные в нулевом блоке (например, некорректный байт BCC — контрольной суммы UID) могут сделать карту нечитаемой без возможности восстановления. Перед записью убедитесь, что дамп получен с рабочей карты и не редактировался вручную.

После записи обязательно проверьте результат: считайте заготовку заново и сравните UID и содержимое секторов с сохранённым дампом. Если UID совпал, а данные секторов читаются без ошибок — копия готова к проверке на реальном считывателе.

Почему запись не проходит: типичные ошибки

Самая частая жалоба — Flipper сообщает об ошибке на этапе записи или верификации. Причин несколько, и они диагностируются последовательно.

  • Карта не magic — обычная заготовка MIFARE не позволит изменить блок 0, запись UID завершится ошибкой.
  • 📶 Нестабильный контакт — карта смещается во время записи; держите её неподвижно у задней крышки Flipper в зоне антенны.
  • 🔑 Неполный дамп — не хватает ключей части секторов, запись прерывается.
  • 🧱 Карта уже «залочена» — предыдущая неудачная запись Gen2 могла испортить нулевой блок.

Если заготовка новая, а запись не идёт, попробуйте другую карту из той же партии — брак среди дешёвых заготовок встречается. Также полезно обновить прошивку Flipper: поддержка magic-карт и стабильность записи регулярно улучшаются.

Сравнение типов карт для клонирования

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

Тип карты Перезапись UID Риск «окирпичивания» Обнаружение считывателем
Gen1a Многократно, через backdoor-команды Низкий Выше — отвечает на нестандартные команды
Gen2 (CUID) Многократно, обычной записью Высокий при ошибке в блоке 0 Ниже — ведёт себя как оригинал
FUID Один раз Средний Низкое
Обычная MIFARE Classic Невозможна

Для большинства задач оптимальна Gen2 (CUID): её сложнее отличить от оригинала, но запись требует аккуратности. Если считыватель примитивный и не проверяет ответы на нестандартные команды, проще работать с Gen1a.

Почему копия может не сработать на считывателе

Даже идеально записанная копия иногда отклоняется. Дело не всегда в карте — современные системы применяют дополнительные проверки.

Возможные причины: система использует криптографическую защиту (например, карты MIFARE Plus или DESFire, которые клонируются иначе или не клонируются вовсе), считыватель проверяет ответ карты на magic-команды и блокирует подозрительные карты, либо доступ привязан не к UID, а к данным в защищённых секторах, которые не вошли в дамп. Возможна и антипассбэк-логика на уровне контроллера, но это уже особенность конкретной СКУД.

⚠️ Внимание: использование копий карт для обхода контроля доступа в чужие помещения может нарушать закон и правила объекта. Работайте только с собственными картами, тестовыми стендами или с письменного согласия владельца системы.

Как проверить, есть ли у считывателя детект magic-карт

Запишите на Gen1a-карту заведомо левый UID и поднесите к считывателю. Если система вообще не реагирует на любые magic-карты, но принимает оригинал, вероятно, включена фильтрация по backdoor-командам. В этом случае попробуйте Gen2. Точное поведение зависит от модели считывателя и прошивки контроллера.

Правовые и безопасные рамки

Flipper Zero и magic-карты — легальные инструменты для исследования, обучения и резервного копирования собственных идентификаторов. Проблемы начинаются там, где копия используется для доступа к чужой собственности или обхода платных систем. Законодательство разных стран относится к этому по-разному, но несанкционированное дублирование пропусков почти везде влечёт ответственность.

Безопасный сценарий: вы делаете запасную копию своего пропуска на случай утери оригинала или проверяете защищённость собственной системы доступа. Всё остальное требует согласования с владельцем инфраструктуры.

FAQ: частые вопросы

Можно ли записать magic-карту без Flipper Zero?

Да, существуют USB-считыватели NFC с поддержкой соответствующих команд и программное обеспечение для ПК, а также Android-смартфоны с NFC (для некоторых типов карт). Flipper Zero просто объединяет чтение, подбор ключей и запись в одном автономном устройстве.

Flipper не видит magic-карту вообще — она бракованная?

Не обязательно. Сначала проверьте положение карты у антенны и попробуйте считать любую другую NFC-карту, чтобы убедиться, что модуль Flipper работает. Если другие карты читаются, а заготовка нет — вероятен брак или карта испорчена предыдущей неудачной записью (типично для Gen2).

Сколько раз можно перезаписывать magic-карту?

Gen1a и Gen2 допускают многократную перезапись; конкретный ресурс циклов записи зависит от чипа и производителем обычно не раскрывается. FUID-карты рассчитаны на однократную запись UID. На практике заготовки чаще выходят из строя из-за ошибок записи блока 0, чем от износа памяти.

Почему UID записался, но сектора пустые?

Скорее всего, исходный дамп был неполным: Flipper не смог подобрать ключи ко всем секторам оригинала. Вернитесь к чтению исходной карты, используйте функции подбора ключей вашей прошивки и повторите запись после получения полного дампа.

Отличит ли домофон или СКУД копию от оригинала?

Зависит от оборудования. Простые системы, проверяющие только UID, обычно принимают корректно записанную копию. Системы с проверкой ответов на magic-команды или с криптозащитой могут отклонить копию. Предсказать поведение конкретного считывателя без теста нельзя.