NFC: Работа с библиотекой.

Моя библиотека состоит из трех классов

NFC- родительский класс (NXP чипы должны поддерживаться от 532), который позволяет

- соединяться со считывателем

- показывать тип считывателя

- отправлять прямые команды на чип

- будить чип (эта функция необходима, т.к. после подачи питания чип "спит")


PN532

- включить антенну

- посмотреть карту без авторизации, определить её тип (Mifare только прописан)

- упрощенное считывание (возвращает все что нужно для дальнейшего использования)

- считывание блоков памяти Mifare Ultralight

- авторизация Mifare Ultralight C

- записать на вашу карту Mifare Ultralight C новый ключ.

- записать в память, mifare ultralight / ultralight C

- авторизация блока Mifare Classic

- запись блоков Mifare Classic



tryports

определяет на каком порту болтается ваш считыватель.

Ниже я приведу пример использования кода и объясню построчно чего происходит.

NFC: Работа с библиотекой. NFC, Библиотека, Работа с картами, Длиннопост

в python со знака #  -далее идет комментарий, так что строки начнающиеся с #- пропускаем.

2 - открываем соединение по COM2 (я знаю что там находится мой считыватель), он подключен через преобразователь интерфейсов moxa (ОС win определяет его как com2).

строка r.wakeup() - будит наш считыватель

следующая строка показывает информацию о считывателе (картинка ниже). Как мы видим, действительно внутренняя схема 32 версия 01, ревью 06. Далее идет в таблице идет поддержка стандартов.

После того, как чип определился и вывел инфу о себе - мы включаем антенну (turnOnRF ())

и тащим информацию о карте.

Считыватель будет ожидать карту и программа не сдвинется с места пока вы её не приложите.

Ну вот мы приложили карту, и появилась последняя табличка, в ней, показаны все доступные данные которые можно прочитать без авторизации, так же показан тип карты в моём случае это mifare ultralght C.

Последняя строка  - прошла ли авторизация (по умолчанию вы сначала должны авторизоваться перед записью) - 0 прошла авторизация 2 - не прошла 1 - что-то пошло не так. (коды в hex)

По умолчанию пароль на всех картах IEMKAERB!NACUOYF он же (если немного крутануть то получится BREAKMEIFYOUCAN!)

После записи карты старый пароль ещё будет действовать (я не стал команда setMifareUltralightCKey), вам надо отвести карту от считывателя. После "вытаскивания картриджа" пароль и настройки будут применены на карте.

NFC: Работа с библиотекой. NFC, Библиотека, Работа с картами, Длиннопост
Клонируем карты

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

Если вам известно, что какой то блок авторизации остался "заводским", то можно попытаться хакнуть карту и вытащить все данные при помощи MFCUK.

Даже если вам не известны пароли, то вы сможете получить ключ авторизации используя сниффер.

Зачем NFC хакать?

Не делайте то, что я напишу, это уголовно-наказуемое преступление. Я не несу ответственности за вас! У вас как бы своя голова должна быть.

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

Я понимаю, для моих "уроков" это маловато, но все же я не хотел бы стать предпосылкой к вашей криминальной карьере.

По поводу моей библиотеки - вы вправе копировать, распространять, модифицировать её как вам угодно, при условии, что вы оставите ссылку в исходниках на оригинальную библиотеку. Код распространяется под лицензией GNU.

ссылка на библиотеку.

https://github.com/X286/nfc_py

предыдущие посты:

http://pikabu.ru/story/nfc_blizhe_k_telu_4989630 - второй

http://pikabu.ru/story/nfc_prostyim_yazyikom_4986958 - первый

Всем спасибо за внимание. Задавайте вопросы.

Автор поста оценил этот комментарий
Мне важно, спасибо!
раскрыть ветку (1)
DELETED
Автор поста оценил этот комментарий

Уважаемый, там косячек с чипом и/или прошивкой контроллера ведущего (самой схемой ридера я не разбирался - потому что я ленивый), ты не сможешь валового прочитать карты там по моему лимит в пол сек. стоит. т.е. 1 карта в полсекунды. Быстрее - UID получишь не полный. Я как бы (недавно пытался прописать с авторизацией и перезаписью данных 100 карт через этот ридер) читайте/пишите карты не спешно. А может и в моём коде , кто знает, было то давно. Спасибо за понимание.

Автор поста оценил этот комментарий

я скопировал, но у меня простая RFID 125 kHZ

раскрыть ветку (1)
DELETED
Автор поста оценил этот комментарий

Nfc и rfid нфц стандарт передачи данных на 13.56 менагерц rfid радиочастотная идентификация. Посмотрите iso все станет более чем понятно

Автор поста оценил этот комментарий

Привет, хочу вкатится во всю эту тему и для начала сделать на основе кода TroikaDumper намутить внешний дампер из ардуины, дисплейчика и nfc модуля. Это вообще реально?

Другими словами с помощью ардуины читать, сохранять и восстанавливать записанное состояние памяти nfc модуля. Что думаешь?

https://github.com/gshevtsov/TroikaDumper

раскрыть ветку (1)
DELETED
Автор поста оценил этот комментарий

отвечаю.

Ну насчет ардуины - шилды есть- значит можно подключить.

https://www.adafruit.com/product/789

вот годный шилд для ардуино (собственно тебя должен интересовать чип который стоит в шилде). PN532полне читает все необходимые стандарты. от классической мифар до мифар плюс.

Я сам не ардуинщик ни разу (хотя эта игрушка у меня есть, на моём же GIT есть звонок дверной), писал проект 1 проект ради угара.

Есть вариант проверить шифрование (крипто1, 3дес, аес-128 или чем там шифрует тройка) и nfc-fuck(или как то так) на ардуине, возможно не хватит ей памяти, и придется расширять память. Потом загоняться по поводу покупки шилдов.

Если говорить о китайских поделиях на 31 чипе, то они не читают дес аес карты (да и много чего тоже), так же, их антенны весьма херовые (около 0.5 см. я вижу только безкорпусной вариант)

Автор поста оценил этот комментарий
Здравствуйте.

Нет желания за небольшое вознаграждение поработать над кодом под mfrc522 и Desfire EV1 для Arduino?

раскрыть ветку (1)
DELETED
Автор поста оценил этот комментарий
Спасибо за предложение, но нет. Увы сейчас у меня большой проект на работе и на сторонние разработки у меня нет сил и времени.
показать ответы
Автор поста оценил этот комментарий

Да я вот занимался робототехникой, думал, что вариант — собрать свой ридер на ардуино, запрогать, но у меня сейчас более прикладная задача... Казалось, что всё будет чуть проще. Вроде бы технология распространённая, но приходится каждый раз заново изобретать велосипед. Я пытался подобрать универсальный ридер для всех стандартов NFC и реализовывать считывание и сохранение информации на карту, ну как бы пропускной режим с отметкой времени и хранением базы данных в компьютере. Но что-то уже даже и не знаю... Ладно, спасибо за ответ :)

раскрыть ветку (1)
DELETED
Автор поста оценил этот комментарий
Из Универсального а-ля стенд разработчика https://www.adafruit.com/product/789
Дорого богато, информация полно. Для реализации в жизни дорого.
Автор поста оценил этот комментарий

Привет. Респект за проект! Я тоже взялся за проект связанный с NFC. В общем, вот хотел немного порасспрашивать... Мне нужно написать ПО для работы с ридером и картами, но я скорее в процессе обучения. Можешь, пожалуйста, немного подсказать? Думаю взять на алике ридер ACR1251-A1, но точно уверен, что без готовой библиотеки пока не обойдусь... Вот libnfc, например, будет с ним работать? Нужно что-то под виндовс. Или есть ещё какие-то варианты? Буду прям очень благодарен за информацию :)

раскрыть ветку (1)
DELETED
Автор поста оценил этот комментарий
Остались исходники

ссылка на работу ACR https://github.com/X286/ACS1281U (бибилиотека для ACR когда брал ридер в зеленограде, ошибочка была у продавца. ) так название пошло поехало. Но тебе не особо же важно да?

показать ответы
Автор поста оценил этот комментарий

Привет. Респект за проект! Я тоже взялся за проект связанный с NFC. В общем, вот хотел немного порасспрашивать... Мне нужно написать ПО для работы с ридером и картами, но я скорее в процессе обучения. Можешь, пожалуйста, немного подсказать? Думаю взять на алике ридер ACR1251-A1, но точно уверен, что без готовой библиотеки пока не обойдусь... Вот libnfc, например, будет с ним работать? Нужно что-то под виндовс. Или есть ещё какие-то варианты? Буду прям очень благодарен за информацию :)

раскрыть ветку (1)
DELETED
Автор поста оценил этот комментарий
Acr обладает мозгами, т.е. Команды на ридер будут отличаться от библиотеки которую выложил я. Под этот считыватель корректно работает pcsc или как то так библиотека под Linux. У меня первый ридер был этой фирмы 122 или типа того, и меня не устроил он, ввиду 2 причин. 1 я не имел понятия о работе считываетя и для винды нужны были драйвера, которые были без цифровой подписи, 2 мифар ключи а и б писались в ОЗУ и ПЗУ память ридер, что уменьшало количество вариантов паролей при эксплуатации. Далее был считыватель isc или как то так, обычная чёрная флешка ридер, под него я компилировал libnfc заминка была в малой антенне, что, влекло за собой очень скромные пол сантиметра считывания и плохую встраивомость в скуд старого типа, это было год назад библиотека вела себя не достаточно корректно, устраивала регулярные отвал ридера во время экспериментов со чтением и записью карт. Т.е. Циклический опрос карты, показывал плачевные результаты, мы посоветовались и решили сделать свой ридер, под который была написана данная библиотека т.е она работает напрямую с чипом pn 532. Я думаю, isc и ada fruit будут корректно с ней работать но говорить об управлении считывателем скажем электрозамком не приходится, я не тестировал и не могу вас обнадежить. Прошу прощения за ошибки и т9 пишу с телефона.
показать ответы
Автор поста оценил этот комментарий
Вопрос такой. Можно ли как-то скопировать свой пропуск на работу?
раскрыть ветку (1)
1
DELETED
Автор поста оценил этот комментарий

ну это зависит от карты на вашу работу.

Если какой нибудь Em-Marine - да можно.

если Mifare Plus - на данный момент - нет.

показать ответы