Как стать автором
Обновить

Flipper на минималках. Как мы делаем устройство для чтения и эмуляции ключей от домофонов…

Уровень сложностиСредний
Время на прочтение6 мин
Количество просмотров27K
Всего голосов 56: ↑58.5 и ↓-2.5+61
Комментарии54

Комментарии 54

нужно ещё ключи от авто начать эмулировать и цены не будет такому устройству

Для беспроводных автоключей, насколько понимаю, протоколы обмена - не публичны. Каждый автопроизводитель дрожит над собственным креативом...

Если это не современная сигнализация, можно попробовать, с флиппера теслы же открывают). Но это скорее будет запись и повторение сигнала. Вообще есть идея внедрить модуль 433мгц для подобного.

Я открывал свою Honda Civic c помощью RTL-SDR и rpiTx.
Многие заводские сигнализации с rolling key подвержены replay attack, что дало мне возможность записать 6 последовательных нажатий кнопок ключа, и вот это шестое "нажатие" принимается машиной, как родное.

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

вроде не так. объяснили что такое можно сделать и без флиппера, с помощью ноутбука со звуковой картой и куска провода.

Не совсем, все таки https://habr.com/ru/news/801611/ Там только прием сигнала элементарным детекторным приемником, который, кстати, надо еще точно настроить на нужную частоту. Передатчик еще нужен, правда устройство его может быть ненамного сложнее. Все это работает с простейшей модуляцией OOK, типа морзянки. Флиппер конечно все это может, и делает, и даже несколько посерьезнее протоколы осиливает. Но вот если использовать двунаправленый канал, и секретный алгоритм вопрос-ответ то все становиться далеко не так просто.

Собственно мой месседж @ednersky был касательно того что для авто этот вопрос сложнее технически и вызывает вопросы в правовом поле.

а от чего не взять esp8266/esp32 плату с экраном и джостиком?

Достаточно компактная плата со встроенным экраном не нашлась :(
Думаем такое на базе esp32 попробовать. И может быть экран 128x32.

.

LILGO делает несколько моделей платок с дисплейчиками

Ну у них и цена, мое почтение. За эту цену можно собрать девайс с экраном от лопаты или вообще планшет приспособить.

Это не проблема если руки прямые, и профит не очевиден. Тут экран меньше и вообще компактное, для такой задачи это плюс. Большой экран если - так это проще смартфон/планшет уже имеющийся подключить по wifi/bluettooth и не носить лишнюю лопату с собой, людям в коментах такое нравиться. И вообще говорят, что хватит трех светодиодов.

Вариантов много на самом деле

Как вариант можно отказаться от дисплея и поднять простейший HTTP-cервер + wifi. И управлять по прямому wifi подключению со смартфона.

С этими ESP32 Super mini есть засада. Некоторые экземпляры нормально прошиваются в Arduino IDE, а другие - ни в какую. Ошибка загрузки.

Пока не разобрался от чего это зависит и как бороться. Беглый поиск решения не дал.

И качество радиосвязи WiFi хуже, чем у больших плат

Как я понял, это дефект самой платы. Вот мой опыт: я купил две такие esp32-c3-super-mini платки. И не смог загрузить программу. Результатом расследование стало то, что программа загрузки зависает на очистке памяти. Затем я купил пару еще у другого продавца. Они заработали с полоборота. Для меня симптом такой, если в первый раз подключаешь плату к USB-C кабелю и на ней мигает LED, то карта хорошая. Если нет, то нет. У меня по крайней мере счет где-то 6-2 в мою пользу 8)

Вот и у меня такая же картина - покупка превратилась в лотерею.

Для некоторых плат помогает, если сначала задать кнопку Boot (около разъема usb), а потом подключить к компьютеру. Тогда чип не выполняет код, а ждёт загрузку

Я не помню как на оригинальных ESP32-WROOM, а на новых я где-то прочитал, что загрузка осуществляется таким образом: 1. подключается к току 2. нажимаем на BOOT. 3. Нажимаем на RESET и сразу отпускаем. 4 отпускаем BOOT.

Тогда платка переходит в режим прошивки. Так у меня работают (по крайней мере) esp32-c3 и esp32-s2.

Вообще-то это выглядит логично, таким образом платка загружается в режиме первоначальной загрузки (BOOT).

Кстати, для нажатия на кнопки я использую китайские палочки для еды! Деревянные. Очень удобно.

YMMV

Отвечаю сам себе.

У меня питание подается по длинной линии. Поэтому решил взять питание 12V, а на самом устройстве сделать 12V -> 5V. Сначала попробовал L7805abv. Ни хрена не работает! Что за байда? Потом внимательно посмотрел datasheet, там написано ограничение по току 0.7А. Понятно. Поставил маленькую платку с aliexpress - все заработало с пол оборота.

Где-то слышал, что ESP32 довольно прожорлив при работе с wifi. Типа 3А. Ну теперь все понятно. Век живи...

железка уже умела читать, писать и эмулировать

На мой взгляд, нужна функция обмена с другими экземплярами устройства. Скидывать файлом через usb/uart/wifi/ble на ноут/мобилу и потом на другой экземпляр. В каждой строке файла, например, "описание-адрес, кодировка, код". И потом ходить обмениваться с другими пользователями и собирать "ключ от всех дверей района"

Кстати так и планируем сделать :)

Пока можно читать ключи по одному с одного устройства на другое.

Сейчас это всё более неактуально - в новых домофонах ключи Mifare Mf3.

Используя ESP, можно прикрутить автоматический выбор ключа на основании геолокации по видимым сетям.

Почему-то в рамках проекта от одарённых людей «Multy» как «мульти» выглядит не ошибкой, а авторским штрихом. Если этот проект пойдёт в народ, сохраните, пожалуйста. :)

Совсем недавно один за одним перестали срабатывать Цифраловские ключи, которым уже под 20 лет. Те самые которые выглядят как iButton, но внутри микросхема. Местные ключники зарядили ценник на "ключ для старого Цифрала" - 250р.

В общем и целом оказалось: эти ключи прекрасно читаются ардуиной, домофон принимает далласовские ключи, цифраловский ключ можно эмулировать в болванку RW1990. Немного пришлось сломать голову и считать байты и полубайты в уме, половину отбрасывая... Из препятствий - оказалось что не все болванки RW1990 принимаются домофоном. Ключи с озона с чёрной ручкой - прекрасно работают, а с красной - домофон принимать отказывается.

В итоге за 250р я купил 10 болванок и вопрос с ключами для себя и родственников закрыл с запасом.

А какой домофон был? Cyfral ccd-2094, или более старый по типу ccd-20.

На старые уже встроенную перекодировку получилось реализовать. На болванки ds1990 пишется сразу перекодированный номер.

Но ccd-2094 пока не побеждён :(

CCD20

Если не секрет, что за цифрал у вас? Уж не 2094/tc ли?

CCD20.

А ccd-2094 - как раз у автора статьи

Просто при упоминании старого цифрала сразу подумал о нём.

Был ещё такой аппарат как 2094М:

Но к обычным 2094 отношения не имеет.

С Cyfral все похуже, можно читать и писать на спец. болванки, но эмулированный ключ домофон так и не воспринимает.

Связано это с таймингами битов. Домофон очень придирчив к ним.

Ещё интересно посмотреть, как поведёт себя девайс на домофонах Vizit, Eltis и некоторых метакомах. В этих панелях стоит фильтр, не позволяющий открывать при помощи эмуляторов и перезаписываемых ключей. Почему-то про этот факт очень мало кто рассказывает, а он есть. Принцип основан на анализе всё тех же таймингов, а также посылке команд, которые заготовка принимает, а оригинальный ключ DS1990A игнорирует. И в тех городах, где повсюду визиты (Пермь, например) это актуально.

Ещё добавлю про популярные стандарты ключей (про которые в Москве или Питере и слыхом не слыхивали, но есть города, где они едва ли не самый популярный вариант. Всякую редкую экзотику типа магнитных, оптических, резистивных, ферритовых, секрето-стражевских и других ключей не учитываем):

  • ТК. Применяется на домофонах Техком, вроде бы добрая половина Подмосковья на них сидит. Работает на частоте 13,56 МГц, но намного более тупой, по принципу больше похож на EM-Marine.

  • ISO 15693. Второй из популярных стандартов, работающий на 13,56 МГц, с Mifare несовместим. Применяется в домофонах Факториал и Уфанет, они там, к слову, с динамическим кодом. Про этот тип ключей я даже писал пост.

  • Mifare Ultralight. Из известных мне домофонов стоят на всё том же визите. Привязываются к панели и без помощи специальных устройств по типу SMKey не клонируются. Да, домофонщики наконец-то очнулись, и в новых моделях весь старый хлам типа iButton наконец-то отправили в историю.

Спасибо за информацию!

А метаком выходит к таймингам не так придирчив?

Попробую поставить тайминги точно как на ключе, но они похоже от напряжения немного плавают.

Визиты, метакомы и старые цифралы открывались банальной эмуляцией универсальных dallas ключей (наверное просто старые домофоны попадаются). Eltis вроде не встречался, надо будет ещё по городу с этой штукой погулять :) Вообще планируем отдать в МЭС на тестирование.

Mifare Ultralight вроде даже телефоном же можно скопировать...

У цифрала интересная история. Были такие панели, CCD 2094/tc:

Прошивка и часть схемотехники (но не вся) у них была позаимствована у Элтис ЦП100. Универсальные ключи к ним не подходили.

Но потом они ударились в модернизацию и выпустили CCD 2094.1:

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

В более поздних прошивках (CCD-20, CCD 2094.1 новых версий, CCD 2094.3) её наконец-то прибили.

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

Можно сделать ключ на модуле с BLE (цена 2$)+ CR2032. Данные пересылать на смартфон. Батарейки хватит лет на десять.

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

Специально зарегистрировался на Хабре, чтобы следить за твоими успехами! Раньше было уже подобное устройство, megakey называлось. Мне по работе часто приходится попадать в подъезды, а этот самый megakey перестали выпускать(стоил он в районе 5 тысяч), теперь начали выпускать ikey, но он стоит 15000, и работает в связке с телефоном через Bluetooth. Надеюсь приобрету когда-нибудь у вас готовое устройство за нормальный прайс

Да, недавно на megakey наткнулся. Только он умел только эмулировать, но не умел читать, писать и все остальное..

Надеюсь когда нибудь продам готовое устройство, естественно за вменяемый ценник)

В среде домофонщиков довольно известные штуки. Megakey хороший был девайс, если не считать пары огрехов, жаль, что перестали их выпускать.

Что же за работа такая у вас? Мусорить рекламными буклетами в почтовых ящиках?

Оказывается, у atmega328p всего 2кб оперативной (если точнее SRAM) памяти, а буфер для работы с oled 128х64, который мы решили использовать, занимает смело половину.

Не агитирую за Arduino, хочу лишь заметить, что у вас на экран выводится только текст, а для этого буфер в памяти не нужен. Есть библиотека SSD1306Ascii, которая без буфера текст на такие экраны выводит. Шрифты хранятся в программной флеш-памяти, поэтому RAM практически не задействуется. Также можно напрямую и прочие (не только текст) данные в экран писать, без промежуточного буфера.

lab401 погуглите

Смотря на громоздкость сие чуда, мне кажется лучше заменить способ управления платой и убрать дисплей. Вместо использовать кнопку и пару светодиодов (3 светодиода хватит чтобы выбрать 15 ключей). Т.е нажимая на кнопку будет меняться ключ и номер ключа на светодиодах (двоичные числа 0 0 1 = 1й ключ, 0 1 1 = 3й ключ, где 0 и 1 светодиод не горит и горит). А отладочную информацию и настройку устройства повесить на веб морду, у вас же это esp8266 как никак с wifi модулем, тем самым будет более информативная информация на смартфоне.

Желаю вам успехов!

3 светодиода это 7 ключей.

У меня к ТС один вопрос - корпуса для устройств отпечатанные столь похабно это какой-то DIY стиль или просто делалось на от...сь?

Печатались просто что-бы были, и защищали электронику.

Всё силы и время брошены на прошивку и схему устройства. Нормальный корпус будет разрабатываться потом.

А нельзя ли чтобы при открытии двери эмулятор скидывал по очереди все ключи? Можно было бы избавиться от дисплея и энкодера

У некоторых домофонов есть защита от перебора ключей. После нескольких неудачных попыток панель блокируется.

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

иначе проще такими ключами обойтись aliexpress.ru/item/1005006417672172.html
для контактных ключей только не нашел пока такой

классный проект! а код закрытый?

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

У меня есть проект для ещё одного одарённого школьника.
Вычисление координат по фазам Солнечного освещения.
https://habr.com/ru/articles/687640/

Это всяко лучше чем участвовать в бессмысленных инициативах школьных преподов для оформления им надбавок к зарплате за "халтуру".

Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации