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

Electrical

Юзер
Заблокирован
Сообщения
196
Реакции
485
Нихао Rutor.

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

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

Но ведь мы не преступники, мы исследователи , и наше преступление - любопытство).

Отдельно благодарю @The_Irishman. как спонсора этого проекта.

Дисклеймер.
Мы не будем просто вводить коды , это не наш метод.

Эти методики - универсальные и адаптированы под практически все расспространенные домофоны в СНГ.

Начинаем.

1. Силово-электронный способ или комбинация тока, частоты и высокого напряжения.

Для сборки нам нужна такая компонентная база:


ферритовое кольцо (высота кольца 0,7 см, наружный диаметр 1,5-2 см, внутренний диаметр 0,5-0,7 см) -1 шт;
2 резистора 1 кОм мощностью в 0,5 Вт;
подстроечный резистор 220 Ом 0,25 Вт;
2 транзистора КТ805(можно вытащить с старой советской электроники, особенно много такого добра в усилителях звука);
2 радиатора для транзисторов + термопаста(любая, можно взять термопрокладки);
выключатель(кнопка с фиксацией) - 1 шт;
1 выпрямительный диод на 1 А;
1 конденсатор 10000 мкФ на 50 Вольт;
обмоточный провод 0,25 мм(30 метров);
провод медный однопроволочный 1,5 кв. мм (для первичной катушки);
провод 0,5 кв. мм одножильный многопроволочный (для соединения компонентов вместе);
кусок пластиковой (пооимерной) трубы 30 см от обычного водопровода (0,5 дюйма) и дощечки для изготовления подставки(фанера 4 слойная, можно взять дощечку для лепки, но я просто отжал у матери кухонную разделочную дощечку).


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

Схема устройства выглядит следующим образом:
tesla5-1.png

Деталировка с комментариями по схеме - ниже.
Screenshot_20231104-123214_Drive.jpg


Первичная катушка(та которая диаметром 60 мм, на сленге называется "первичка") - мотается однопроволочным проводом на круглой оправке (диаметром 6 см), 4 витка, оправка после изготовления катушке вынимается(может туго выходить).
Высота первички должна быть 10-15 см, т.е. первичку после намотки нам нужно растянуть до нужной нам длины.
Вторичка(вторичная обмотка) мотается 800 витков в один слой тонким проводом на трубе.
Bat1 , она же батарейка - обычная Крона(9 вольтовая батарея).

R1 устанавливаем подкруткой колеса регулировки на номинал 220 Ом(контроль через измерение мультиметром).
На биполярные транзисторы одеваем радиатор, обязательно через термоинтерфейс(термопрокладку) , плотно прижимаем, в ходе работы температура достигает по данным тепловизора - 75 градусов по Цельсию.

Далее всё собирается по схеме, которая приведена выше.


Теперь идём искать и шатать с утра, хрупкая домофон-труба.

Инструкция:
1. Устанавливаем новую Крону(можно взять 2 АКБ 18650 , но акумуляторы жалко под такое).
2. Прикладываем вывод нашей 800 витковой обмотки на расстояние в 2-3 мм от считывателя ключей, выглядит как правило вот так:
Без названия (15).jpeg

И нажимаем кнопку.
Достаточно воздействия в 1 секунду.

Как это работает?

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

Срабатывало на всех домофонах(Визит, Форвард, Цифрал и Метаком).

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

Дописываю.
 
Для сборки аппарата нам понадобится:

Arduino NANO - 1 шт.
Допустимо использование китайский клонов , по типу таких:

TYPE-C+CH9340C.jpg

Тактовая кнопка - 1 шт.
2 сопротивления на 1 и 2.2 кОм.
Провод монтажный - 2 метра хватит з головой.
Ключи болванки домофонные(125кгЦ) - 10 штук.
Светодиод (цвет любой, я беру красный) - 1 шт.

Соединяем всё по схеме:
Схема.jpg

Экспериментальным путём , установлено, что в целях улучшения качества связи, линию Data(зеленный цвет, она же логическая линия) - лучше пустить через ферритовый фильтр(продаются в магазинах электроники, в виде кольца, достаточно намотать примерно 5 витков).

После сборки приступаем к заливки прошивки.

Если мы используем "эрзац-дуино", то есть заменители - клоны, перед этим в Arduino IDE совершаем такие шаги(методика доморощенная, много пришлось перелопатить гайдов, как всегда пришлось писать свой :) ):

1. В настройках , идем в пункт "Дополнительные ссылки для Менеджера плат" и вставляем как есть:

https://cdn.jsdelivr.net/gh/nulllaborg/arduino_nulllab/package_nulllab_boards_index_zh.json

2. Отсюда: , устаналиваем драйвера для этой аппаратной платформы.

3. Выставляем вот такие параметры:

Screenshot_20231109-132336_Chrome.jpg


В поле для кода в Arduino IDE вставляем следующий код:

#include <OneWire.h> #define pin 3 OneWire ibutton (pin); // Пин D4 для Data const int buttonPin = 4; //Пин D4 Кнопка const int ledPin = 5; //Пин D5 Светодиод byte Readkey[8]; // Данные для копирования byte slu[8]; // Служебный массив byte Unikey[8] = { 0x01, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x2F }; byte crc; //Служебный байт для подсчета CRC bool buttonFlag = false; bool Tabletka = false; //Считан код для копирования bool WriteOk; //Проверка записи bool RepairKey; //Флаг необходимости восстановления ключа byte Regim = 0; /*Режим работы 0- Чтение (Релко моргает) 1- Запись универсального кода (горит, редко гаснет 2 раза) 2- Запись копии (горит, редко гаснет один раз) */ unsigned long lastUpdate[2]; void setup() { pinMode(ledPin, OUTPUT); pinMode(buttonPin, INPUT_PULLUP); // D3- подтянутый вход for (int i=0; i<sizeof lastUpdate/sizeof lastUpdate[0]; i++) lastUpdate[i] = millis(); // Инициализируем все таймеры Serial.begin(9600); Serial.println("====> Read); } void loop() { if (Regim == 0) { if (ibutton.search (Readkey)) { Tabletka = true; digitalWrite(ledPin, HIGH); delay(100); digitalWrite(ledPin, LOW); Serial.print("Читаем: "); for (byte x = 0; x < 8; x++) { if (Readkey[x] > 15) Serial.print(Readkey[x], HEX); else { Serial.print("0"); Serial.print(Readkey[x], HEX); }; if (x < 7) Serial.print(":"); } crc = ibutton.crc8(Readkey, 7); Serial.print(" CRC:"); if (crc == Readkey[7]) Serial.println("ok"); else if (crc > 15) Serial.println(crc, HEX); else { Serial.print("0"); Serial.println(crc, HEX); }; } else { //Domofon ne naiden на шине 1-Wire delay(50); }; }; if ((Regim == 1 or Regim == 2) && (ibutton.search (slu) or RepairKey)) { delay(100); if (!buttonFlag) { Serial.println(); ibutton.skip(); //Пропускает выбор устройства, т.е. сразу обращаемся к таблетке ibutton.reset(); //Сброс шины 1-Wire (необходим перед коммуникацией с устройством) ibutton.write(0x33); //Команда чтения памяти. После неё ключ возвращает 8 байт Serial.print("Было: "); for (byte i = 0; i < 8; i++) { crc = ibutton.read(); //Команда .read() считывает 1 байт if (crc > 15) Serial.print(crc, HEX); else { Serial.print("0"); Serial.print(crc, HEX); }; if (i < 7) Serial.print(':'); }; Serial.println(); }; // send reset ibutton.skip(); //Пропускает выбор устройства, т.е. сразу обращаемся к таблетке ibutton.reset(); //Сброс шины 1-Wire (необходим перед коммуникацией с устройством) // send 0xD1 ibutton.write(0xD1); //Разрешает запись // send logical 0 digitalWrite(pin, LOW); pinMode(pin, OUTPUT); delayMicroseconds(60); pinMode(pin, INPUT); digitalWrite(pin, HIGH); delay(10); Serial.print("Write Open: "); if (Regim == 1) { for (byte i = 0; i < 8; i++) { slu[i] = Unikey[i]; }; } else { for (byte i = 0; i < 8; i++) { slu[i] = Readkey[i]; }; }; ibutton.skip(); ibutton.reset(); else { Serial.print("0"); Serial.print(slu[x], HEX); }; if (x < 7) Serial.print(':'); } Serial.println(); ibutton.reset(); // send 0xD1 ibutton.write(0xD1); //send logical 1 digitalWrite(pin, LOW); pinMode(pin, OUTPUT); delayMicroseconds(10); pinMode(pin, INPUT); digitalWrite(pin, HIGH); delay(10); ibutton.reset_search(); delay(50); WriteOk = true; if (ibutton.search (slu)) { Serial.print("Ooen "); for (byte x = 0; x < 8; x++) { if (slu[x] > 15) Serial.print(slu[x], HEX); else { Serial.print("0"); Serial.print(slu[x], HEX); }; if (x < 7) Serial.print(":"); } crc = ibutton.crc8(slu, 7); Serial.print(" CRC:"); if (crc == slu[7]) Serial.println("ok"); else if (crc > 15) Serial.println(crc, HEX); else { Serial.print("0"); Serial.println(crc, HEX); }; if (Regim == 1) { for (byte i = 0; i < 8; i++) { if (slu[i] != Unikey[i]) WriteOk = false; }; if (crc != Unikey[7]) WriteOk = false; } else { for (byte i = 0; i < 8; i++) { if (slu[i] != Readkey[i]) WriteOk = false; }; if (crc != Readkey[7]) WriteOk = false; }; if (WriteOk) { Serial.println("=========== Autotest..... ok ==========="); Regim = 0; Serial.println(); Serial.println("====> Read); if (RepairKey) RepairKey = false; } }; }; LED(Regim); Knopka(); } bool timer(byte N, unsigned long Period) { bool result = false; if (lastUpdate[N] + Period < lastUpdate[N]) { if (millis() < lastUpdate[N]) { if (lastUpdate[N] + Period < millis()) { result = true; } }; } else if (lastUpdate[N] + Period < millis()) { result = true; }; return result; } void LED (byte N) { switch (N){ case 0: if (timer (0, 3000)) lastUpdate [0] = millis(); //Период else if (timer (0, 2950)) digitalWrite(ledPin, HIGH); //Зажигаем else if (timer (0, 0)) digitalWrite(ledPin, LOW); //Гасим break; case 1: if (timer (0, 2000)) lastUpdate [0] = millis(); else if (timer (0, 1900)) digitalWrite(ledPin, LOW); else if (timer (0, 1850)) digitalWrite(ledPin, HIGH); else if (timer (0, 1750)) digitalWrite(ledPin, LOW); else if (timer (0, 0)) digitalWrite(ledPin, HIGH); break; case 2: if (timer (0, 2000)) lastUpdate [0] = millis(); else if (timer (0, 100)) digitalWrite(ledPin, HIGH); else if (timer (0, 0)) digitalWrite(ledPin, LOW); break; } }; void Knopka () { bool buttonState = !digitalRead(buttonPin); if ( buttonState && !buttonFlag) { //push buttonFlag = true; lastUpdate[1] = millis(); // }; } else if (!buttonState) { buttonFlag = false; if (timer (1, 5000)) { Regim = 0; if (RepairKey) { RepairKey = false; Serial.println(); Serial.println("====> Read"); } } else if (timer (1, 2500) && Regim != 0) { Regim = 0; Serial.println("====> Read"); } else if (timer (1, 1000) && Regim != 1) { Regim = 1; Serial.println("====> Write"); } else if (timer (1, 100) && Tabletka && Regim != 2) { Regim = 2; Serial.println("====> Write"); } lastUpdate[0] = millis(); } } } int writeByte(byte data) { int data_bit; for (data_bit = 0; data_bit < 8; data_bit++) { if (data & 1) { digitalWrite(pin, LOW); pinMode(pin, OUTPUT); delayMicroseconds(60); pinMode(pin, INPUT); digitalWrite(pin, HIGH); delay(10); } else { digitalWrite(pin, LOW); pinMode(pin, OUTPUT); pinMode(pin, INPUT); digitalWrite(pin, HIGH); delay(10); } data = data >> 1; } return 0; }

И записываем код в память Ардуино.

В скетче , вместо "0x01, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x2F" , который является СЗК(стандартным заводским кодом), можно зашить также таргетно под конкретный домофон один из вышеприведенных:


{0x01, 0xBE, 0x40, 0x11, 0x5A, 0x56, 0x00, 0xBB};
{0x01, 0x00, 0x00, 0x00, 0x00, 0x90, 0x19, 0xFF}; - старые советские домофоны
{0x01, 0x53, 0xD4, 0xFE, 0x00, 0x00, 0x7E, 0x88}; // - Cyfral, Metakom
{0x01, 0x53, 0xD4, 0xFE, 0x00, 0x00, 0x00, 0x6F}; // - домофоны Vizit - до 99%
{0x01, 0x00, 0xBE, 0x11, 0xAA, 0x00, 0x00, 0xFB}; // - домофоны KeyMan
{0x01, 0x76, 0xB8, 0x2E, 0x0F, 0x00, 0x00, 0x5C}; // - домофоны Форвард
{0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3D}; // - UK-3 Cyfral
{0x01, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00}; /- Metakom
{0x01, 0xBE, 0x40, 0x11, 0x5A, 0x36, 0x00, 0x00}; - Vizit 99%
{0x01, 0xA9, 0xE4, 0x3C, 0x09, 0x00, 0x00, 0x00}; - Eltis - до 90%

Как пользоваться:

Ардуинку подключаем по USB к любому power bank или смартфону(нужно чисто запитать).
Прикладываем кабель Data и GND к считывателю ключей, нажимаем и удерживаем 3 секунды тактовую кнопку.
НА приемную катушку сэмулируется команда "service_open" которая и позволит нам открыть дверь.

Копирование без разрешения администрации Рутор запрещено.
 
Полезная штука, и довольно интересно. Единственное, надо кого-то напречь, попросить чтобы заморочились с платой и соответствующими компонентами, а с кодом и тд всё плюс минус ясно
Однозначно лайк, респект.
 
. Бодрого Утра страна .​
 
Полезная информацияDRUUUGотмечусь на ветке
 
Если есть желание продонатить проекты - пишите в ЛС, дам реквизиты.
 
КЛАСС! Пиши ещё, бро! Не секу в этом, но жуть как интересно! :)
 
Ардуинка конечно здоровая для такого проекта.

А где можно скачать модель корпуса?

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

А где можно скачать модель корпуса?

Маловато конечно кодов, и не всегда подходят, надо бы на вторую кнопку повесить запуск брута.
Ещё рисую, ноут старенький, не тянет даже Компас 3Д.
А код допилю, спасибо.
 
да ладно.. взял резко дернул и почти любой домофон открыть))
 
Есть такое со старыми дверями)))
 
Слушай а че есть магниты где ни один качек не откроет?
Да, где сила притяжения электромагнита около 50 кг и выше.
Видал на ряде домов, 24 Вольтовый электромагнит, с силой притяжения около 400 кг, там даже отжатие дверного полотна - беспонтовое занятие.
 
Нихао Rutor.

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

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

Но ведь мы не преступники, мы исследователи , и наше преступление - любопытство).

Отдельно благодарю @The_Irishman. как спонсора этого проекта.

Дисклеймер.
Мы не будем просто вводить коды , это не наш метод.

Эти методики - универсальные и адаптированы под практически все расспространенные домофоны в СНГ.

Начинаем.

1. Силово-электронный способ или комбинация тока, частоты и высокого напряжения.

Для сборки нам нужна такая компонентная база:


ферритовое кольцо (высота кольца 0,7 см, наружный диаметр 1,5-2 см, внутренний диаметр 0,5-0,7 см) -1 шт;
2 резистора 1 кОм мощностью в 0,5 Вт;
подстроечный резистор 220 Ом 0,25 Вт;
2 транзистора КТ805(можно вытащить с старой советской электроники, особенно много такого добра в усилителях звука);
2 радиатора для транзисторов + термопаста(любая, можно взять термопрокладки);
выключатель(кнопка с фиксацией) - 1 шт;
1 выпрямительный диод на 1 А;
1 конденсатор 10000 мкФ на 50 Вольт;
обмоточный провод 0,25 мм(30 метров);
провод медный однопроволочный 1,5 кв. мм (для первичной катушки);
провод 0,5 кв. мм одножильный многопроволочный (для соединения компонентов вместе);
кусок пластиковой (пооимерной) трубы 30 см от обычного водопровода (0,5 дюйма) и дощечки для изготовления подставки(фанера 4 слойная, можно взять дощечку для лепки, но я просто отжал у матери кухонную разделочную дощечку).


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

Схема устройства выглядит следующим образом:
Посмотреть вложение 1262600
Деталировка с комментариями по схеме - ниже.
Посмотреть вложение 1262609

Первичная катушка(та которая диаметром 60 мм, на сленге называется "первичка") - мотается однопроволочным проводом на круглой оправке (диаметром 6 см), 4 витка, оправка после изготовления катушке вынимается(может туго выходить).
Высота первички должна быть 10-15 см, т.е. первичку после намотки нам нужно растянуть до нужной нам длины.
Вторичка(вторичная обмотка) мотается 800 витков в один слой тонким проводом на трубе.
Bat1 , она же батарейка - обычная Крона(9 вольтовая батарея).

R1 устанавливаем подкруткой колеса регулировки на номинал 220 Ом(контроль через измерение мультиметром).
На биполярные транзисторы одеваем радиатор, обязательно через термоинтерфейс(термопрокладку) , плотно прижимаем, в ходе работы температура достигает по данным тепловизора - 75 градусов по Цельсию.

Далее всё собирается по схеме, которая приведена выше.


Теперь идём искать и шатать с утра, хрупкая домофон-труба.

Инструкция:
1. Устанавливаем новую Крону(можно взять 2 АКБ 18650 , но акумуляторы жалко под такое).
2. Прикладываем вывод нашей 800 витковой обмотки на расстояние в 2-3 мм от считывателя ключей, выглядит как правило вот так:
Посмотреть вложение 1262635
И нажимаем кнопку.
Достаточно воздействия в 1 секунду.

Как это работает?

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

Срабатывало на всех домофонах(Визит, Форвард, Цифрал и Метаком).

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

Дописываю.
По второму пункту. "здравствуйте, это лифтовая служба, откройте пожалуйста! Нам необходимо попасть в машинное помещение."

8 из 10 открывает
 
Да, где сила притяжения электромагнита около 50 кг и выше.
Видал на ряде домов, 24 Вольтовый электромагнит, с силой притяжения около 400 кг, там даже отжатие дверного полотна - беспонтовое занятие.
офигеть.. 400 кг? Так это где если не секрет такие домофоны?
 
Назад
Сверху Снизу