Приветствую всех, кто интересуется темой электронных ключей. Собственно говоря, я сам уже давно не слежу за новостями в этой области. Однако, поскольку это легко повторить, и кому-то это может быть интересно, я хотел бы опубликовать информацию о прогрессе, достигнутом три года назад. Вывод: вместо десятков ключей с кодами и только кодами, все ключи можно носить с собой в одном небольшом устройстве.
Раскрытие: Я не призываю вас дублировать это, вы сами несете ответственность за его сборку и использование, я делюсь информацией только в реферальных целях. Например, если вас нашли с помощью устройства для помощи компании, обслуживающей домофон, вы успеете вовремя залатать "дыру".
1. что это такое? Что он может сделать?
Устройство, которое я собрал в 2017 году, — это просто спуфер для домофонных RFID-ключей, работающих на частоте 125 кГц. Термин "spoofer" в данном случае означает, что устройство на самом деле не является ключом, но притворяется им, и домофон реагирует соответствующим образом.
Устройство может преобразовать любой код ключа, хранящийся в его памяти. Некоторые коды можно найти в Интернете по запросу "keykey", и я ввел их в прошивку с нуля. Однако при некотором умении и желании можно включить коды всех широко используемых RFID-ключей в прошивку (если она работает на частоте 125 кГц) и заменить кучу кнопок одним устройством.
Я знаю, что в интернете есть много схем таких устройств. Моей целью было создание самой простой схемы. Вы можете судить сами.
2. какие навыки мне нужны для выполнения этой работы?
Во-первых, вам необходимо обладать навыками управления Arduino. Вам необходимо знать установленную среду разработки, как загрузить прошивку на плату, как установить библиотеки, драйверы и т.д. Следующий. В проекте есть момент, когда вам нужно застрять. Поэтому вам понадобится прямая рука и паяльник с принадлежностями. Уметь читать электрические чертежи (или знать, как они выглядят). Кроме того, навыки программирования на C++ для настройки схем. Однако это необязательно.
3. какие компоненты необходимы и как они будут собраны?
Извиняюсь за "отсутствие ГОСТа" — я drawio. Это единственная бесплатная и удобная альтернатива Visio, и в настоящее время я использую только лицензионное программное обеспечение. Однако я думаю, что все достаточно ясно.
Как вы можете видеть, спецификация базовой версии выглядит следующим образом
- Arduino Nano (или доступная Дуня), an
- RFID-ключ EM4100 (вместо индукционной катушки), а также
- n-p-n транзисторы (любые, которые вы сможете найти, частота не так высока), a
- резисторы 10K,.
- конденсаторы 560 пФ (лучше SMD, могут быть припаяны непосредственно к корпусу ключа), a
- Литий-ионный аккумулятор,.
- 3 чувствительные сенсорные кнопки,.
- OLED-дисплей с интерфейсом I2C,.
- Зарядное устройство для Lion, с
- DC-DC преобразователь с выходом 5 В.
Тестовые образцы могут быть собраны на макетной плате без пайки. Здесь не требуется никаких специальных инструкций, за исключением того, как обращаться с "самоиндукцией". Дополнительная информация.
Ключи, подобные тому, что изображен на фотографии, можно приобрести у местных мастеров или заказать на Ali. Ключ имеет крышку над корпусом ключа, которую необходимо осторожно открыть, чтобы добраться до начинки.
Он состоит из катушки и чипа памяти с двумя подушками с каждой стороны. Кабель катушки приварен к этим подушкам. Все это окружено тонким слоем резиновой термопасты (по внешнему виду и свойствам похожей на клей B7000). Чтобы получить катушки, я сделал следующее. Я взял нож и осторожно провел лезвием по кистолиту между подушкой и щепой. Я отделил микросхему от катушки и выбросил ее. Затем я аккуратно прожег термополимер на подушке припоем (чтобы не удалить тонкий кабель катушки), чтобы я мог проверить его дальше.
Перед сваркой следует измерить сопротивление катушки, чтобы убедиться, что она не сломана. Если все в порядке, то сборку лучше производить следующим образом. Сначала приклейте SMD-конденсаторы к площадкам (после ножек транзистора и, наконец, резистор к базе. Все это можно последовательно разместить на корпусе ключа. Заземление и базу транзистора нужно приваривать в последнюю очередь.
Затем закройте брелок, пробив в крышке ключа отверстие для этих проводов, придав ему почти девственный вид. Чтобы собрать их на макетной плате без сварки, приклейте контакты к кабелям (или просто прокрасьте их в достаточной степени, чтобы их можно было без проблем подключить к макетной плате).
4. прошивка, тестирование и конфигурация
Как я и обещал, вот ссылка на репозиторий проекта. Вы можете найти файл прошивки в папке My_125_KHZ_SPOOFER_V.03.
После загрузки микропрограммы устройство готово к работе. Вы можете использовать плату Arduino с китайским RFID-считывателем ключей RDM6300 (для некоторых это проще). В репозитории проекта также доступна прошивка для устройства RDM6300, позволяющая генерировать переводы кодов ключей в том же формате, который описан в прошивке Spofer. Схему подключения считывателя можно найти там же.
Серия тестов со считывателем RDM6300:.
- Поместите доступный ключ 125 кГц на антенну и проверьте, что считыватель работает (данные экспортируются в com-порт).
- Выберите интересующий вас код ключа в меню Spoofer.
- Поднесите антенну к считывающему устройству. Если считыватель считывает тот же ключ, который указан в прошивке, все в порядке! В противном случае проверьте схему, найдите ошибки, устраните их и начните с пункта 1.
5. что можно и что нельзя изменять в прошивке?
Я не понимаю, так как я основывал свою прошивку на этом коде. На отдельной вкладке functions.ino разместите важные функции, которые нельзя изменять вообще. Остальная часть программы служит только для того, чтобы предоставить пользователю удобную функцию для вызова функции эмуляции карты (и несколько строк кода до этого).
Ключи могут быть добавлены в таблицу UINT64_T UniversalID за 75 строк кода. Поскольку я не могу "побить" общее количество клавиш в памяти, а некоторые функции связаны с этой константой, добавление клавиши требует изменения лимита кей-нанса, отвечающего за выбор клавиши. Не забудьте добавить в меню свои собственные клавиши. В общем, все сыровато, но при желании, повторюсь, разобраться несложно.
6. что в устройстве можно улучшить
- Добавьте поддержку Ibutton Keys (по крайней мере, наиболее распространенных Dallas).
- Добавить ключи 13,5 МГц (либо путем переноса блоков RC522 с повторно закрытым вакуумом, либо путем фактического моделирования, что технически сложно).
- Добавьте считыватели Ibutton, RDM6300 и RC522, чтобы сделать устройство еще более гибким.
7. история создания
Это была осень 2017 года; будучи аспирантом второго года обучения, он изнывал от нерешенных вопросов самоопределения. Проще говоря, я был бездельником и искал, чем бы заняться. В конце концов, я решил завершить старый инженерный проект в ущерб учебе в университете.
Погода была фантастической. А что может быть лучше, чем сидеть где-нибудь на террасе квартиры, созидать промозглую осеннюю ночь, пить чай из теплой чашки и думать о том, что город шумит у твоих ног.
В подъезд любой многоэтажки легко попасть днем — серия Social Engineering "Hello, a study on the quality of managers’ working companies for local newspapers" работает так же идеально и как большинство из них, жильцам не нужно беспокоиться о том, что кто-то войдет вместе с ними Они не беспокоятся о том, чтобы войти. Ночью все по-другому. Я выходил на террасу на закате или ночью … У меня была проблема, которую я решил с помощью вышеупомянутых методов.
Насколько я помню, мне потребовалось много времени, чтобы найти информацию о таком устройстве, потому что мне нужно было выяснить, как его использовать, и я должен был выяснить, как его использовать. Googl по ключевому слову "взломщик домофонов" почти ничего не выдает. Я нашел то, что нужно, когда понял кое-что о технологии RFID и начал задавать более осмысленные вопросы, такие как "RFID Emulator", "RFID Multi-Key" и "RFID Spoofer".
В результате мне удалось найти две приличные статьи на английском языке на эту тему. В одном из них автор описал, как создать очень сложный донгл на базе Arduino или аналогичного устройства. Другой был тем же самым, но без исходного кода, но с очень простым материалом. Поскольку обе схемы подключены к одной антенне терминала Arduino, мы решили не ограничиваться простым материальным решением, а использовать решение с открытым исходным кодом. (Хотя вначале это было не так).
Изображение в начале этой статьи — не первая версия устройства. Изначально он был выполнен на макетной плате и управлялся через порт связи. Я помню прохожего — он стоял перед дверью многоквартирного дома с открытым ноутбуком, воспроизводил что-то на домофоне, предупреждая меня о чем-то подозрительном.
Затем было несколько небольших версий, которые я собирал и разбирал ради интереса. Предпоследний был украден одним из героев моей предыдущей статьи. Текущая версия была собрана 29 января этого года в перерыве между курсами, которые я преподаю в клубе по интересам. Он был собран только для того, чтобы убедиться, что я никого не дезинформировал и что прошивка и схема работают.