Универсальный чип для домофона. Как обмануть домофон компании Cyfral. Домофонные ключи на Сокольнической линии

Существует достаточно распространенное дилетантское мнение, что внутри домофона располагается магнит, который и открывает дверь при контакте с замком. Однако это далеко не так! Устройство ключа домофона намного сложнее – ключ представляет собой постоянно запоминающее устройствос находящимся внутри него кодом (серийным номером). Когда ключ подноситься к месту считывания на домофоне, происходит считывание информации с энергонезависимого устройства памяти ключа и домофон отпирает замок.

Принцип работы ключа домофона в подробностях

Принцип работы ключа домофона следующий. Постоянно запоминающее устройство представляет собой энергонезависимую память TouchMemory определенной марки, которая «обменивается» информацией с домофоном при помощи так называемой шины One-Wire. При этом, особенности данной шины таковы, что она позволяет не только общаться с несколькими устройствами, но и передавать питание для них при помощи одного единственного «провода». Для этого в ключе домофона встроен конденсатор (емкостью около 60 пкф), который и обеспечивает кратковременное питание постоянно запоминающего устройства в момент его «общения» с основным блоком домофона. С этой целью основное устройство генерирует сигнал логической единицы не реже, чем каждые 120 мкс, для обеспечения оптимального заряда конденсатора и питания микросхемы памяти ключа.

Принцип работы шины One-Wire

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

Если данный импульс очень длинный – основной модуль воспринимает это как короткое замыкание и не принимает действий, а в противном случае – выдает сигнал на чтение памяти ключа.

Механизм передачи логического «нуля» и «единицы»

При взаимодействии с пассивным устройством ничего не остается, кроме как занулять логическую единицу на землю. Но в ключе от домофона данный процесс организован особенно. Так, если происходит передача логической единицы, то происходит кратковременное зануление, длительностью около 1 микросекунды, а если происходит передача логического нуля – то длительность зануления становится заметно дольше. Такой процесс взаимодействия организован еще и для того, чтобы обеспечить зарядку встроенного конденсатора и, соответственно, обеспечения питания.

Взаимодействие ключа и домофона

После того, как процесс взаимодействия ключа и домофона налажен, домофон выдерживает небольшую паузу и начинает генерировать импульсы для считывания информации с ключа. Всего таких импульсов генерируется 64 и, таким образом, осуществляется прием 64 бит информации. При этом задачей ключа является лишь правильно сопоставление длительностей: если ключ желает передать логический ноль, то он на некоторое время зануляет шину, а если логическую единицу – просто отмалчивается. Дальнейший анализ информации выполняет домофон.

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

Ответы на ваши вопросы!

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

Заключение

Учитывая всю сложность взаимодействия ключа и основного блока домофона, изготовление дубликата такого ключа – задача непростая. При утере ключа следует обратиться в фирму, которая производила установку домофона, или в специализированную компанию, которая занимается изготовлением дубликатов. При этом, с собой следует иметь ключ, дубликат которого необходимо изготовить. Если же злоумышленники подобрали код к домофону подъезда, незамедлительно необходимо провести перекодирование ключей. Следует помнить, что безопасность жилища лежит на плечах проживающих в нем жильцов!

Ты потерял ключи от домофона и не можешь сделать дубликат. Хочешь ходить в гости к подруге, но у тебя нет ключей от её подъезда. Либо просто тебе нужно подосрать твоему недругу, но ты не можешь попасть к нему в дом, тогда эта статья для тебя.

Пара слов о принципе работы…
Бытует мнение, что в таблетках от домофона находится магнит, и он открывает дверь. Нет, это не так. Таблетка представляет собой ПЗУ, с жёстко зашитым в ней ключом. Называется это ПЗУ — Touch Memory, марки DS1990A. DS1990A — это и есть марка домофонных ключей. Общается с домофоном по шине one-wire (однопроводной интерфейс). Эта шина разработана фирмой Dallas и позволяет общаться двум устройствам всего по одному проводу. Если устройство пассивное (как в нашем случае), то оно ещё и передаёт ему питание по этому проводу. Надо ещё заметить, что необходим ещё общий провод (чтобы цепь замыкалась), но, как правило, все земли устройств подключённых к этой шине соединены воедино. В ключе находится конденсатор на 60 пикофарад, который обеспечивает кратковременное питание ключа на момент ответа. Но ведущее устройство должно постоянно (не реже чем в раз 120 микросекунд) генерировать сигнал единицы, для зарядки этого конденсатора, чтобы ПЗУ в таблетке продолжало питаться.

Внутреннее устройство таблетки

Организация шины One-wire
Шина One-wire работает следующим образом. Есть ведущее устройство Мастер, и ведомое устройство, в нашем случае пассивный ключик. Основные сигналы генерирует мастер, сигналы логической единицы и нуля. Ведомое устройство может только принудительно генерировать сигналы нуля (т.е. просто просаживать шину на землю через транзистор). Упрощённая схема ведущего и ведомого устройства показана на картинках.

Схема мастера

Если взглянуть на схему, нетрудно заметить, что по умолчанию у мастера стоит всегда +5 вольт, а ля логическая единица. Для передачи логического нуля мастер через транзистор замыкает шину на землю, а для передачи единицы — просто размыкает. Это сделано для того, чтобы обеспечить питание ведомого устройства. Ведомое устройство сделано аналогично, только оно не генерирует +5 вольт. Оно может только просаживать шину на землю, тем самым, передавая логический ноль. Логическая единица передаётся просто «молчанием» устройства.

Протокол работы
Сразу можно однозначно заметить, что парадом правит только Мастер, сам ключик DS1990A либо удерживает землю (мастер её сам выставляет шину в ноль), либо просто отмалчивается, в случае, если он хочет передать единицу, то он просто молчит. Смотрим рисунок.

Пример чтения домофоном ключа.

После генерации ключом импульса PREFERENCE, мастер девайс выжидает некоторое время и выдаёт команду на чтение ПЗУ, обычно это код семейства, в нашем случае 33H. Обрати внимание, как сделана передача нуля и единицы. В любом случае импульс «роняется» на землю, но если передаётся единица, то он быстро восстанавливается (около 1 микросекунды), если же должен быть ноль, то импульс некоторое время «висит» на земле, затем возвращается опять в единицу. Возвращение в единицу нужно для того, чтобы пассивное устройство постоянно пополняло энергию конденсатора, и на ней было питание. Далее домофон выдерживает некоторое время и начинает генерировать импульсы приёма информации, всего 64 импульса (т.е. принимает 64 бита инфы). Ключ лишь должен правильно сопоставить длительности. Если он хочет вывести ноль, то он удерживает шину некоторое время в нуле, если же нет, то просто молчит. Всё остальное за него делает домофон.

Содержимое ключа DS1990A.
В домофонах, и просто устройствах, где для открытия дверей используется подобные устройства, применяется ключ стандарта DS1990A. Это устройство представляет собой 8-ми байтовое ПЗУ, с информацией записанной лазером.


Схема дампа ключа.

В младшем байте содержится код семейства. Для DS1990A он всегда будет равен 01h. В шести последующих байтах содержится серийный номер ключа. То самое сокровенное, что идентифицирует ключик. Последний байт называется CRC, это контроль чётности, обеспечивающий подлинность переданных данных. Он вычисляется из семи предыдущих байт. К слову заметить, что это не единственный стандарт. Существуют перезаписываемые ПЗУ, на которых можно носить информацию, также есть ключи шифрования. Но всё многообразие таблеток Dallas просто нереально рассмотреть в рамках одной статьи, о них можно почитать на диске.

Физическое устройства ключа.
Наверное, всё вышесказанное отбило всякое желание заниматься эмуляторами ключей, ведь ключ надо прочитать, а это такой геморрр. Оказывается нет! Производители Dallas позаботились о нас и всю необходимую для нас информацию разместил непосредственно на ключе, при том в шестнадцатеричной системе! Она выгравирована на нём и её вполне можно прочитать, а потом в дальнейшем зашить в наш замечательный эмулятор.

Морда ключа

Нас интересует из всей этой информации следующее:

CC = CRC — это байт контроля чётности 7-й байт в прошивке
SSSSSSSSSSSS = двенадцать ниблов //нибл = 1/2 байта// серийного номера, т.е. самого ключа в хекс кодах.
FF = код семейства, в нашем случае равен 01h — нулевой байт нашего ключа.

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

Эмулятор.
Вот и дошли мы до самого вкусного — эмулятора ключей от домофона. Сначала я нашёл на каком-то сайте готовый эмулятор, зашил его в свой АТ89С51 и он не заработал (что не удивительно). Но это не спортивно юзать чужие прошивки и отлавливать чужие, специально оставленные, баги в коде. По сему я начал делать свои эмуляторы и писать под них свои программы. В общем, я попробовал сделать эмулятор на 6 различных микроконтроллерах, разных архитектур, принадлежащих двум семействам AVR и i8051, все производства Atmel. Заработал не на всех, и программ было написано уйма. По началу ставились вообще наполеоновские задачи сделать универсальный эмулятор с возможностью подборки ключа, но потом я оставил эту затею в силу её геморойности и бессмысленности, пусть ей займутся другие люди, кого заинтересует данная статья. Но себестоимость эмулятора, не считая затраченных трудов меньше 70-80 ре, можно даже уложиться в 30 ре, если делать, например на ATtiny12.

Принцип действия эмулятора.
Мы достаточно подробно рассмотрели принцип работы домофона, и соответственно не составит большой проблемы описать алгоритм программы эмулятора DS1990A. Смотрим внимательно диаграмму, и думаем, что надо сделать. А делать надо следующее. Висящая в воздухе нога микроконтроллера (пока не присоединена к земле, импульс ресета) будет считаться контроллером логической единицей. Значится так, мы после подачи питания на котроллер должны ждать того пока наша ножка не уйдёт на землю, а ля в ноль. Как мы услышали ноль, радуемся, ждём некоторое время и переводим порт из режима чтения в режим записи. Затем роняем шину в ноль, и держим её некоторое время — генерим импульс PRESENCE (длительности импульсов смотри в даташите). Дальше снова переводим шину в режим чтения, и ждём что же нам скажет мастер — домофон. Он нам скажет команду чтения, состоящую из 8-ми бит. Декодировать её не будем, т.к. в 99,999% случаев он нам скажет команду дать свой дамп, а ля 33H, просто отсчитываем 8-мь импульсов и не паримся. Дальше ждём. И начинается самое сложное и интересное — надо быстро смотреть, что нам говорит домофон и отвечать ему тоже быстро. Нам нужно побитно выдать серийный номер, состоящий из 8-ми байт, о которых я говорил выше. Я это делал следующим образом (не важно, какой микроконтроллер, принцип везде один будет), загружал байт в какой-нибудь свободный регистр, и сдвигал его вправо, и смотрел бит переноса. Как только домофон роняет шину в ноль, то если у меня флаг переноса установлен в еденицу, то я просто отмалчиваюсь на этот импульс, и жду генерации следующего импульса чтения бита от мастера. Если же у меня во флаге переноса находиться ноль, то после того как домофон уронит шину на ноль, я перевожу порт микроконтроллера в режим вывода и принудительно удерживаю шину в нуле некоторое время, потом отпускаю и обратно перевожу порт контроллера в режим чтения. По длительности импульса в земле устройство мастер понимает, передана была ли ему единица или нуль. В принципе всё, дальше домофон должен радостно запипикать и открыть дверь.

Практика.

Плата тестер. Видня надпись dallas.

После небольшого гемороя и войны с отладчиком получился код. Вот пример кода вывода данных домофону на AT89C2051. (Вообще AT89C2051 это хоть и популярный, но устаревший контроллер. Один из первых которые я программировал. Периферии минимум, памяти тоже всего ничего. Шьется только высоковольтным программатором. Хотя есть его новая замена AT89S2051 его уже можно прошить внутрисхемно через какой нибудь AVR ISP, а может и через AVRDUDE — не проверял. Самое любопытное в том, что он совместим по ногам с ATTiny2313 так что код можно портировать и на Тиньку. прим. DI HALT)

DI HALT:
Этот адов код мы писали в с Длиным в далеком 2006 у него в квартире. Уржались до икоты над своими тупняками. Я тогда еще впервые пощупал AVR. Сидел фигачил на совершенно незнакомом мне ассемблере процедуры чтения из EEPROM, Длиный же ковырял демоплатку для своего будущего эмулятора. Особо запомнился мой прикол с вачдогом, когда у меня МК сбрасывался во время записи в ЕЕПРОМ и выпиливание микросхемы i2c памяти из платы с помощью отрезного круга. Эх… ничо, сгоняю в Москву мы снова отожгем!

;======================================== ; Выдача в линию серийника; in: R0- адресс где лежит серийник с типом таблетки и CRC8 ; USES: A,B,R0,R1,R2 ;======================================================== DEMUL_SendSer: mov R2,#8 SS3: mov ACC,@R0 mov R1,#8 SS2: JB TouchFuck,$ ;ожидаем, когда шину уронят в ноль 1->0 RRC A ;C:=A.0; shift A; mov TouchFuck,C ;TouchFuck:=C; MOV B,#9 DJNZ B,$ ;Delay 20 us setb TouchFuck JNB TouchFuck,$ ;цикл пока 0 DJNZ R1,SS2 inc R0 DJNZ R2,SS3 ret ;=======================================================

Результаты.
В результате я получил множество эмуляторов. Правда, некоторые ещё из них надо доводить до ума. Хотя несколько 100% рабочие. Примеры эмуляторов ты можешь поглядеть на фотках.



Фотографии эмуляторов

Наиболее интересна проверка CRC, которая осуществляется домофоном. Тебе понадобится это, если ты захочешь поставить Dallas замок например на свой комп. Пример рассчёта CRC на A89C2051 (хотя данный код будет работать на всех микроконтрерах семейства i8051.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 DO_CRC: PUSH ACC ;save accumulator PUSH B ;save the B register PUSH ACC ;save bits to be shifted MOV B,#8 ;set shift = 8 bits ; CRC_LOOP: XRL A,CRC ;calculate CRC RRC A ;move it to the carry MOV A,CRC ;get the last CRC value JNC ZERO ;skip if data = 0 XRL A,#18H ;update the CRC value ; ZERO: RRC A ;position the new CRC MOV CRC,A ;store the new CRC POP ACC ;get the remaining bits RR A ;position the next bit PUSH ACC ;save the remaining bits DJNZ B,CRC_LOOP ;repeat for eight bits POP ACC ;clean up the stack POP B ;restore the B register POP ACC ;restore the accumulator RET

DO_CRC: PUSH ACC ;save accumulator PUSH B ;save the B register PUSH ACC ;save bits to be shifted MOV B,#8 ;set shift = 8 bits ; CRC_LOOP: XRL A,CRC ;calculate CRC RRC A ;move it to the carry MOV A,CRC ;get the last CRC value JNC ZERO ;skip if data = 0 XRL A,#18H ;update the CRC value ; ZERO: RRC A ;position the new CRC MOV CRC,A ;store the new CRC POP ACC ;get the remaining bits RR A ;position the next bit PUSH ACC ;save the remaining bits DJNZ B,CRC_LOOP ;repeat for eight bits POP ACC ;clean up the stack POP B ;restore the B register POP ACC ;restore the accumulator RET

Заключение.
Как видишь домофоные ключи устроенны не так просто, как кажется. Однако, съэмулировать их доступно каждому кто владеет программированием и паяльником.

DI HALT:
Дела давно минувших дней, преданья старины глубокой… Длиный — WDR! (понятно будет только посвященным;)))))

Доредакционная версия статьи из журнала Хакер

Сейчас уже трудно встретить дом, двери которого не защищены особой системой. Это замечательное устройство предупреждает от непрошенных гостей. Но что делать в случае, если забыли магнитку дома, или она перестала работать. Если это случилось в дневное время, можно дождаться пока соседи откроют дверь. А если ночью? Как открыть домофон без ключа в таком случае? Мы собрали самые лучшие советы для разрешения этой неприятной проблемы в зависимости от марки и модели домофона. Пользуйтесь!

Домофонная система – это мера безопасности, которая применяется для защиты от посторонних. Ее применяют для связи гостя с владельцем и устанавливают в загородных и многоквартирных домах или офисах.

С его помощью можно решать самые разнообразные задачи:

  • простейшая система поможет организовать вход клиентов в организацию или гостей в частное жилье;
  • организовать более сложную систему с видеонаблюдением и возможностью записывать историю событий;
  • дополнительное устройство скрытого наблюдения.

За все время использования домофонных систем их эффективность ни у кого не вызывает сомнений. Вопрос выбора – это вопрос финансовый.

Принцип работы домофонной системы

Устройство довольно простое и состоит из всего нескольких компонентов:

  • блок для вызова абонента . Он представлен в виде панели, защищенной от проникновения пыли и влаги;
  • внутренняя зона, в которую включены переговорное устройство (клавиша вызова, микрофон и громкоговоритель) и дверная станция ;
  • замок-фиксатор ;
  • абонентский комплекс . Он выполняется в виде трубки и устанавливается в квартире владельца, либо на рецепции в офисе. На ней расположены: кнопка управления, микрофон и динамик;
  • магнитка с чипом .

Переговорное устройство может быть снабжено аудио- или видеосигналом. Все элементы соединяются через коммутатор.

Домофонное устройство работает по аналогии с релейным соединением следующим образом:

  • гость нажимает кнопку «Вызов» на внешней панели;
  • происходит замыкание контактов, сигнал попадает на абонентский комплекс владельца;
  • хозяин принимающего устройства нажимает кнопку для ведения переговоров;
  • по решению владельца, он может путем нажатия кнопки разблокировать входную систему либо отказаться от приема.

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

Как открыть домофон без ключа: основные способы

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

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

А если вы владелец частного дома, и у вас попросту нет соседей? Или еще один вариант – вы вернулись ночью, и звонить кому-либо просто неприлично? В данной ситуации следует использовать код.

Не нужно пытаться силой войти в подъезд или выломать приборную панель. Это не поможет разблокировать замок. Кроме того, двери в таком случае не разблокируются изнутри, а вам придется оплачивать ремонт и двери, и домофонной системы. Могут быть применены даже административные взыскания за мелкое хулиганство.

Универсальный ключ для домофона: изготовление своими руками

К современным домофонным системам выпускают несколько вариантов ключей. Основная их задача – открытие входного замка с установленным контролем защиты. Все они запрограммированы определенным заводским шифром. Если во время эксплуатации была изменена прошивка, в таком случае помочь разблокировать систему сможет только сервисная служба. После их вмешательства необходимо будет заново программировать устройство.

Фирмы, которые занимаются программированием замков, применяют специальную технологию открытия устройств:

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

С помощью последнего можно открыть до 95% моделей. Он удобен в использовании, так как с его помощью можно быстро решить вопрос открытия дверей. Именно такими устройствами пользуются рабочие обслуживающих организаций или работники почты.

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

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

Как сделать универсальное устройство самостоятельно

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

Изготовление нового прибора занимает несколько секунд.Для этого понадобится прибор «эмулятор». Это устройство, открывающее практически все домофонные системы, за небольшим исключением.

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

Как открыть домофон известных производителей, если забыли ключи

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

Для множества аппаратов разных производителей подходит один и тот же шифр. Это касается устройств Vizit или Eltis . Но вот для новой системы Cyfral пароль не предусмотрен.

Это важно! Пароль, заложенный в программу домофонного устройства, срабатывает, даже если оно лишено карты памяти.

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


Как без ключа открыть домофон «Vizit»

Это наиболее распространенная система. Если первоначальные прошивки не менялись, алгоритм работы, как открыть домофон «Vizit», следующий:

  • 12#345;
  • *#3423;
  • *#4230.

Для новых приборов «Vizit» подойдет:

  • 67#890;
  • *#423.

Можно использовать следующие коды для открытия без ключа домофона «Vizit» (подойдет, если ранее он не вскрывался):

  • #999–двойной звонок, затем шифр сервисной панели 1234. Если данный набор не работает, будет двойной гудок. Если все хорошо — один гудок.

Если сервисный шифр неправильный, набираем не 1234, а следующие варианты:

  • 0000;
  • 3535;
  • 9999;
  • 12345;
  • 11639;
  • 6767.

Определить, правильный шифр или нет, поможет гудок: если неправильный – 2 гудка, для правильного – только 1.

Когдаменю сработало одним звонком, необходимо добавить собственный код:

  • для срабатывания замка: 2 – пауза –#– пауза – 3535;
  • затем следует добавить собственный пароль: ввести цифру 3 и прислонить чип с панели, далее # и дождаться звука срабатывания замка.

Важно! Нужно не забыть удалить все настройки из памяти сервисных настроек. Для этого следует нажать 4 # *.


Как открыть без ключа домофон «Форвард»

Изготовители данных моделей часто не размещают свою информацию в общем доступе. Известно всего три последовательности:

  • 123 * 2427101;
  • К + 1234;
  • 2427101.

Чтобы в сервисные настройки включить свой пароль, необходимо вводить:

  • 77395201 + * +0 *, прислонить чип к прибору и дважды нажать #.

Если и данная последовательность не сработала, можно набрать вместо 77395201 цифры 5755660.


Домофон «Cyfral»: как открыть без ключа

Это самые современные домофонные модели. Если не знаете, как без ключа открыть домофон «Cyfral», то следует выполнить следующий алгоритм. Он будет работать, если в подъезде есть номера квартир, которые делятся на 100.

Для открытия системы «Cyfral» необходимо нажать:

  • «В», номер квартиры, который делится на 100, далее снова на «В» (к примеру, В400В);
  • затем 2323. Если не сработало, вместо 2323 нажать 7272 или 7273.

Может еще возникнуть вопрос, как открыть домофон «Cyfral CCD2094». Он открывается несколько иначе:

  • «Вызов», затем 41, или 1410, или 07054.

Если система не сработала, следует продолжить таким образом:

  • «Звонок», далее 0000.
  • если мы попалив«Меню», но двери по-прежнему закрыты, следует нажать цифру 2.

Если стоит проблема, как открыть домофон «Cyfral CCD 20», для ее решения подойдут все способы, которые были перечислены выше.


Как без ключа открыть домофон «Eltis»

С данной системой работать без чипа достаточно сложно. Пароль может подойти не для всех устройств. Алгоритм действий следующий:

  • В 100 В 7273.

Как вариант, вводим не 7273, а 2323.

Еще один способ, как открыть без ключа домофон «Eltis»: подойдет методика, применяемая для модели «Cyfral»


Как открыть без ключа домофон «Факториал»

Модели «Факториал» можно открыть набором 000000 или 123456. Как вариант, набрать 5 и держать до появления на приборной панели текстового сообщения. После чего следует ввести 180180 и «Вызов».


Это самое редкое устройство в плане кодировки без ключа доступа. Порядок действий следующий:

  • К – 100 – 789 – короткий гудок – 123456 – 8;
  • К – 170862 – короткий гудок – 0.

Сложности с системой «Blink»

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

Коды для устройства «DomoGuard»

Это достаточно редкая модель. Для открытия необходимо набрать:

  • «С», гудок, код 669900 и «Вызов», далее номер последней квартиры в данном подъезде+1.

На табло должна появиться надпись «F-». Попадаем в сервисные настройки. После этого необходимо выполнить следующий алгоритм:

  • 080 – открыть замок;
  • 333 – запомнить пароль;
  • 071 – выключение автоматической блокировки.

Домофонная система «T-Guard»

Для данной модели следует выполнить следующий алгоритм:

  • на панели нажать «Вызов» или «Call», ввести 00000, дважды на «Вызов».

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

Система «Rainmann»

Для срабатывания устройства необходимо набрать:

  • «Ключ», шифр 987654. После звонка-набор 123456.

Если все правильно, мы попали в сервисное меню, появится на табло значок Р. Для разблокировки и открытия замка следует нажать 8.


Как открыть домофон без ключа «Метаком»: коды

Для данного устройства подойдет следующее:

  • «В» (CALL) – номер первой в подъезде квартиры – «В». На панели появится «COD». Далее 5702;
  • 65535 – «В» – 1234 – «В» – 8;
  • 1234 – «В» – 6 – «Вызов» – 4568.

Для «Метаком–20 М/Т» подойдут следующие комбинации:

  • «В»– 27 – «В» – 5702;
  • «В» – 1 – «В» – 4526 – далее для программирования прислонить к приборной панели чистый ключ (ранее не запрограммированный).

Заключение

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


В данном видео советами делятся профессионалы:

ВОЗМОЖНО ВАМ ТАКЖЕ БУДЕТ ИНТЕРЕСНО:

Как обмануть домофон компании Cyfral

Ты не силен в программировании микроконтроллеров? Ты не смог сделать дубликат ключа, как учил тебя «Хакер»? Твоя подруга смеется над тобой, когда железный болван-домофон не пропускает тебя? Не унывай — «Хакер» в очередной раз найдет для тебя решение, позволив проникнуть сквозь неприступные двери под звуки музыки.

А как же ключ от всех дверей?

В сентябрьском номере за прошлый год «Хакер» уже рассказывал о том, как самому изготовить универсальный ключ от домофонов. В качестве основной части нашего девайса мы тогда использовали хитрый микронтроллер. Но всякому ли крутому перцу охота ковыряться в ассемблере и отладчике, а также корпеть над столом с паяльником, когда за окном лето/пиво/друзья/девушка (нужное подчеркнуть)? Тем более что все чаще на просторах нашей родной страны встречаются странного вида ключи, у которых не в пример обычным вовсе нет заветного номера (как ты понимаешь, нужного для того, чтобы снять с него копию по нашему методу), зато есть загадочная надпись «Cyfral». Не будем темнить и скажем сразу, что Cyfral — это отечественный продукт, так сказать, наш ответ Чемберлену. Уделим же внимание этому девайсу и попробуем на прочность этот орешек…

Экскурс в теорию, или практика потом

За последние несколько лет идентификаторы Touch Memory DS1990 от фирмы Dallas Semiconductor заняли лидирующее место на рынке систем контроля доступа. Малогабаритные, выполненные в прочном металлическом корпусе, они смогли удовлетворить практически все запросы российских потребителей. В общем, чего рассказывать: каждый видел эти «таблетки» сотню раз. Впрочем, подделать такой ключ оказалось очень просто: достаточно было лишь считать код, зашитый в ключ-идентификатор. В 2000 году компания «Цифрал» разработала и запатентовала собственный цифровой электронный идентификатор Touch Memory Cyfral DC-2000 . Отечественная разработка была призвана устранить ряд недостатков. Она была проста в производстве, и ее быстро освоили отечественные предприятия.

В документации к контактному цифровому ключу DC-2000 (Touch Memory Cyfral) приведено следующее описание его работы: «Корпус DC-2000 аналогичен по конструкции и размерам корпусу Dallas DS1990. Он сделан из нержавеющего металла. Диаметр диска около 17 мм, толщина 5,89 мм. Полый внутри диск состоит из двух электрически разъединенных частей. В герметичную полость помещена электронная схема на кремниевом кристалле. Выход схемы соединен с половинками диска двумя проводниками. Ободок и донышко представляют собой земляной контакт, а крышечка выполняет функцию сигнального контакта.

Корпус DC-2000 — это та же самая таблетка.

Усложняем схему.

Микросхема DС-2000 работает по собственному уникальному протоколу. При контакте со считывающим устройством DС-2000 начинает выдавать циклические кодовые комбинации, состоящие из стартового и восьми информационных слов. Стартовое слово отличается от информационного количеством единиц: три единицы подряд и один ноль. Информационное слово - одна единица и три нуля.

Длительность импульса для состояния «лог.0» и «лог.1» различна.

Положение единицы в каждом информационном слове программируется индивидуально на этапе изготовления микросхемы ключа DС-2000. Примененная технология позволяет получить аж 65536 кодовых комбинаций! Выдача кодовой комбинации происходит посредством изменения тока потребления микросхемы ключа с фиксированным периодом. Причем длительность импульса для состоянии «лог.0» и «лог.1» различна, как показано на временной диаграмме.

«Страшно-сложная» схема для прослушивания нашего ключика.

Так как при чтении данных из ПЗУ в любой момент возможно нарушение электрического контакта считывающего устройства с корпусом прибора, то необходимо контролировать целостность считываемых данных. Для этой цели кодовая комбинация считывается из ПЗУ три раза подряд и сравнивается считывающим устройством (персональная ЭВМ, микропроцессорный контроллер). В том случае, если коды совпали, серийный номер считан верно. В противном случае выполняется повторное чтение данных».

Проще говоря

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

Поскольку домофон «Цифрал» только слушает ключ-идентификатор и вообще не использует какой-либо протокол обмена, путь для обхода весьма и весьма прост. Следует лишь записать тарахтение ключика, а потом воспроизвести эту запись домофону.

К несчастью, лобовое решение - магнитофон - тут не подойдет. Коэффициент детонации популярных китайских проигрывателей таков, что даже не обладающий музыкальным слухом домофон тут же заметит лажу. Что там у тебя еще есть из звукозаписывающей техники? Ну компьютер со звуковухой есть наверняка! Значит, можно записать тарахтение ключика и потом просто зажечь ее на CD. Воспроизвести запись не проблема, например, через портативный CD-плеер, который точно имеется в наличии у каждого второго твоего знакомого. Впрочем, даже если вдруг CD-плеер ты не разыщешь, сойдет и цифровой диктофон или сотовый телефон. Правда, мобила подойдет не всякая, но об этом мы расскажем далее.

Перейдем к делу: слушаем ключик

Для записи «музыки» ключей «Цифрал» нам понадобится источник питания 2,4-5 В. Можно использовать блок питания компьютера, но высока вероятность того, что он добавит в нашу запись ненужные шумы и тем самым испортит «произведение». Поэтому лучше запастись двумя любыми батарейками, которые в сумме обеспечат нам 2,4-3 В. Для тех, кто в танке, напомним, что питание +5 В можно получить как от разъема USB-порта, так и от некоторых GAME-портов, подавив шумы компьютера простейшим фильтром из дросселя и конденсатора. Далее, нам будет нужно сопротивление номиналом 1,5-2,2 кОм любого вида и исполнения. Из этих комплектующих собираем очень сложную схему из трех элементов для прослушивания нашего ключика.

Такая штука точно не помешает в кармане.

В зависимости от номинала сопротивления и напряжения питания схемы, амплитуда «цифровой музыки» составит 0,3-0,5 В на уровне постоянной составляющей 1,0-1,5 В, что позволит подать этот сигнал непосредственно на линейный вход звуковой карты.

Вот так красиво и опрятно выглядит собранный девайс.

Если в наличии имеется только микрофонный вход, как это бывает у некоторых моделей ноутбуков и у сотовых телефонов, схему придется усложнить, добавив делитель напряжения из двух резисторов, один из которых переменный. Манипулируя ручкой переменного резистора R3, следует обеспечить на микрофонном входе амплитуду сигнала порядка 0,5-1,2 мВ.

Далее включаем свой любимый звукозаписывающий софт. Лучше, конечно, что-нибудь типа Cool Edit (www.syntrillium.com), Sound Forge (www.sonycreativesoftware.com) или хотя бы Total Recorder (www.highcriteria.com). Подойдет все, что имеет виртуальные индикаторы уровня записи и позволяет на глаз выставить уровень записываемого сигнала без перегрузок звукового тракта карты. …Ну, на нет и суда нет! Можно использовать и обычную «Звукозапись» из стандартного набора Windows, хотя в этом случае, возможно, придется сделать несколько записей, чтобы подобрать приемлемый уровень.

В используемой программе выбираем источник сигнала (тот, куда мы подключились: «Микрофон» или «Линейный вход»), после чего записываем обыкновенный звуковой файл с расширением WAV с параметрами: PCM 44100 Гц, 16 бит, моно длительностью 1-2 минуты без применения какой-либо компрессии сигнала. В принципе для домофона хватило бы и 5 секунд, но такой запас просто позволит в нужный момент действовать без излишней суеты. В случае если ты хочешь сделать запись при помощи мобильника, нужно позаботиться, чтобы тот умел захватывать звук через гарнитуру. Тут, конечно, придется отрезать сам микрофон от гарнитуры, а если жалко — спаять отдельный провод с разъемом и прицепить его к выходу делителя. Но это реально!

Двигаемся далее

Итак, искомый файл или несколько WAV-файлов от разных ключей получены! Самое время прожечь их на компакт-диск в виде музыкальных файлов cda, в чем нам поможет всем известная Nero (www.nero.com) или любая другая аналогичная программа. Можно записать и просто как WAV-файлы, если CD-плеер поддерживает такой формат. При записи в формате mp3 кодовая информация может быть утеряна в процессе сжатия, в этом случае надо выставить опции максимального битрейта и максимального качества формируемого mp3-файла. В окне Cool Edit форма сигнала при этом остается неискаженной, но, как это воспримет домофон, я не в курсе. Если при записи в мобильник применяется алгоритм сжатия с потерями, затеянный фокус, скорее всего, не удастся, но попробовать все равно стоит. В крайнем случае WAV-файл можно сформировать на компьютере, а в мобилу затаскивать как качественный mp3 через Data-кабель, IRDA или Bluetooth. Количество вариантов здесь довольно велико, все зависит от используемой мобилы. Возможно, даже придется сваять простенький мидлет на Java. К счастью, даже в стандартной поставке J2ME Wireless Toolkit 2.2 beta 2 есть пример закачки и воспроизведения музыки в формате WAV. Если тебе это кажется нереальным, два готовых мидлета прилагаю. Тебе останется только раззиповать jar-файл, положить в архив свой WAV-файл ключа под именем my_key.wav (или my_key_X.wav, в папку audio), зазиповать все это обратно и должным образом втащить в мобилу. Сам файл ключа не должен быть очень большим - могут возникнуть траблы при закачке. Секунд 5-10 вполне достаточно, тем более что мобила будет проигрывать его непрерывно по кругу.

Пора действовать

Ну что, откроем пару дверок? Вместо наушников, припаиваем к шнурку с разъемом сопротивление номиналом 680-820 Ом для согласования со схемой считывающего устройства домофона «Цифрал». Оба канала стереофонического кабеля включаются параллельно, согласно приведенной схеме. Нагрузка величиной 680-820 Ом значительно превышает сопротивление распространенных наушников и выход плеера перегрузить не должна, если, конечно, кривые руки не спаяли что-нибудь накоротко, но производители чаще всего заботятся о дураках, и есть надежда, что в плеере или мобиле применена защита выхода от короткого замыкания.

Чтобы иметь некоторую уверенность в успехе, выход CD-плеера или мобильника должен развивать на нашей нагрузке переменный сигнал амплитудой не менее 0,5 В. Если есть возможность воспользоваться осциллографом, посмотри амплитуду сигнала на нагрузке. В противном случае придется покрутить регулятор выходного сигнала CD-плеера в полевых условиях у вожделенной двери. Впрочем, вероятность успеха весьма велика — у меня, например, безо всяких настроек дверь открылась сразу при максимальной громкости.

Программы типа Cool Edit и Sound Forge позволяют увидеть форму сигнала и без осциллографа. Можно также заюзать различные софтварные осциллографы, использующие железо звуковой карты. Количество таких программ, разбросанных на просторах Сети, весьма велико. В любом случае правильная форма записанного сигнала должна ориентировочно соответствовать приведенной на рисунке.

Если выбросы сигнала, указанные на рисунке цветными кружками, значительны и пересекают линию нулевого уровня, то, вероятно, запись сигнала придется повторить с другим уровнем записи или отредактировать сигнал вручную, уменьшив амплитуду выбросов. Но в подавляющем большинстве случаев необходимое качество WAV-файла достигается с первого-второго раза даже при весьма средних параметрах самой звуковой карты (я лично юзал древнюю ESS-1868).

Упрощаем отладку

Чтобы не торчать уйму времени у домофона, напоминая озабоченного террориста, для отладки можно использовать простенькую софтину CYF_KEY.COM, которая позволяет считывать коды ключей через LPT-порт компьютера.

Для аппаратного обеспечения программы необходима схема компаратора или триггера Шмитта, запитываемая от напряжения +5 В разъема USB-порта или GAME-порта. Подобные устройства в недавнем прошлом широко применялись в схемах популярных 8-битных компьютеров типа «Синклер», РК-86, «Орион», «Микроша» для ввода программ и данных, записанных на магнитофонные кассеты. Простая схема такого устройства приведена на рисунке. Если со сбором подобной схемы у тебя возникают траблы, можно попробовать обойтись более простой конструкцией, но в этом случае придется подобрать резистором R2 постоянное смещение на входе Busy порта принтера.

Программа CYF_KEY.COM использует прямое обращение к таймеру и портам ввода-вывода, поэтому запускать ее следует из-под голого DOS’а, благо небольшой размер программы позволяет ей поместиться на системной дискете. При правильном определении кодов ключей программа выводит их список, при сбоях или ошибках в сигнатуре ключей возможно отображение символа «E» (Error). Для того чтобы убедиться в работоспособности аппаратной части, программу необходимо запустить на двух разных компьютерах, соединив между собой их выходы Strobe с входами Busy и запустив одну из программ в режиме чтения ключа, а другую - в режиме эмуляции ключа из файла.

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

Наводим марафет

Для сопряжения с лузой лучше смастерить простую конструкцию, позволяющую не лезть к домофону с оголенными проводами в руках, да и не элегантно это. Поскольку на всю эту фигню мы не потратили пока еще даже и обрезка от бумажки с зелеными комиссарами, контакты ключа также можно выполнить в стиле «Xакера» из подручных материалов: картона, жести и любого суперклея.

При наличии прямых рук может получиться весьма симпатичный девайс. В любом случае ободок лузы — контакт общего провода (оплетки кабеля), а центральный круглый контакт — сигнальный.

К записи готов!

Включаем CD-плеер или мобильный телефон на воспроизведение файла ключа, уровень громкости максимальный. С уверенным (злым, глупым, коварным и т.д. - на выбор) выражением лица говорим волшебное слово: «Цифрал, откройся!», подключаем девайс к лузе домофона, и железный монстр с печальным звуком «Длиньк!» должен пасть! Можно, конечно, и без театральных эффектов, да и фраза - на твое усмотрение, но если уж решил поразить девушку, потренироваться следует заранее, особенно с уровнем громкости… CD-плеера (мобильника).

Напоследок

Разумеется, предложенный способ эмуляции ключей-идентификаторов «Цифрал» - самый простой. Заметим, что крутые перцы, владеющие языком программирования Java для мобильных устройств (J2ME) и обладающие навороченными смартфонами, могут сбацать универсальный ключ для любых систем, как Touch Memory Cyfral DC-2000, так и Touch Memory DS1990, без существенных аппаратных затрат исключительно программным путем, манипулируя сигналами COM-порта мобильника. Основное препятствие заключено в версии установленной в телефоне Java-машины, в том, имеет ли она развитые средства управления последовательным портом. В положительном случае аппаратно придется выполнить лишь несложные цепи согласования электрических уровней COM-порта мобильника и схемы считывания/эмуляции ключей Touch Memory.

Безусловно, все перечисленные в статье названия фирм, программных продуктов и торговых марок — неотъемлемая собственность их владельцев. Предоставленная информация нисколько не провоцирует на незаконные действия, а преследует цель указать фирмам и производителям на недостатки и дыры в их продукции, а также позволить всем простым смертным перцам (как фрикерам и хацкерам, так и не являющимся ими) не таскать с собой связки пластмассовых ключей и не рвать волосы на голове (или еще где-либо) в случае их потери. Как бы то ни было, сохрани в компьютере дубликаты, в экстренной ситуации не помешают!

DVD

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

WARNING

Материал представлен исключительно в ознакомительных целях. Автор и редакция ответственности за использование материала не несут.

Андрей «dr. Sam» Семенов

Хакер, номер #104, стр. 026

Да, это жутко избитая тема. Универсальный домофонный ключ «таблетку» делал наверное каждый второй, кто начинал изучать микроконтроллеры. В Интернете очень много и статей на эту тему, и готовых решений. Однако, интерес к этому угасать не перестаёт даже с массовым переходом на RFID. Это не удивительно, ведь многим хочется собрать такое устройство, которое выполняет не только весьма интересную задачу, но ещё и всегда с собой. К тому же оно не такое уж сложное в изготовлении.

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

Внимание! Этот ключ не позволяет нелегально проникать куда-либо. Это устройство лишь для того, чтобы носить один ключ вместо нескольких.

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

Типы домофонных ключей «таблеток»

iButton
Самый популярный тип домофонных ключей - это iButton, а именно DS1990A от компании Dallas, работает по протоколу 1-Wire. Протокол весьма хитрый, подразумевает двустороннее взаимодействие - на ключ можно отправлять различные команды, на которые он по-разному реагирует. Серийный номер имеет размер в шесть байт, что даёт 2 8*6 = 281474976710656 различных комбинаций и подразумевает, что все выпущенные ключи должны быть уникальны. Если вам повезло, и у вас оригинальный iButton, то этот номер в шестнадцатеричном виде должен быть выгравирован на нём лазером:

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

Для взаимодействия с iButton достаточно подключить его к микроконтроллеру и подтянуть линию данных к питанию (2.8-5 вольт) через резистор:

Скорее всего для многих это всё уже старо как мир, но всё-таки расскажу кратко принцип работы 1-Wire. Обмен данными происходит за счёт поочерёдного прижимания линии к земле, информация при этом кодируется длительностью таких сигналов. Происходит это примерно так:

  • Reset - мастер прижимает линию к земле как минимум на 480 микросекунд, это говорит о начале передачи данных.
  • Presence - через некоторое время ключ отвечает импульсом около 120 микросекунд, что подтверждает его наличие на линии.
  • Команда - мастер посылает команду из восьми бит, при этом логическая единица - это 1-15 микросекунд, а ноль - 60-120.

Далее всё зависит от посланной команды. Обычно это 33h - "READ ROM ", чтение серийного номера, после которого мастер читает 64 бита (1 байт - тип устройства, 6 байт - сам номер, 1 байт - CRC). Чтение каждого бита инициализируется мастером, для этого он посылает импульс в 1-15 микросекунд. Если после этого линия прижата к земле со стороны ключа на 60-120 микросекунд, то прочитан ноль, иначе - единица.

  • Нужно всегда реагировать на reset , даже если он послан во время передачи данных. Импульс длиннее 480 микросекунд говорит о том, что надо начать всё сначала.
  • Момент прикладывания ключа с его точки зрения - это тоже reset , ведь до этого питания не было. Поэтому теоретически домофон может и не посылать reset , и следует периодически отвечать сигналом presence по своей инициативе.
  • Ключи могут реагировать и на другие команды: 0Fh как альтернатива 33h, SKIP ROM (CCh), MATCH ROM (55h) и самое хитрое, о чём я расскажу отдельно ниже, - SEARCH ROM (F0h). Некоторые домофоны могут послать самые разные комбинации таких команд, чтобы убедиться в том, что ключ настоящий.
  • Бывает и обратная ситуация - домофон посылает команду, на которую ключ реагировать не должен. Дело в том, что некоторые программируемые ключи на них всё-таки реагируют, и так происходит ещё одна проверка. Необходимо полностью игнорировать всё, что идёт за этими командами, пока не будет послан reset .
  • Для отсчёта времени лучше использовать асинхронный таймер в микроконтроллере, т.к. счёт идёт на микросекунды. Однако, установка кварца при этом будет излишней.

Про SEARCH ROM (F0h) - это команда поиска всех 1-Wire устройств на шине. Дело в том, что теоретически можно подключить параллельно много ключей и получить список всех серийных номеров. В реальности для iButton такое не используется, ведь к домофону всегда прикладывается один ключ. Однако, некоторые домофоны посылают эту команду, ожидая найти один единственный серийный номер. Алгоритм весьма интересный. Каждое из устройств на шине одновременно посылает бит своего серийного номера, при чём два раза (т.е. мастер должен прочитать два бита). Сначала обычным образом, а затем инвертированным. Что же получается в итоге? Если у устройства в серийном номере стоит единица, то посылается «10». Если ноль, то «01». И всё отлично, пока у всех устройств эти биты совпадают. А если нет… Выше я написал, что при чтении наличие длинного сигнала - это 0, а отсутствие - это 1, т.е. 0 является доминантным. Таким образом, при возникновении конфликтов читаются два нуля. После получения «10», «01» или «00» мастер должен послать в линию только что прочитанный бит. В случае с «00» он таким образом выбирает, с какой группой устройств работать далее. В результате после N итераций получается бинарное дерево из N серийных номеров.
Ответить на такую команду получается несколько сложнее, чем на обычный READ ROM . Нужно посылать каждый бит дважды - обычный и инвертированный, а затем проверять - совпадает ли с ним полученный от мастера ответ, и если не совпадает, то игнорировать дальнейшие команды.

Cyfral
Ключ «Цифрал DC-2000А» - это отечественная разработка. Взаимодействовать с ними гораздо проще, т.к. они весьма глупые - не принимают никакие команды. Достаточно просто подать на ключ питание, и он сразу начнёт бесконечно посылать код, изменяя своё сопротивление. Если дать ему 5 вольт, подключив через резистор в 1 кОм, то на осциллографе можно увидеть примерно такую картину:

Ключ меняет своё сопротивление примерно между 800 Ом и 400 Ом, если я не ошибаюсь, а следовательно и потребление тока. Можно сказать, что сигнал аналоговый, а это всё немного усложняет с аппаратной точки зрения. Хотя иногда может и упростить. Например, ключ можно прочитать, просто подключив его к микрофонному входу компьютера и записав аудиофайл.

И да, домофон после этого можно открыть самым обычным MP3 плеером. Но нас же интересуют более цивилизованные методы, верно?

Кодирование немного странное. Ключ циклически посылает девять нибблов (четыре бита), меняя своё сопротивление. Если оно сохраняется низким около 50 микросекунд, то это логический ноль, а если 100 микросекунд - это единица. Но данные кодируется не логическими нулями и единицами, а положением единиц среди нулей! То есть ключ при посылке кода может выдать только одну из четырёх комбинаций: «1000», «0100», «0010» и «0001». Однако, используется ещё и комбинация «0111» как стартовая последовательность. В итоге данные от ключа могут выглядеть как-то так: «0111 1000 0100 0010 0001 1000 0100 0010 0001 », где «0111» указывает на начало. Никакой контрольной суммы нет - код просто читается несколько раз для уверенности.

Итого восемь последовательностей, в которых возможны четыре комбинации. Не сложно посчитать, что это даёт нам 65536 вариантов ключей. Не так уж и много, они явно часто повторяются. Теоретически если в подъезде 50 квартир, каждой из которых выдано три ключа, можно подобрать один из них перебрав всего 436 комбинаций. Но я таким не занимался.

Как же лучше читать ключи от Cyfral? Как я уже говорил, уровни аналоговые. Варианта два: аналого-цифровой преобразователь и компаратор. Последний мне кажется надёжнее. Всё отлично работает, если к одному из входов компаратора подключить линию данных подтянутую к Vdd резистором в 650 Ом, а ко второму - ровно половину Vdd, для чего можно использовать делитель напряжения из двух одинаковых резисторов. После этого результат вывода компаратора можно с уверенностью воспринимать как высокое и низкое сопротивление ключа.

Как же имитировать такой ключ? С первого взгляда кажется, что тоже нужно менять сопротивление, но результаты показали, что домофонам не нужна такая точность - можно смело замыкать линию на землю вместо низкого сопротивления и полностью отпускать её, когда нужно высокое.

Метаком
Ещё одна отечественная разработка - домофоны Метаком и ключи К1233КТ2. Как и Cyfral он просто бесконечно посылает код, меняя своё сопротивление/потребляемый ток. К счастью в Интернете доступна официальная документация:

Это всё, что нужно знать для работы с этим ключом. Он посылает четыре байта данных, но в каждом из них один бит уходит на проверку чётности. Итого выходит 28 полезных бит, а 2 28 = 268435456 комбинаций.

Увы, я так и не смог найти ни один такой ключ, чтобы поэкспериментировать с ним. Однако, в Интернете легко найти универсальный код, который открывает 99% домофонов Метаком. Один из них как раз в соседнем от меня подъезде. Я написал программу, посылающую этот код, основываясь только на технической документации. Соседний подъезд открылся с первой попытки. Похоже, что этому домофону тоже не так уж важно точное сопротивление. На этом я оставил Метаком в покое и решил, что чтение их ключей не так уж и нужно.

Универсальные коды ключей

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

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

Звучит как полнейший бред. Каким надо быть программистом, чтобы допустить такой баг? Но… это действительно часто работает. Да, в свежих прошивках это обычно исправлено, но многие домофоны стоят без изменений годами. Невероятно, но факт.

Любые другие коды ключей выдаваемые за универсальные - это обычно всего лишь служебные ключи для сотрудников почты, ЖКО или самой домофонной компании, и они работают только в отдельных населённых пунктах.

Создание мультиключа

Перейдём уже к практике! Да, я пытался совместить в одном устройстве и имитацию ключей, и их считывание (кроме Метаком), и синхронизацию с компьютером по USB. Вот схема того, что получилось (кликабельно):

Компоненты и их предназначение:

  • IC1 - микроконтроллер ATMEGA8/ATMEGA8A/ATMEGA8L;
  • U1 - USB-контроллер FT232RL, нужен для подключения устройства к компьютеру;
  • CON1 - miniUSB разъём;
  • BT1 - батарейки, дающие 3-5 вольт;
  • D1 и D2 - диоды (желательно шоттки), которые изолируют питание от батареи от питания от USB;
  • P1 - «таблетка» iButton, используется для подключения к домофонам;
  • P2 - контакты считывателя ключей, используются для подключения к ключам;
  • R1 - резистор, подтягивающий линию 1-wire к VCC;
  • R2 - токопонижающий резистор для управления транзистором Q2;
  • R3 - резистор, ещё сильнее подтягивающий линию к VCC для считывания ключей Cyfral;
  • R4 - токопонижающий резистор, используется для открытия Q1 и определения подключения к USB;
  • R5 - подтягивает базу Q1 к земле, чтобы закрывать его, когда нет подключения к USB;
  • R6 - токопонижающий резистор для светодиодов, достаточно одного, т.к. одновременно они не горят;
  • R7 и R8 - делитель напряжения для одного из входов компаратора, чтобы считывать ключи Cyfral;
  • Q1 - транзистор для определения подключения к USB;
  • Q2 - транзистор для включения земли на считывателе и эмуляторе, чтобы не сажать батарейки, случайно замкнув контакты в кармане;
  • C1 , C2 и C3 - конденсаторы для фильтрации питания;
  • SW1 - единственная кнопка для управления устройством;
  • LEDS - семь светодиодов в форме восьмёрочки для отображения номера ключа.

Печатная плата (кликабельно):

Это было ещё время до покупки 3D принтера, когда я проектировал устройства под корпуса, а не корпуса под устройства. Ко мне в руки попал очень приятный экземпляр в виде брелка и с кнопкой. Просто идеально, оставалось только проделать отверстия под USB и светодиоды. Увы, я до сих пор не могу найти в продаже точно такой же корпус. В итоге получилось как-то так:

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

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

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

При подключении по USB устройство видится как виртуальный COM-порт. Для простоты работы был написан клиент под Windows:

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

Исходники прошивки есть тут.

Loading...Loading...