Keeloq и Двойной динамический код vs Кодграббер
Если любознательный автолюбитель задает вопрос о том, смогут ли перехватить код брелка его сигнализации и, таким образом, — угнать авто, он получает от установщика автосигнализации чаще всего такой ответ: «Код динамический (иногда добавят название алгоритма шифрования), при каждой новой посылке меняется». Обычно после этого ответа не возникает вопросов и радостный автовладелец уезжает восвояси, спокойный и довольный. Конечно не может быть и речи о спокойствии только на основании того, что автосигнализация поставлена и код у нее динамический… И речь здесь идет не о криптостойкости! — дело в том, что недостаточно одной сигнализации, — это вам скажет любой установщик.
Все специалисты и работники сервисов сходятся во мнении по следующим вопросам:
1. Желательно в дополнение к автосигнализации использовать иммобилайзер или реле, управляемое по штатной проводке, что в принципе, на данном этапе развития отрасли — одно и тоже.
3. Степень угонустойчивости чуть ли не на половину зависит от подхода к установке и профессионализма мастера. С этим трудно не согласиться!
Однако если взять вполне «приличный» и дорогой охранный комплекс, состоящий из автосигнализации, удаленного реле, висящего на штатном проводе и управляемого от сигнализации, а также, например электромеханического замка на капот Defentime (управляемого от автосигнализации), то электронный ключ от автосигнализации — это все что нужно угонщику, что бы сесть в ваш автомобиль и уехать….. Как печально! Вывод напрашивается сам собой, — трудно переоценить значание криптостойкости вашей автосигнализации !!!
В устаревших сигнализациях применялись коды с числом комбинаций до 512, Подбор такого кода занимает менее 1 минуты. Количество комбинаций кодов в современных сигнализациях может достигать нескольких тысяч миллиардов. Первая структура динамического кода была предложена итальянской компанией Autotechnica еще в 1995 году. Но подлинная революция в применении этой технологии произошла, когда компания Microchip изготовила наборы кодирующих и декодирующих устройств, сопроводив их своими руководствами по внедрению. Эта «техническая интервенция» способствовала появлению у разных изготовителей своих собственных оригинальных алгоритмов. Однако, до сих пор продукция фирмы Microrochip пользуется большим спросом, а технология «Keeloq» известна всем, кто не остановил свое знакомство с автомобилем на замке зажигания, двери и «балоннике».
Именно здесь, я сделаю отступление и расскажу автолюбителям о таком понятии, как антисканирование, — практически стандартная опция для современной автосигнализации. Под этим термином понимают то, что злоумышленник не сможет снять сигнализацию с охраны с помощью сканера. Сканер – это относительно несложное устройство, которое последовательно воспроизводит коды в формате взламываемой сигнализации. Систему с антисканированием нельзя выключить перебором кодов брелока, так как при приеме неверного кода она, на некоторое время блокируется, увеличивая время, необходимое для сканирования. Блокировка снимается многократной передачей правильного кода. При достаточно большом числе возможных кодов перебор займет нереально много времени. Технология антисканирования применяется уже несколько лет и не является новинкой. Системы с антисканированием не защищены от перехвата кодов из эфира с помощью специальных устройств (грабберов или перехватчиков кодов). Антисканирующая пауза является необходимым атрибутом и в системах с динамическим кодом.
Что же такое динамический код…
Технология плавающих кодов делает невозможным, как перехват кодов из эфира, так и их подбор. Действительный код шифруется таким образом, что при каждой передаче излучается внешне совершенно другая кодовая посылка. В приемнике действительный код восстанавливается путем математической обработки. Перехват кодов становится бессмысленным, так как невозможно предсказать какая следующая кодовая комбинация снимет сигнализацию с охраны. Простое повторение предыдущей посылки не приведет к выключению сигнализации, так как бывшие в прошлом посылки считаются недействительными. Предсказать же будущую посылку теоретически можно, только зная алгоритм шифрования кода, который держится фирмой-изготовителем в секрете и достаточное количество выборок кода для анализа. Кодовые комбинации повторяются с очень большим интервалом. Исследования модели MICROCAR 052.1 показали, что для данной модели этот период составляет более 65000 нажатий. Можно сказать что, в процессе эксплуатации, передаваемые кодовые комбинации не разу не повторяются – машина не служит 20 лет. Коды-идентификаторы брелоков автосигнализаций с плавающими кодами записываются в заводских условиях и являются уникальными не подлежащими замене в процессе эксплуатации. Технология плавающих кодов очень эффективно защищает сигнализацию от взлома с помощью электронных средств. Степень защиты от расшифровки зависит от применяемого алгоритма кодирования. Именно здесь и кроется одно большое «НО» (см. далее «Двойной динамический код»)
Рассмотрим немного подробнее, что же представляет из себя динамический код на основе все того же Keeloq
В основе технологии keeloq лежит понятие секретных кодирующих/декодирующих ключей (шифров), которые преобразуют исходную информацию в кодированную и кодированные данные в исходные.
Однако к кодирующему ключу разработчикам пришлось добавить еще несколько структур данных специального назначения. Кратко рассмотрим их.
Кодирующий (секретный) ключ 64-битовая комбинация, образуемая генерирующей функцией из серийного номера (ядра) и 64-битового ключа изготовителя. Кодирующий ключ используется для кодирования, а декодирующий для декодирования посылки. Значение ключа не может быть прочитано, и оно никогда не передается.
Счетчик синхронизации 16-битовая комбинация счетчика, передаваемая каждый раз при активации кодирующего устройства (кодера), например, путем нажатия кнопки брелока. Счетчик синхронизации формируется в кодере и передается в закодированном виде в составе переменной части посылки. Эта структура позволяет отслеживать синхронность шагов декодирующего и кодирующего устройств. Текущее значение счетчика синхронизации от каждого кодера запоминается в декодере и позволяет отличить принятую следующую посылку от предыдущей или внеочередной, созданной не в соответствии с алгоритмом.
Дискриминатор 12-битовая произвольная комбинация, передаваемая кодером в закодированном виде в составе переменной части посылки. Он используется для проверки целостности процесса декодирования.
Серийный номер уникальный номер каждого кодера (брелока-передатчика) из 28 или 32 бит. Формируется при изготовлении кодера и передается в некодированном виде в постоянной части посылки.
Каждый кодер характеризуется набором из четырех величин, описанных выше: кодирующего ключа, счетчика синхронизации, дискриминатора и серийного номера. Поскольку значения всех этих величин различны для разных кодеров, то декодер должен хранить в памяти столько наборов, сколько кодеров использует система (обычно не более 6 8).
Формирование кодирующего ключа в кодере производится специальным программатором в процессе изготовления кодера. Для генерации кодирующего ключа необходимы серийный номер и ключ изготовителя.
Ключ изготовителя 64-битовая комбинация, используемая для образования кодирующего ключа и обеспечивающая разделения всего кодового пространства посылок между разными изготовителями. Ключ изготовителя также записывается в память декодирующего устройства. Естественно, для работы со всеми кодерами системы, произведенными одним изготовителем, достаточно запоминания одного ключа изготовителя.
Для того, чтобы сигнализация могла опознать «свои» брелки, в кодовой посылке брелка и памяти декодера сигнализации содержатся одинаковые коды-идентификаторы, которые запоминаются сигнализацией при программировании («обучении») брелков. Код — идентификатор каждого брелка уникален и, чаще всего, записывается в кодер брелка при изготовлении.
Для того, чтобы код-идентификатор нельзя было перехватить из эфира, все (точнее практически все) уже передававшиеся коды нужно отсеивать, как недействительные. Кроме того, код-идентификатор и служебную информацию нельзя передавать в явном виде. Это возможно сделать, если до передачи налагать на код различные неповторяющиеся маски. Чтобы иметь возможность удалить маску при приеме, ее необходимо пронумеровать. В кодер и декодер включен т.н. счетчик синхронизации. Счетчик синхронизации содержит текущий номер маски. Каждое нажатие кнопки брелка приводит к увеличению состояния счетчика синхронизации брелка и изменению налагаемой маски. Типичная емкость счетчика синхронизации — 16 двоичных разрядов. Таким образом, брелок генерирует 65000 неповторяющихся масок.
Кодовые брелоки
Кодовый брелок сигнализации – это миниатюрный передатчик, работающий в диапазоне дециметровых волн (200…450 МГц). Реже встречаются модели, работающие на инфракрасных лучах, они отличаются малым радиусом действия.
Для сигнализаций оснащенных брелоками на ИК – лучах перехват кодов весьма затруднен из-за малого радиуса действия и направленности брелоков-передатчиков (при пользовании их приходится направлять в определенное место салона автомобиля с расстояния не более нескольких метров). Эта особенность может создавать неудобства при пользовании. Сигнализации с ИК-брелоками: BOSH Blocktronic IR-US, BOSH Blocktronic IM-US
Для передачи кода в эфир используется однотранзисторный генератор, работающий на одной из вышеуказанных частот. В современных сигнализациях, во избежание ухода частоты при изменении температуры и влажности, частота передачи стабилизируется с помощью фильтров на поверхностных акустических волнах. Для воспроизведения кода – идентификатора в брелоках используются специализированные микросхемы – кодеры, а также, запрограммированные соответствующим образом, микроконтроллеры.
Двойной динамический код
С тех пор, как код – граббер перестал быть экзотикой и доступен угонщикам, все большое значение уделяется степени секретности кодовой посылки, передаваемой с брелока. Как результат этого процесса все большее число систем выпускается с динамическим кодом. Никто не оспаривает его преимуществ. Однако и он не может считаться панацеей на все случаи. Если алгоритм изменения становится известен, (а он известен, по крайней мере, разработчику), то внедриться в систему остается делом техники. Не даром система кодировки так тщательно засекречивается и скрывается производителями сигнализаций. Для исключения и этой возможности для электронного взлома разработан так называемый D2-код, сущность которого заключается в том, что каждому брелоку, помимо разрядного номера, присвоен еще и свой индивидуальный закон изменения кода. Это индивидуальное правило записывается в декодер один раз при вводе (программировании) брелока, в эфире больше не появляется и радиоперехвату недоступно. Таким образом, даже разработчик системы, обладая всей необходимой информацией о способах кодирования и соответствующей аппаратурой, не сможет расшифровать этот код.
Модуль RC036. PICKIT 2 W. USB Программатор PIC контроллеров, микросхем памяти EEPROM и ключей KeeLOQ
Полный схемотехнический аналог фирменного программатора PICKIT 2 компании Microchip. Назначение:Простой USB программатор PICKIT 2 W для микроконтроллеров PIC, микросхем памяти и ключей KeeLOQ производства компании Microchip Technology Inc.
Программатор поддерживается Интегрированной средой разработки MPLAB-IDE, и собственной программой PICkit 2 Programmer.
При использовании с MPLAB-IDE, программатор PICKIT 2 может выполнять функцию Внутрисхемного Отладчика (ICD).
Исполнение:
Малогабаритный модуль в пластиковом корпусе с интерфейсом USB и 6-ти контактным разъёмом ICSP.
Программатор PICKIT 2 питается от USB порта компьютера.
Подключение микроконтроллеров к программатору PICKIT 2 осуществляется через 6-контактный разъём ICSP. Шаг выводов разъёма 2,54 мм. Ответные разъёмы и кабель для подключения в комплекте
Список поддерживаемых микросхем: (Версия программы PICkit 2 v2.61)
Baseline PIC:
PIC10F200, PIC10F202, PIC10F204, PIC10F206, PIC10F220, PIC10F222
PIC12F508, PIC12F509, PIC12F510, PIC12F519
PIC16F505, PIC16F506, PIC16F526
PIC16F54, PIC16F57, PIC16F59
Midrange PIC:
PIC12F609, PIC12HV609
PIC12F615, PIC12HV615
PIC12F617
PIC12F629, PIC12F635, PIC12F675, PIC12F683
PIC12F752
PIC16F610, PIC16HV610
PIC16F616, PIC16HV616
PIC16F627, PIC16F628
PIC16F627A, PIC16F628A, PIC16F648A
PIC16F630, PIC16F631, PIC16F636, PIC16F639, PIC16F676
PIC16F677, PIC16F684, PIC16F685, PIC16F687
PIC16F688, PIC16F689, PIC16F690
PIC16F707
PIC16F72
PIC16F73, PIC16F74, PIC16F76, PIC16F77
PIC16F720, PIC16F721
PIC16F722
PIC16F723, PIC16F724, PIC16F726, PIC16F727
PIC16F722A, PIC16F723A
PIC16F716
PIC16F737, PIC16F747, PIC16F767, PIC16F777
PIC16F785, PIC16HV785
PIC16F84A, PIC16F87, PIC16F88
PIC16F818, PIC16F819
PIC16F870, PIC16F871, PIC16F872
PIC16F873, PIC16F874, PIC16F876, PIC16F877
PIC16F873A, PIC16F874A, PIC16F876A, PIC16F877A
PIC16F882, PIC16F883, PIC16F884, PIC16F886, PIC16F887
PIC16F913, PIC16F914, PIC16F916, PIC16F917
PIC16F946
PIC16F1516, PIC16F1517, PIC16F1518, PIC16F1519
PIC16F1526, PIC16F1527
PIC16F1782, PIC16F1783
PIC12F1822
PIC16F1823, PIC16F1824
PIC16F1826, PIC16F1827, PIC16F1828
PIC16F1825, PIC16F1829
PIC12F1840
PIC16F1847
PIC16LF1902, PIC16F1903, PIC16F1904, PIC16F1906, PIC16F1907
PIC16F1933, PIC16F1934, PIC16F1936, PIC16F1937
PIC16F1938, PIC16F1939
PIC16F1946, PIC16F1947
PIC18F:
PIC18F242, PIC18F252, PIC18F442, PIC18F452
PIC18F248, PIC18F258, PIC18F448, PIC18F458
PIC18F1220, PIC18F1320, PIC18F2220, PIC18F2320
PIC18F1230, PIC18F1330
PIC18F2221, PIC18F2321
PIC18F2331, PIC18F2410, PIC18F2420, PIC18F2431
PIC18F2423
PIC18F2450, PIC18F2455, PIC18F2458, PIC18F2480
PIC18F2510, PIC18F2515, PIC18F2520, PIC18F2523
PIC18F2525
PIC18F2550, PIC18F2553, PIC18F2580, PIC18F2585
PIC18F2610, PIC18F2620, PIC18F2680
PIC18F2682, PIC18F2685
PIC18F4220, PIC18F4221
PIC18F4320, PIC18F4321, PIC18F4331
PIC18F4410, PIC18F4420, PIC18F4423
PIC18F4431, PIC18F4450, PIC18F4455
PIC18F4458, PIC18F4480
PIC18F4510, PIC18F4515, PIC18F4520, PIC18F4523
PIC18F4525, PIC18F4550, PIC18F4553, PIC18F4580
PIC18F4585
PIC18F4610, PIC18F4620, PIC18F4680
PIC18F4682, PIC18F4685
PIC18F6310, PIC18F6390, PIC18F6393
PIC18F6410, PIC18F6490, PIC18F6493
PIC18F6520, PIC18F6525, PIC18F6527, PIC18F6585
PIC18F6620, PIC18F6621, PIC18F6622, PIC18F6627
PIC18F6628, PIC18F6680
PIC18F6720, PIC18F6722, PIC18F6723
PIC18F8310, PIC18F8390, PIC18F8393
PIC18F8410, PIC18F8490, PIC18F8493
PIC18F8520, PIC18F8525, PIC18F8527, PIC18F8585
PIC18F8621, PIC18F8620, PIC18F8622, PIC18F8627
PIC18F8628, PIC18F8680
PIC18F8720, PIC18F8722, PIC18F8723
PIC18F24J10, PIC18F25J10, PIC18F44J10, PIC18F45J10
PIC18LF24J10, PIC18LF25J10, PIC18LF44J10, PIC18LF45J10
PIC18F24J11, PIC18F25J11, PIC18F44J11, PIC18F45J11
PIC18LF24J11, PIC18LF25J11, PIC18LF44J11, PIC18LF45J11
PIC18F26J11, PIC18F46J11
PIC18LF26J11, PIC18LF46J11
PIC18F24J50, PIC18F25J50, PIC18F44J50, PIC18F45J50
PIC18LF24J50, PIC18LF25J50, PIC18LF44J50, PIC18LF45J50
PIC18F26J50, PIC18F46J50
PIC18LF26J50, PIC18LF46J50
PIC18F63J11, PIC18F63J90, PIC18F64J11, PIC18F64J90
PIC18F65J10, PIC18F65J11, PIC18F65J15
PIC18F65J50, PIC18F65J90
PIC18F66J10, PIC18F66J11, PIC18F66J15, PIC18F66J16
PIC18F66J50, PIC18F66J55, PIC18F66J60, PIC18F66J65
PIC18F66J90
PIC18F67J10, PIC18F67J11, PIC18F67J50, PIC18F67J60
PIC18F67J90
PIC18F83J11, PIC18F83J90, PIC18F84J11, PIC18F84J90
PIC18F85J10, PIC18F85J11, PIC18F85J15, PIC18F85J50
PIC18F85J90
PIC18F86J10, PIC18F86J11, PIC18F86J15, PIC18F86J16
PIC18F86J50, PIC18F86J55, PIC18F86J60, PIC18F86J65
PIC18F86J90
PIC18F87J10, PIC18F87J11, PIC18F87J50, PIC18F87J60
PIC18F86J90
PIC18F96J60, PIC18F96J65
PIC18F97J60
PIC18F13K22, PIC18F14K22
PIC18F13K50, PIC18F14K50
PIC18F23K20, PIC18F24K20, PIC18F25K20, PIC18F26K20
PIC18F43K20, PIC18F44K20, PIC18F45K20, PIC18F46K20
PIC18F23K22, PIC18F24K22, PIC18F25K22, PIC18F26K22
PIC18F43K22, PIC18F44K22, PIC18F45K22, PIC18F46K22
PIC24:
PIC24F04KA200, PIC24F04KA201
PIC24F08KA101, PIC24F08KA102
PIC24F16KA101, PIC24F16KA102
PIC24FJ16GA002, PIC24FJ16GA004
PIC24FJ32GA002, PIC24FJ32GA004
PIC24FJ32GA102, PIC24FJ32GA104
PIC24FJ32GB002, PIC24FJ32GB004
PIC24FJ48GA002, PIC24FJ48GA004
PIC24FJ64GA002, PIC24FJ64GA004
PIC24FJ64GA102, PIC24FJ64GA104
PIC24FJ64GB002, PIC24FJ64GB004
PIC24FJ64GA006, PIC24FJ64GA008, PIC24FJ64GA010
PIC24FJ64GB106, PIC24FJ64GB108, PIC24FJ64GB110
PIC24FJ96GA006, PIC24FJ96GA008, PIC24FJ96GA010
PIC24FJ128GA006, PIC24FJ128GA008, PIC24FJ128GA010
PIC24FJ128GA106, PIC24FJ128GA108, PIC24FJ128GA110
PIC24FJ128GB106, PIC24FJ128GB108, PIC24FJ128GB110
PIC24FJ192GA106, PIC24FJ192GA108, PIC24FJ192GA110
PIC24FJ192GB106, PIC24FJ192GB108, PIC24FJ192GB110
PIC24FJ256GA106, PIC24FJ256GA108, PIC24FJ256GA110
PIC24FJ256GB106, PIC24FJ256GB108, PIC24FJ256GB110
PIC24HJ12GP201, PIC24HJ12GP202
PIC24HJ16GP304
PIC24HJ32GP202, PIC24HJ32GP204
PIC24HJ32GP302, PIC24HJ32GP304
PIC24HJ64GP202, PIC24HJ64GP204
PIC24HJ64GP206, PIC24HJ64GP210, PIC24HJ64GP506
PIC24HJ64GP502, PIC24HJ64GP504, PIC24HJ64GP510
PIC24HJ128GP202, PIC24HJ128GP204
PIC24HJ128GP206, PIC24HJ128GP210, PIC24HJ128GP306
PIC24HJ128GP310
PIC24HJ128GP502, PIC24HJ128GP504
PIC24HJ128GP506, PIC24HJ128GP510
PIC24HJ256GP206, PIC24HJ256GP210, PIC24HJ256GP610
dsPIC30:
dsPIC30F1010
dsPIC30F2010, dsPIC30F2011, dsPIC30F2012
dsPIC30F2020, dsPIC30F2023
dsPIC30F3010, dsPIC30F3011, dsPIC30F3012
dsPIC30F3013, dsPIC30F3014
dsPIC30F4011, dsPIC30F4012, dsPIC30F4013
dsPIC30F5011, dsPIC30F5013, dsPIC30F5015, dsPIC30F5016
dsPIC30F6010A, dsPIC30F6011A, dsPIC30F6012A
dsPIC30F6013A, dsPIC30F6014A, dsPIC30F6015
dsPIC33:
dsPIC33FJ12GP201, dsPIC33FJ12GP202
dsPIC33FJ16GP304
dsPIC33FJ32GP202, dsPIC33FJ32GP204
dsPIC33FJ32GP302, dsPIC33FJ32GP304
dsPIC33FJ64GP202, dsPIC33FJ64GP204
dsPIC33FJ64GP206, dsPIC33FJ64GP306, dsPIC33FJ64GP310
dsPIC33FJ64GP206A, dsPIC33FJ64GP306A, dsPIC33FJ64GP310A
dsPIC33FJ64GP706, dsPIC33FJ64GP708, dsPIC33FJ64GP710
dsPIC33FJ64GP706A, dsPIC33FJ64GP710A
dsPIC33FJ64GP802, dsPIC33FJ64GP804
dsPIC33FJ128GP202, dsPIC33FJ128GP204
dsPIC33FJ128GP206, dsPIC33FJ128GP306, dsPIC33FJ128GP310
dsPIC33FJ128GP206A, dsPIC33FJ128GP306A, dsPIC33FJ128GP310A
dsPIC33FJ128GP706, dsPIC33FJ128GP708, dsPIC33FJ128GP710
dsPIC33FJ128GP706A, dsPIC33FJ128GP710A
dsPIC33FJ128GP802, dsPIC33FJ128GP804
dsPIC33FJ256GP506, dsPIC33FJ256GP510, dsPIC33FJ256GP710
dsPIC33FJ256GP506A, dsPIC33FJ256GP510A, dsPIC33FJ256GP710A
dsPIC33FJ06GS101, dsPIC33FJ06GS102, dsPIC33FJ06GS202
dsPIC33FJ16GS402, dsPIC33FJ16GS404
dsPIC33FJ16GS502, dsPIC33FJ16GS504
dsPIC33FJ12MC201, dsPIC33FJ12MC202
dsPIC33FJ16MC304
dsPIC33FJ32MC202, dsPIC33FJ32MC204
dsPIC33FJ32MC302, dsPIC33FJ32MC304
dsPIC33FJ64MC202, dsPIC33FJ64MC204
dsPIC33FJ64MC506, dsPIC33FJ64MC508, dsPIC33FJ64MC510
dsPIC33FJ64MC706, dsPIC33FJ64MC710
dsPIC33FJ64MC802, dsPIC33FJ64MC804
dsPIC33FJ128MC202, dsPIC33FJ128MC204
dsPIC33FJ128MC506, dsPIC33FJ128MC510
dsPIC33FJ128MC706, dsPIC33FJ128MC708, dsPIC33FJ128MC710
dsPIC33FJ128MC802, dsPIC33FJ128MC804
dsPIC33FJ256MC510, dsPIC33FJ256MC710
PIC32:
PIC32MX320F032H, PIC32MX320F064H
PIC32MX320F128H, PIC32MX320F128L
PIC32MX340F128H, PIC32MX340F128L
PIC32MX340F256H
PIC32MX340F512H
PIC32MX360F256L, PIC32MX360F512L
PIC32MX420F032H
PIC32MX440F128L, PIC32MX440F128H
PIC32MX440F256H
PIC32MX440F512H
PIC32MX460F256L, PIC32MX460F512L
KEELOQ® HCS:
HCS200, HCS201
HCS300, HCS301, HCS320
HCS360, HCS361, HCS362
11 Series Serial EEPROM:
11LC010, 11AA010
11LC020, 11AA020
11LC040, 11AA040
11LC080, 11AA080
11LC160, 11AA160
24 Series Serial EEPROM:
24C00, 24LC00, 24AA00
24C01B, 24LC01B, 24AA01B
24C02B, 24LC02B, 25AA02B
24C04B, 24LC04B, 24AA04B
24C08B, 24LC08B, 24AA08B
24LC16B, 24AA16B
24LC32A, 24AA32A
24LC64, 24FC64, 24AA64
24LC128, 24FC128, 24AA128
24LC256, 24FC256, 24AA256
24LC512, 24FC512, 24AA512
24LC1025, 24FC1025, 24AA1025
25 Series Serial EEPROM:
25LC010A, 25AA010A, 25LC020A, 25AA020A, 25LC040A, 25AA040A
25LC080A, 25AA080A, 25LC080B, 25AA080B, 25LC160A, 25AA160A, 25LC160B, 25AA160B
25LC320A, 25AA320A, 25LC640A, 25AA640A
25LC128, 25AA128, 25LC256, 25AA256, 25LC512, 25AA512, 25LC1024, 25AA1024
93 Series Serial EEPROM:
93LC46A, 93AA46A, 93C46A, 93LC46B, 93AA46B, 93C46B, 93LC46C, 93AA46C, 93C46C
93LC56A, 93AA56A, 93C56A, 93LC56B, 93AA56B, 93C56B, 93LC56C, 93AA56C, 93C56C
93LC66A, 93AA66A, 93C66A, 93LC66B, 93AA66B, 93C66B, 93LC66C, 93AA66C, 93C66C
93LC76A, 93AA76A, 93C76A, 93LC76B, 93AA76B, 93C76B, 93LC76C, 93AA76C, 93C76C
93LC86A, 93AA86A, 93C86A, 93LC86B, 93AA86B, 93C86B, 93LC86C, 93AA86C, 93C86C
MCP250xx CAN:
MCP25020, MCP25025
MCP25050, MCP25055
Документация и программное обеспечение для программатора PICKIT 2.
Ссылка на сайт компании Microchip
Программирование микросхем EEPROM серии 24x:
Вывод разъёма программатора | Вывод микросхемы серии 24x (корпус DIP) |
(2) VDD | (8) VCC |
(3) GND | (4) VSS |
(5) PGC | (6) SCL |
(6) AUX | (5) SDA (подключить подтягивающий резистор 1 кОм на VCC) |
(7) WP (можно не подключать, в микросхеме этот вывод подтянут резистором к GND, то есть Write Protect отключен.) | |
(1), (2), (3) Адресные входы, подключать к VDD или GND в соответствии с Data Sheet. (Обычно, все на GND). |
Комплектность:
PICKIT2 W — Программатор PIC-контроллеров, микросхем памяти EEPROM и ключей KeeLOQ.Кабель удлинитель (USB-A Mini-USB-B 5 pin.) *1шт.
Кабель ICSP (BLS-1×6 BLS-1×6) *1шт.
Radio-sniffer 433/315 MHz. Открывашка для шлагбаумов и ворот — МЕХАТРОН DIY
Сейчас почти в каждом дворе наставили шлагбаумов, на работе ворота, дома пульты от люстры и даже шторы раздвигаются дистанционно. Как это работает, смотрим видос на моем канале youtube:
Схема соединения модулей
Схема соединения довольна простая, при желании ее должен осилить любой старшеклассник.
Приемник подключается к ардуинке всего 3 проводками. Передатчик тоже тремя проводками. Дисплей — четырьмя. Аккум прямо впаивается в ардуинку.
Пины подключения приемника и кнопки OK лучше не менять, т.к. скетч использует прерывания INT0 и INT1. Я использую приемник и передатчик на 433 МГц, но все должно работать и на 315-ти мегагерцовых модулях.
схема соединения радиосниффераМеханическая сборка в корпус
В качестве корпуса используется коробочка от тик-така.
Скетч и Библиотеки
Скетч найдёте на странице проекта на GitHub. Для чтения радиопультов я не использую библиотеки библиотеки типа RC-switch или radiobutton. Скетч достаточно универсален самостоятельно распознает любой цифровой повторяющийся сигнал содержащий до 160 переключений и содержащий защитные паузы от 5 до 30 мс. При этом фиксируется длительность единицы и нуля, полярность сигнала, наличие преамбул и дополнительных бит. Полученные данные скетч может сохранять в EEPROM и синтезировать на их основе исходный сигнал.
Не забудьте нажимать reset на ардуино как только закончится компиляция скетча и появится надпись «Загрузка». Этот программатор автоматом не посылает сигнал ресет.
Энергопотребление и сбережение
Т.к. девайс должен функционировать длительное время автономно, нужно позаботиться от энергосбережении. Поэтому за основу взята arduino pro mini с пониженной частотой 8МГц и пониженным питанием 3.3В. Все модули питаются также от 3.3В. Также из ардуино отпаян индикатор питания. Программно сделано следующее:
- Понижена тактовая частота до 2 МГц
- Отключена неиспользуемая периферия МК: АЦП, компаратор, SPI, неиспользуемые порты ввода-вывода
- При ожидании используется режим глубокого сна с потреблением в 150 мкА!
- При необходимости OLED дисплей переводится в режим сна
- Модуль передатчика включается только в момент передачи
- Модуль приемника отключается при передаче
Как заряжать аккумулятор?
Для зарядки аккумулятора от usb использую замечательный модуль 134N3P. У него два гнезда. Внимание! Для подключения к блоку питания используется microUSB. В режиме Normal одного заряда хватит на несколько месяцев работы.
Схема зарядки аккумулятора от usbОписание режимов работы радио-сниффера
Режим NORMAL: после включения сниффер загружает из EEPROM ардуино текущий ключ, показывает его код на дисплее, а также тип ключа и количество ключей в EPPROM. При этом сниффер уже слушает эфир. Если он “услышал” новый ключ, то дисплей отобразит серийник этого ключа. Долгое удержание ОК сохранит ключ в EEPROM. Кнопками влево и вправо можно листать ключи из списка. По нажатию на кнопку ОК сниффер передает текущий ключ в эфир. Т.е. его можно использовать как пульт. Через 5 секунд бездействия девайс засыпает. Потребление тока опускается до 140 мкА.
Режим AUTO: Переключение между режимами происходит двойным кликом по кнопке ОК. Текущий режим отображается в правом нижнем углу дисплея. Режим авто отличается от нормал тем, что “подслушанный” ключ автоматически добавляется в EEPROM, если конечно там такого ключа еще нет. Если сниффер услышал новый ключ, то из буззера раздается писк. В этом режиме снифеер не засыпает. Потребление тока составляет 14 мА.
Режим SILENCE: тоже что и режим авто, только при этом отключается дисплей и не пищит буззер. В этом режиме сниффер можно оставить на несколько суток и он тихонечко будет сохранять в EEPROM все, что услышит. В EEPROM влазит максимум 30 ключей. Очистить eeprom можно одновременным нажатием на кнопки влево и вправо. Потребление тока в этом режиме составляет 7 мА.
Что умеет читать/повторять?
От самых простых 12 битных пультов от шлагбаума CAME, различных 24 битный пультов от ворот найс, люстр и прочих китайских радиорэле до 64 битных ключей KeeLoq с динамической и псевдодинамической частью от откатных ворот AN-motors и автосигналок типа Пантера и Шэрхан.
Естественно, воспроизводить динамические ключи таким способом бессмысленно.
ПРОИЗВОДСТВО и РАСПРОСТРАНЕНИЕ настоящих снифферов НЕЗАКОННО!
Статья 138 часть 1 уголовного кодекса: незаконное производство, приобретение или продажа спец. средств, для тайного получения информации. Карается лишением свободы до 4 лет.
К таким средствам относятся не только аппаратура для прослушки, но и перехват информации с технических каналов связи. Т.е. все чужие (не ваши) автосигнализации и системы управления доступом такие, как ворота, шлагбаумы и домофоны законом запрещено прослушивать.
Хочу всех предостеречь. У вас как у пользователя шлагбаума или автоматических ворот может возникнуть чувство ложной безопасности. При этом проникнуть на участок вашего загородного дома или вывезти со склада материальные ценности может оказаться не так сложно. С помощью данного самодельного девайса вы можете протестировать свою систему на безопасность.
Помните, подключая приемную антенну вы сможете читать чужие коды, а это может привести к уголовной ответственности. Берегите себя и своё имущество и не нарушайте закон.
Поддержи Автора!
Если вам понравился проект — поддержите автора!
Вырученные средства пойдут на на закупку материалов для новых проектов, оборудования для съемки, содержание сайта и доменного имени.
Необходимые Материалы
Полезные ссылки
Фрикер клуб кодграббер своими руками
Архив
Кодировка NICE FLOR-S
Одна из самых распространенных кодировок – встречается на форуме в таких изделиях как ИМИТАТОР от CodePerfect на железе Олега, МЕГА-АНАЛИЗАТОР от RUSSO_TURISTO, в прошивке Joker для железа Олега, в прошивках для ZX940.
В большинстве изделий представляет собой или случайный выброс шифрованной части (hop) (имитацию) сигнала или просто определение типа кодировки.
Вопрос – возможно ли воспроизвести сигнал открытия автоматике nice flor-s обычными средствами – т.е. без обращения к китайцам для распила проца чтобы узнать хитрый алгоритм?
Сегодня я хочу предложить фрикерскому сообществу приложение KG Control для android смартфонов, при помощи которого можно будет управлять грабом без проводов, только по средствам bluetooth.
Нам понадобятся следующие вещи:
— смартфон с Android’ом 4.0.3 и выше.
— Arduino Nano (ATmega328)
— блютус модуль(например, я использовал HC-05)
— приёмник и передатчик
— светодиоды и резисторы
Измерение времени слепоты приемника
При изготовлении устройства 409, 502, возникает по сути единственная сложность, это ослепление приемника после глушения. Это явление вызвано тем, что после «глушения» есть промежуток времени когда приемник не способен принимать сигнал, потому что, его чувствительность резко упала (характерно не для всех приемников). Это очень неприятно, во-первых сбивается синхронизация приема, а во-вторых время «слепоты» может быть слишком большое.
Для эффективного использования методов 409 и 502, необходимо знать время «слепоты» (или время восстановления после глушения) своего устройства. Про мой способ замера и пойдет речь в этой статье.
Читать далее…
Перехват кодировки Princeton с помощью Arduino
Кодировка Princeton, используется в беспроводных пультах управления электроприборами, радиозвонках и прочих бытовых девайсах. Частота работы в нашей стране ASK 433,92 MHz, а вот за бугром еще и на частоте 315 MHz.
Статья нацелена на начинающих фрикеров 😉
Кодграббер Came
Приветствую всех и поздравляю с 2012!
С каждым годом вопрос парковки становится все актуальнее, на дворовых территориях и в проездах устанавливаются шлагбаумы, парковочные места ограждаются цепочками и барьерами, и за частую найти парковочное место даже на несколько минут достаточно сложно. Одной из самых распространенных систем в этой отрасли является Came, которая производит шлагбаумы, ворота, цепочки, барьеры и многое другое.
Дистанционное управление осуществляется с помощью специальных пультов, которые командой по радиоканалу в определенном формате управляют например шлагбаумом. Дело в том, что перехватив такую команду всего один раз, мы сможем управлять шлагбаумом когда нам это будет необходимо )) Читать далее…
Starduino (или Arduino + StarLine)
В этой статье будет рассказано как на основе популярной платформы Arduino сделать кодграббер для StarLine.
Несколько месяцев назад, впервые только заинтересовавшись изучением уязвимостей, в тот момент меня интересовали только шлагбаумы, которых поставили много и не проехать и не запарковать машину в центре города, я натолкнулся на ряд интересных тем. Особенно меня заинтересовал проект tahion`а. USB универсальный, можно перепрограммировать под что угодно и т.д. Это был мой первый девайс, который мне собрали друзья. Читать далее…
USB кодграббер: Кодграббер для ноутбука под Scher-Khan
Предлагаю вашему вниманию очередной интересный проект, который создан на базе USB-кодграббера, и так же состоит из программной и аппаратной части, соответственно по аппаратной части вы можете прочитать информацию в теме USB-кодграббера.
Программная часть включает в себя продвинутый анализатор пакетов, кодграббер, и конечно глушилку, теперь обо всем по-порядку Читать далее…
Формат пакета CFM / CFM II
Пакет состоит из 65 — 66 бит, первый бит стартовый, потом 64 бита данных, остальное можно не принимать, последний бит — флаг конца пакета, возможно у некоторых ещё передаётся бит разряда батарейки, по аналогии с KeeLoq.
Вначале пакета идёт преамбула — меандр 600 мкс. Далее хедер — 2400/1000 мкс, встречал 2400/700 мкс. Первый бит — нулевой — он же стартовый. Нулевые биты 600/600 мкс, единицы 1000/1000 мкс.
USB кодграббер: Кодграббер для ноутбука под StarLine и KeeLoq
Предлагаю вашему вниманию новый проект, который в первую очередь является универсальным USB программатором для микроконтроллеров серии AVR, небольшой макетной платой, к которой вы сможете подключить любые устройства, включая датчики, приемопередатчики и т.д., а так же средством связи МК и ПК по USB интерфейсу.
С помощью этого программатора вы сможете загружать прошивки в большинство мк, а все, что вам понадобится, это USB порт компьютера, никаких вспомогательных микроконтроллеров для прошивки не нужно, в схеме заложен принцип: собрал и работай. В комплекте с проектом есть все необходимые файлы для начала работы, а так же две демонстрационные программы, кодграббер – анализатор и программа для управления проигрывателем Winamp с помощью пульта от автомобильной сигнализации. Постепенно я буду дополнять эту тему и другими интересными проектами на основе этого девайса:
Итак, что необходимо для его сборки Читать далее…
Алгоритмический кодграббер в брелоке с рабочим дисплеем
Алгоритмический кодграббер своими руками в брелоке с рабочим дисплеем, бесплатная боевая прошивка.
Это прошивка алгоритмического кодграббера для брелока Sheriff ZX 750. Никаких переделок внутри брелока не требуется, дисплей рабочий, 3 ячейки памяти, микроконтроллер PIC16F914.
Внутри зашит мануфактурный код мангуста (Mongoose), это версия 1.1. Во второй версии будет возможность вписывать свои ключи в EEPOM.
Форматы статических кодов CAME и NICE
Несмотря на моральное «устаревание», статические коды продолжают использоваться производителями модулей управления воротами и шлагбаумами. Как оказалось, статические коды встречаются и в новых сигнализациях. Ниже приводятся несколько распространенных форматов кодов. Длительности импульсов приведены для встречавшихся кодовых посылок.
Форматы CAME и NICE.
Отличаются друг от друга длительностями импульсов. Для реализации передатчиков используются микросхемы кодеров Holtek HT-12E – в этом случае в брелоках устанавливают микропереключатели, которыми задается номер брелока. Могут иметь одну или несколько кнопок – микросхема кодера позволяет реализовать от 1 до 4 кнопок. Встречались и в старых пейджерах, там выводы кнопок использовались для кодирования серийного номера. Длительности импульсов задаются резистором в обвязке кодера. Встречаются кодеры без наборного поля, серийный номер прошивается в микросхему производителем.
Кодировка NICE FLOR-S
Одна из самых распространенных кодировок – встречается на форуме в таких изделиях как ИМИТАТОР от CodePerfect на железе Олега, МЕГА-АНАЛИЗАТОР от RUSSO_TURISTO, в прошивке Joker для железа Олега, в прошивках для ZX940.
В большинстве изделий представляет собой или случайный выброс шифрованной части (hop) (имитацию) сигнала или просто определение типа кодировки.
Вопрос – возможно ли воспроизвести сигнал открытия автоматике nice flor-s обычными средствами – т.е. без обращения к китайцам для распила проца чтобы узнать хитрый алгоритм?
Анализ метки Pandora DXL 4300
Попалась мне такая сигнализация под руки… и очень часто попадаются электронные метки, безхозные. Почему бы их не использовать для своих нужд?
Для начала заглянем внутрь. Чип NRF24 широко известен в сообществе электронщиков. Для анализа работы системы я использовал китайский модуль NRF24 и готовую плату с процессором STM32F103C8T6.
Читать далее…
Анализатор пакетов автосигнализации на MINI STM32 v3.0
Давно приобрел эту платку на STM32F103RBT6 микроконтролере. Привлекла она меня наличием 2.8 дюймового дисплея 320*240 точек с контролером ILI9325.
В качестве приемника в схеме используется приемник RR-40. Он работает в АМ модуляции на частоте 433.92 МГц. Выход приемника подключен к контакту кнопки Key1, на вход ножки PA0. Прием написан для кодировок Keelog, Starline, CFM и Sherkhan 51 бит. Это достаточно широко распространенные кодировки автосигнализаций. Читать далее…
Сегодня я хочу предложить фрикерскому сообществу приложение KG Control для android смартфонов, при помощи которого можно будет управлять грабом без проводов, только по средствам bluetooth.
Нам понадобятся следующие вещи:
— смартфон с Android’ом 4.0.3 и выше.
— Arduino Nano (ATmega328)
— блютус модуль(например, я использовал HC-05)
— приёмник и передатчик
— светодиоды и резисторы
Измерение времени слепоты приемника
При изготовлении устройства 409, 502, возникает по сути единственная сложность, это ослепление приемника после глушения. Это явление вызвано тем, что после «глушения» есть промежуток времени когда приемник не способен принимать сигнал, потому что, его чувствительность резко упала (характерно не для всех приемников). Это очень неприятно, во-первых сбивается синхронизация приема, а во-вторых время «слепоты» может быть слишком большое.
Для эффективного использования методов 409 и 502, необходимо знать время «слепоты» (или время восстановления после глушения) своего устройства. Про мой способ замера и пойдет речь в этой статье.
Читать далее…
Перехват кодировки Princeton с помощью Arduino
Кодировка Princeton, используется в беспроводных пультах управления электроприборами, радиозвонках и прочих бытовых девайсах. Частота работы в нашей стране ASK 433,92 MHz, а вот за бугром еще и на частоте 315 MHz.
Статья нацелена на начинающих фрикеров 😉
Манчестерское кодирование
Кодировка Манчестер – двухуровневое физическое кодирование (существует логическое). Суть физического кодирования: представление данных в виде электрических и оптических импульсов (изменение амплитуды напряжения, тока, света). Кодирование сигнала на физическом уровне позволяет приемнику синхронизироваться с передатчиком по смене напряжения в середине периода битов, что позволяет точно определить начало, середину и конец бита.Все это нужно что бы избежать неопределенности. Потому что ни в одной технологии передачи данных не применяется прямого бинарного кодирования 0 – 0В, 1 — +5В.Т.к. в случае передачи одной станцией допустим кода 00010000, другая станция может его интерпретировать как 1000, либо 01000.Потому что она не может отличать где 0 байт, а где отсутствие сигнала. Манчестерский код является самосинхронизирующимся (приемник реагирует не на длительность импульсов, а на их переходы) и самым плотным кодом на единицу частоты.
ЭМЗ АЛМАЗ-1 с ИБП или «граббер для Кока-Коллы» ))
На днях одним товарищем из закромов Родины был извлечён странный электронно-вычислительный агрегат, пугающий своими размерами, явно выдающими его советское происхождение. Беглый осмотр показал, что это и есть тот самый электромагнитный замок для холодильников! А так как форумчане уже давно трут эту тему, было незамедлительно куплено пиво и написана статейка 😉
Формат пакета KEELOQ
Keeloq — это система алгоритмов, разработанная и запатентованная Южно-Африканской компанией Nanoteq в середине 80-х. Nanoteq была основана экспертами по кодированию и электронике из университета Претории и занималась вопросами информационной безопасности. В 1995 году фирма Microchip приобрела отделение Keeloq у фирмы Nanoteq вместе с лицензионными правами. Теоретические разработки Nanoteq в сочетании с производственными мощностями и техническими возможностями Microchip позволили реализовать новый ряд компактных микросхем контроля доступа, простых для пользователя, но изощренных для взломщика.
Передача ИК сигналов
Принцип передачи ИК сигналов состоит из следующего — электрический сигнал основной (несущей) частоты модулируется передаваемыми данными и с помощью инфракрасного светодиода излучается в пространство.
Для приема сигнала используется фотоприемник, состоящий из фотодиода, усилителя с полосовым фильтром, настроенным на определенную основную (несущую) частоту, и демодулятора который выделяет принимаемые данные. Обычно, микросхема имеет 3 вывода Vo — ножка выхода ИК-приёмника. GND — общий вывод (минус источника питания). Vs — вывод плюса напряжения питания, обычно от 4,5 до 5,5 вольт. Этот фотоприемник имеет маркировку TSOP.
Навигационные системы и их подавление
В данной статье речь пойдёт о двух наиболее распространенных у нас навигационных системах:
•GPS — NAVSTAR Американская система Глобального позиционирования;
•ГЛОНАСС — Российская Глобальная навигационная спутниковая система.
В первую очередь коротко опишу принцип работы навигационных систем, а далее расскажу, как можно подавить работу той или иной системы, а так же будут рассмотрены принципы работы трекеров и способы как сделать не возможным их использование частично или вообще предотвратить их использование.
Это комплекс, который содержит в себе кодграббер, пакета-анализатор и циничную глушилку, которая валит весь эфир на 433.92мГц. Проект выполнен на микроконтроллере PIC18F252 и LCD 3310. Комплекс предназначен для исследовательских целей, он позволит понять кое какие принципы работы охранных систем, также поможет разоблачить не добросовестных производителей авто-сигнализаций.
Давайте я по подробней опишу, как все работает.
Начну с меню кодграббера , при включении прибора, на дисплее появится надпись «ВВЕДИТЕ КОД». Внизу мы увидим поле для его заполнения, курсор будет установлен на первую ячейку. Код состоит из 6 ячеек, вводимое значение будет от 0 до F. Думаю, для продвинутых юзеров не стоит объяснять, что пароль трех байтный, а это 256 умноженное на 256 и умноженное на 256 комбинаций, всего 16777216 комбинаций.
В случаи неверного ввода, загорится надпись «ОШИБКА», которая будет моргать, после некоторого времени, устройство перейдет в запрос кода. По этому, кроме вас ни кто кодграббер не включит. После ввода пароля, загорится надпись «КОД ПРИНЯТ» и наш адрес «WWW.PHREAKER.US». Далее через несколько секунд, включится основное меню.
Меню будет содержать три закладки «КОДГРАББЕР» «АНАЛИЗАТОР» «ПОМЕХА» и логотип форума. Нужную функцию мы будем выбирать джостиком-курстором, который будет сделан из пяти кнопок. Перемещая кнопкой стрелки указатели, мы выбираем любую из трех функций. Чтобы включить выбранную функцию, мы нажимаем кнопку в середине джойстика.
Например, мы выбрали функцию «ПОМЕХА», на дисплее загорится надпись «РЕЖИМ ПОМЕХИ» «ЧАСТОТА 433.92» «МОДУЛЯЦИЯ» и «50 ГЦ». Чтобы переключить частоту модуляции глушения эфира, нужно джойстиком нажать вниз, шаг регулировки помехи 50Гц, ее можно менять от 50Гц до 600Гц. Что бы выйти в основное меню, можно нажать любую из боковых кнопок джойстика, левую или правую.
Режим анализатора включается аналогично, просто наводим стрелки и жмем джойстик в середину. После входа в это меню, нас ждет небольшая анимация, сверху в низ начнут появляться знакомые вам надписи, Теперь заходим в меню кодграббера, загорится надпись «СКАНИРОВАНИЕ» «ВКЛЮЧЕНО» «433.92» и наш логотип, в этой закладке вас также встретит анимация. Внизу пробежит черная полоска и после того, как она будет исчезать, она откроет нам надпись «WWW.PHREAKER.US». После этого кодграббер ждет посылку, как только в эфире появится пакет от пульта, кодграббер пускает помеху и сразу на дисплее выводит надпись «ПРИНЯТ ПАКЕТ».
Двумя строчками ниже загорится шифрованная часть первой посылки. Далее кодграббер будет находится в ожидании второй посылки, где то около 5 секунд, если она придет, то в нижних строчках загорится вторая шифрованная часть и ниже серийник с нажатой кнопкой.
Все, две посылки мы сграбили! Самая фишка, это то, что после приема двух пакетов, в самой нижней строчке, будет гореть индикатор эфира, если нажать на пульт, то мы увидим, что шкала темнеет, все происходит довольно динамично. По этой шкале можно судить о том, что идет ответ от машины к пульту, когда мы будем ее открывать кодграббером.
Что бы выпустить перехваченные коды из кодграббера, достаточно нажать джойстик по середине, внизу загорится надпись «ОТПРАВКА КОДА». Напротив первого хоппинга и серийника загорятся стрелки, это в эфир пошел первый пакет, затем загорятся стрелки на против второго хопинга и серийника, это в эфир пошел второй перехваченный пакет.
Выйти из этого меню можно также левой или правой кнопкой джойстика. Если пакет не побился, в силу каких то обстоятельств, то надпись на дисплее будет замещена новым пакетом, который пройдет в эфир. Во время ожидания второго пакета, это в течении 5 секунд, из меню выходить нельзя, так как программа отрабатывает эфир, а не сканирование кнопок джойстика! На функцию кодграббера будут наложены небольшие ограничения, так как этот проект направлен на исследовательские цели в первую очередь.
Скажу честно, программа еще не доработана, особенно в плане дизайна, это оказалось намного сложнее, чем я думал. Полноценная версия будет размещена в закрытом разделе, как только я ее закончу. Пароль входа в кодграббер, я буду давать лично, когда увижу, что вы этот проект реально воплотили в железе! На случай моего преждевременного ухода, дубликат ключа будет у exchange!
Фотографии меню я прилагаю, все более чем наглядно. Прошивка будет ориентирована на китайскую версию LCD 3310. В ближайшее время я выложу еще дубликат этой прошивки, но для оригинального дисплея, что бы вы смогли беспрепятственно все воплотить, при наличии любого дисплея в вашем магазине.
Приемник и передатчик подключаем любой на 433.92мГц, уровень входа и выхода 5в. Кнопки джойстика программно подтянуты к +5в, соответственно при нажатии сажаются на землю (ноль).
Приемник PORTC,5 -16 нога контроллера.
Передатчик PORTC,6 -17 нога контроллера.
Центральная кнопка джойстика PORTB,0 – 21нога контроллера.
Вверх PORTB,1 – 22 нога контроллера.
Вниз PORTB,3 – 24 нога контроллера.
Вправо PORTB,2 – 23 нога контроллера.
Влево PORTB,4 – 25 нога контроллера.
Питание LCD только от контроллера.
Питание LCD PORTC,0 – 11 нога контроллера.
Ресет LCD PORTC,1 – 12 нога контроллера.
Линия DC в LCD PORTC,2 -13 нога в контроллере.
Линия данных в LCD PORTC,3 – 14 нога в контроллере.
Линия тактирования в LCD PORTC,4 -15 нога в контроллере.
Землю (общий провод) LCD, берем в произвольном месте.
#ARDUINO #ESP32 #ESP8266 работа с #CAN шиной, чтение, управление, диагностика #GALILEOSKY #EASYLOGIC
Неопубликованная запись
Автор:Имя автора
Вопрос о Keeloq — Стандарт дистанционного управления автомобилем
Чтобы создать полный дубликат, способный генерировать действительные пакеты передачи, вам понадобится следующая информация:
- Серийный номер
- Нажатие кнопки
- 32-битные зашифрованные данные KeeLoq
См. Рисунок 1-2, из таблица данных , рядом с «Передаваемая информация «в правом нижнем углу:
Используя эти три части информации, вы теоретически можете создать свое собственное устройство.
Серийный номер
Серийный номер является уникальным идентификатором пульта дистанционного управления и тривиально извлекается путем захвата одного пакета передачи, поскольку он отправляется как есть. OP уже извлек его.
После этого потребуется серийный номер, поскольку он также является частью зашифрованных данных, поэтому возможность его извлечения без предварительной дешифровки передачи может помочь нам спуститься по линии, когда мы создадим зашифрованную часть.
Чтобы отправить конкретный ключ, вам нужно создать собственное сопоставление значений с ключевым значением. Это не так просто, как получение единственного значения любого переданного сообщения, но не вызывает никаких трудностей, просто нажмите каждый ключ и запишите его в поле Кнопка Press Information . Кажется, что это удалось и OP.
Это то, где дерьмо становится серьезным, нам нужно знать, что шифровать в дополнение к ключу:
- Состояние кнопки.
- бит DISC.
- бит OVR.
- Синхронизирующий счетчик (16-битное слово увеличивается один раз для каждой кнопки в течение жизненного цикла контроллера).
- Ключ шифрования (называемый «Crypt Key» для звукового файла в Datasheet: D)
См. Прилагаемый рисунок 4-2, из таблицы данных, правая часть:
Биты состояния кнопки
Эти четыре бита — одни и те же, которые были отправлены незашифрованными, поэтому мы уже обсуждали их довольно простой поиск.
Биты DISC
Значение дискриминации помогает после дешифрования проверьте конец декодера. Это может быть любая ценность, но в типичная система, она будет запрограммирована как 10 наименее Значительные биты серийного номера. Значения, отличные от это должно быть отдельно сохранено приемником, когда передатчик. Биты дискриминации являются частью информации, которая формирует зашифрованную часть (рисунок 4-2). После того, как дешифрованной передачи, биты дискриминации проверить на сохраненное значение получателя, чтобы проверить что процесс дешифрования действителен. Если дискриминация значение было запрограммировано как 10 LSb серийный номер, то его можно просто сравнить с соответствующие биты принятого серийного номера; экономия пространство EEPROM .
Эти биты используются для идентификации устройства, и в соответствии с таблицей обычно обозначаются наименее значимые биты ранее обсуждавшегося серийного номера .
Бит OVR
Биты переполнения используются для расширения числа возможные значения синхронизации. Синхронизация счетчик имеет длину 16 бит, что дает 65 536 значений до повторения цикла. При типичном использовании 10 операций в день, это обеспечит почти 18 лет прежде чем будет использовано повторное значение. Если системный дизайнер приходит к выводу, что это не является адекватным, то биты переполнения могут использоваться для расширения номера уникальных значений. Это можно сделать путем программирования OVR0 и OVR1 до 1 с на момент производства. кодер автоматически очистит OVR0 в первый раз, когда значение синхронизации обтекает от 0xFFFF до 0x0000 и очистить OVR1 во второй раз счетчик обертывания. После очистки OVR0 и OVR1 не могут быть установлены снова, тем самым создавая постоянную запись переполнение счетчика. Это предотвращает быстрое циклическое перемещение 64K счетчик. Если система декодера запрограммирована на отслеживание бит переполнения, то эффективное количество уникальных значения синхронизации могут быть увеличены до 196 608.
В обычных условиях эти биты будут равны нулю. Они используются для увеличения общего размера счетчика синхронизации на два бита, но по умолчанию не используются, в соответствии с таблицей данных.
Счетчик синхронизации
Из таблицы данных:
Это 16-разрядное значение синхронизации, которое используется для создания кода переключения для передачи. Это значение будет увеличиваться после каждой передачи.
Это значение увеличивается каждый раз при нажатии кнопки, поэтому, как только мы получим его, мы сможем грубо узнать, каково будет следующее ожидаемое значение (которое будет зависеть от количества нажатий на кнопки с тех пор).
Дополнительно:
На рисунке 7-3 показана трехсекционная, вращающаяся синхронизация окно. Размер каждого окна необязателен, но техника фундаментальна. Каждый раз, когда передача аутентифицирована, предназначенная функция выполнена и значение счетчика синхронизации передачи хранится в EEPROM. Из текущего хранимого счетчика значение есть начальное «одиночное действие» переднее окно из 16 кодов. Если разница между полученным счетчик синхронизации и последний сохраненный счетчик в течение 16, предполагаемая функция будет выполнена на однократное нажатие кнопки и новая синхронизация счетчик будет сохранен. Хранение новой синхронизации значение счетчика эффективно вращает всю синхронизацию окно.
Окно «Двойная операция» (повторная синхронизация) далее существует из окна Single Operation до 32K коды вперед от текущего хранимого значения счетчика. Это называется «Двойная операция», потому что передача с данным значением синхронизации в этом окне потребуется дополнительный, последовательный счетчик перед выполнением намеченной функции. После получения последовательной передачи декодер выполняет намеченную функцию и сохраняет значение счетчика синхронизации. Эта ресинхронизация происходит прозрачно для пользователя, поскольку это человеческая природа чтобы нажать кнопку второй раз, если первая была неудачной.
Это означает, что нам не нужно ударять точное значение, и на самом деле можно угадать число до 32 тыс. Значений дальше, что почти вдвое меньше размера пространства значений.
Есть три возможных способа понять это.
Чтение EEPROM
By reading the EEPROM, which stores the Счетчик синхронизации. Since it is not possible to read EEPROM using the HCS301 without first writing it, you cannot normally read it without tinkering with the hardware. 16 открытого текста/шифрованного текста.
Обратите внимание, что они цитируются здесь немного из контекста. Хотя первоначальное намерение заключалось в получении образцов известного открытого текста/зашифрованного текста для части запроса-ответа чипа, они также дают приблизительную оценку скорости протокола.
И это по существу означает, что приемник может обрабатывать эти многочисленные сообщения менее чем за две минуты.
К счастью, используя вышеупомянутое 16-значное окно, мы можем сбрить четыре бита, если все сделано правильно.
Ключ шифрования
В статье Практическая атака на KeeLoq описаны различные уязвимости KeeLoq шифрование, особенно при использовании для дистанционного управления автомобилем и иммобилайзеров. Это хорошее чтение, если вам интересно получить ключ, используя криптоанализ, и демонстрирует несколько потенциально возможных методов. Он также рассматривает соответствующие работы для вашего удобства.
Я буду повторять возможные подходы:
Чтение EEPROM (again)
if you’ve done that, you could just as easily get the key itself together with the Счетчик синхронизации.
криптоанализа
Криптографическое извлечение ключа, как подробно описано в приведенной выше статье и ее ссылках.
Использование функции «Обучение»
Согласно техническому описанию, чип имеет функцию «Обучение» для связи/совместного использования ключа, который может использовать значение SYNC, упомянутое OP.
Существует три типа «обучения»:
Simple Learning — this basically means all Encoder (remote controls) and Decoders (cars) by the same manufacturer share the same key, and are associated using the Serial Number. This is useful because it makes bruteforcing slightly more beneficial because a successful retrieval will provide keys for all of that manufacturer’s cars. It also makes it easy to parallelize using multiple vehicles.
Normal Learning
The receiver uses information transmitted during normal operation to derive the crypt key and decrypt the received code word’s encrypted portion
Secure Learning
The transmitter is activated through a special button combination to transmit a stored 60-bit seed value used to generate the transmitter’s crypt key. The receiver uses this seed value to derive the same crypt key and decrypt the received code word’s encrypted portion.
Для вычисления ключа можно использовать функцию «Безопасное обучение» с помощью заводского ключа . Для этого вам нужно будет перестроить алгоритм генерации ключа (хранящийся в приемнике/автомобиле) и извлечь из него ключ производителя.
Нормальное обучение и безопасное обучение упоминаются только, но не описываются в подробном техническом описании, что затрудняет их обход без ручного анализа.
Хотя данные о внедрении/дизайне «Безопасное обучение» не описаны в спецификации, патентная документация под названием « Безопасная самопомощь система обучения «(патент США US 5686904 A) упоминается на странице 29.
Патент включает в себя следующий относящийся, однако, смутный абзац:
Алгоритм генерации ключа, который используется в блоке 42 генерации ключей во время операции безопасного обучения, обычно является нелинейным алгоритмом. Этот алгоритм принимает в качестве входного ключа главный ключ изготовителя 40 (неизвестный) и информацию о генерации ключа. Информация генерации ключа может состоять из серийного номера 24 энкодера или семени 20 или обоих. Эта информация передается из кодировщика в процессе обучения в декодер. Декодер 12 использует алгоритм генерации ключа для сгенерировать ключ 44, который используется для декодирования обычного кода прыгающая передача. Безопасность этого механизма связана с тем, что связь между переданным семя и ключ декодирования не lmown, рендеринг любого типа перехвата передачи бесполезны. Нелинейный функция генерации ключей также делает невозможным создание любые отношения между ключом и генерацией ключей информации, что делает невозможным возможное скопируйте нелегитимный кодировщик. Ключ 22, серийный номер 24 и случайно сгенерированное семя 20 кодера 10 загружаются во время производственного процесса. Производитель генерирует ключ, используя семена, серийный номер, производителей алгоритм генерации ключа и ключа. Основные роды алгоритм не становится общедоступным. Потому что семя представляет собой случайное число, возможность изготовления двух кодеры с теми же клавишами очень тонкие. Принимая во внимание факт, что серийный номер также используется в этом процессе, это очень маловероятно.
Простой способ склонировать Keeloq брелок
Введение
На пред-пандемийном DIY meetup от mail_ru был доклад о том как “клонировать” брелок с динамическим кодом Keeloq.
Собственно, что сделали ребята: ретранслятор по мобильному интернету с блекджеком и ардуиной динамического кода с единственного источника — имеющегося брелока Keeloq:
Оригинальный брелок -> хост-сервер -> приложение на мобильном -> передатчик-ретранслятор с блютуз
О том как более изящно можно решить задачу
Забиваем гвозди микроскопом
Пишем брутфорсилку Keeloq:
- на OpenCL для GPU-фермы
- на верилоге для FPGA-фермы
На выходе получаем ключ, зашитый в оригинальный брелок + значение 16 битного счётчика (не так важно, может пересинхронизироваться). Ключ затем зашиваем в необходимое число болванок брелоков.
Умный в гору не пойдёт..
..умный гору обойдёт.
Для начала посмотрим что же собой представляет динамический код по стандарту Keeloq:
Sync Counter — тут ключевой элемент. Это 16 битный счётчик, который на передающей стороне каждый раз инкрементируется на единицу, а перед передачей шифруется секретным ключом. Вся задача: уметь послать такое значение, которое на приёмной стороне при дешифровке секретным ключом будет располагаться “близко” к текущему (запомненому в приемнике) значению счётчика (блок сравнения под цифрой 4 на рисунке выше).
Немного о том как работает блок сравнения: от последнего принятого и корректно дешифрованного блока запоминается текущее (принятое) значение счётчика (обозначим как k), с этого момента приёмник ожидает в принятом сигнале декодировать значение счётчика в диапазоне k+1…k+16 — т.о. существует некое защитное окно в 16 значений: например брелок случайно нажался будучу в кармане, либо при использовании брелока безошибочный прием был невозможен (помеха, большое расстояние). В случае декодирования в ожидаемом диапазоне приемник запоминает новое (принятое и декодированное) значение счётчика.
В случае выхода за границы k+16 процедура немного усложняется: необходимо двойное нажатие кнопки брелока, чтобы механизм приёмника убедился в отсутствии replay-атаки, успехом будет считаться декодирование двух последовательных значений счётчика n и n+1 (AFAIK, в диапазоне до k+32768), только после этого новое значение счётчика пропишется в приёмнике
Собственно идея
Берём донора (оригинальный брелок) и считываем с него (для примера) 10000 посылок, после чего эти посылки раскладываем на “кучки” по числу требуемых брелков-клонов (допустим 4). Т.о. в первой кучке у нас будут посылки: 1, 5, 9, 13..; во второй: 2, 6, 10, 14.. и т.д. Т.о. в каждой кучке 2500 посылок оригинального брелка. Далее заливаем эти кучки-дампы в I2C EEPROM и используем уже с внутренним счётчиком вместо оригинальной микросхемы HCS200. Т.о. эти брелки с дампами, заполненными по round robin будут самосинхронизирующейся системой: если будет декодировано значение счётчика меньше чем текущее k, приёмник просто проигнорирует посылку как повреждённую/неверную, если будет принято значение в диапазоне k+1…k+16, то оно перезапишет текущее значение счётчика.
Да, само собой будут возникать ситуации, когда в зависимости от сценариев использования будет происходить рассинхронизация брелков, но в этом нет ничего страшного, просто понадобится дополнительный раз (или несколько) нажать на кнопку. Также брелки-клоны вообще можно сделать вечными сняв “весь круг” значений счётчика (65536), каждый брелок-клон будет хранить 16384 значений (не проблема для I2C EEPROM) и “закольцовывать” свой внутренний 14-битный счётчик адреса ячейки.
В общем и целом, это по сути доведенная до ума изначальная идея, с заменой онлайн-ретранслятора на оффлайн-“реплики” и выпиливанием всей серверной инфраструктуры. Для пользователя это максимально близко к изначальному кейсу использования брелока.
КиЛок | Хакадей
Радиочастотный сигнал, передаваемый с современного брелока и принимаемый соответствующим транспортным средством, используется только один раз. Если автомобиль снова увидит тот же код, он отклонит команду, однако в этих тщательно подобранных словах есть лазейка. Код должен быть получен компьютером автомобиля, прежде чем его можно будет добавить в список израсходованных кодов. [AndrewMohawk] рассказывает о процессе перехвата кода, отправленного с брелка-передатчика, и предотвращения его получения автомобилем в подробном посте в своем блоге.Вы можете увидеть, как эта атака работает в его видео реконструкции студийного качества после перерыва.
[Эндрю] использует YARD Stick One (YS1), беспроводное устройство с частотой менее 1 ГГц, управляемое с компьютера. YS1 использует прошивку RfCat, которая представляет собой интерактивную оболочку Python, которая действует как контроллер для беспроводного приемопередатчика.
Эта система не без проблем: разные частоты часто используются для разных команд, скрипты [Эндрю] предназначены для работы с On-Off keying (OOK), что делает его бесполезным при атаке на систему, использующую Frequency-Shift Keying ( ФСК).Существует также проблема с отображением целевого брелка в нерабочем состоянии, но вам придется заглянуть в блог [Эндрю], чтобы узнать больше об этом.
Читать далее «РЧ-взлом: обход скользящих кодов» →
[Саймон] использует домашнюю сигнализацию уже более шести лет. Первоначально система поставлялась с небольшим радиочастотным пультом дистанционного управления, но после многих лет использования и злоупотреблений она окончательно развалилась. После поиска запасных частей в Интернете он обнаружил, что его сигнализация «старой» модели, а пульты больше не продаются.В новой системе были похожие радиочастотные пульты, но они якобы были несовместимы. Он решил покопаться и починить свой пульт сам.
Он вскрыл корпус пульта и обнаружил 8-контактный чип с маркировкой HCS300. Этот чип выполняет все функции пульта, включая считывание кнопок, мигание светодиода и предоставление закодированного вывода на передатчик 433 МГц. HCS300 также использует технологию KeeLoq для защиты передачи данных с помощью скользящего кода. [Саймон] провел небольшое исследование в Интернете и обнаружил, что пульты новой системы сигнализации также используют ту же технологию KeeLoq.По наитию, он пошел дальше и заказал два пульта новой модели.
Он попытался соединить их со своим приемником, но, конечно, это было не так просто. Открыв новый пульт, он обнаружил, что в нем также используется чип HCS300. Это был хороший знак. Производитель заявляет, что каждый пульт запрограммирован секретным 64-битным кодом производителя. Он действует как ключ шифрования, поэтому [Саймону] придется каким-то образом взломать ключ на своем исходном чипе и перепрограммировать новый чип с помощью старого ключа.Или он мог пойти по более простому пути и поменяться фишками.
С помощью термофена быстро распаяли, и вскоре чипы были на месте. К сожалению, микросхемы имеют разную распиновку, поэтому Саймону пришлось отрезать несколько дорожек и зафиксировать их перемычкой. Собрав обратно корпус и установив кнопки, он протестировал его. Это сработало. Кому нужно обновить всю систему сигнализации, если можно просто взломать пульт?
%PDF-1.3 % 1 0 объект >поток конечный поток эндообъект 2 0 объект >/Type/Catalog/Outlines 3 0 R/StructTreeRoot 4 0 R/Metadata 1 0 R/Lang(en-US)/PageLayout/SinglePage/PageMode/UseNone/Pages 5 0 R>> эндообъект 5 0 объект > эндообъект 6 0 объект >/Parent 5 0 R/Contents 14 0 R/Type/Page/Tabs/S/Resources>/ProcSet[/PDF/Text/ImageB/ImageC/ImageI]/XObject>/Font>>>/MediaBox[0 0 595 .N’&M6/)PpmVpd[p.d: հVjvt|=_y5`PNEcJkD桪Y/R!x] ,Z113A_9~>\3br+iab]R!GIҖb:пQaٔ’@?ma5EѯEPMK2tLOFIG:L��ot#Ih Mq��{gٟ qdu2zNL
Короткая заметка о KeeLoq
Все приложения для бесключевого доступа (автомобильные пульты, открыватели гаражных ворот и т. на основе шифра Keeloq (известного под маркетинговыми названиями «переключение кода», «плавающий код», «плавающий код» и т. д.) долгое время считалось безопасным. По моим оценкам, по всему миру могли быть проданы десятки миллионов таких устройств. На самом деле, еще в 2004 году я интересовался, как работает мой беспроводной автомобильный замок, и нашел техпаспорт Чип HCS200, используемый в моем пульте дистанционного управления, я попытался использовать Google немного шире, и действительно обнаружили AN642.pdf (обычно предоставляется только корпоративным клиентам Microchip под подписанием соглашение о неразглашении), в котором описаны детали шифра Keeloq, на некоторых российских сервере еще в июле 2004 года. Знание русского алфавита выучили невольно во время коммунистический режим в нашей стране наконец пригодился! Основываясь на этом примечании к применению, я разработал реализацию языка ассемблера Atmel AVR. Keeloq (см. ниже) и использовал его в частном порядке вместе с пультами на базе HCS200 для самодельной охранной сигнализации.16 пар открытый/шифрованный текст и, таким образом, на практике бесполезен для атаки на приложения с скользящим кодом.До 2008 года никто не рассматривал анализ побочных каналов на физической реализации Keeloq, который недавно оказался очень плодотворным. Тем не менее, если бы каждое устройство, продаваемое конечному пользователю, использовало бы случайный ключ устройства, а не один выводится стандартным образом из ключа производителя (который является постоянным для большой производственной серии), или если каждый устройство будет использовать 60-битное начальное число, злоумышленнику потребуется физический доступ к удаленному управлению из вашего брелока, чтобы клонировать его.К сожалению, кажется, что подавляющее большинство устройств на рынке не используют или используют короткий начальный код. и поддерживать (для удобства конечного пользователя) метод обучения на основе ключа производителя.
Недавно было продемонстрировано, как можно извлечь ключ производителя.
с принимающего устройства с помощью физического криптоанализа по побочному каналу
и как можно клонировать конкретный пульт дистанционного управления (либо зная соответствующий ключ производителя без физического доступа к пульту, либо без ключа производителя, но требуя физического доступа к пульту)
(см. вики и ссылки в ней).Для удобства я перечисляю здесь некоторые из соответствующих документов:
Криптоанализ Power Side Channel аппаратных реализаций Keeloq в чипах HCS и
Криптоанализ мощного побочного канала PIC-реализации Keeloq и анализ безопасности беспроводных устройств Pervasice и криптоанализ Keeloq с использованием Xilinx FPGA и практическая атака на Keeloq.
Очень хорошее резюме дано также в главе 8 недавней докторской диссертации Тимо Каспера по анализу безопасности широко распространенных беспроводных устройств.
После того, как ключ производителя известен, любой пульт дистанционного управления, принадлежащий ЛЮБОМ ресиверу, использующему один и тот же «ключ производителя», может быть клонирован,
после прослушивания одного или двух сообщений, передаваемых с конкретного пульта дистанционного управления.Таким образом, может случиться так, что, например, все автомобили Audi, произведенные в Европе, скажем, в 2005-2007 гг.
имеют один и тот же ключ производителя, и если вы проанализируете центральный замок одного из них, вы можете открыть
любой из них после подслушивания владельца при запирании его автомобиля на стоянке (с помощью простого кодграббера 433 или 868 МГц).
(Если только в алгоритме обучения не использовалось 60-битное случайное начальное число, которое, однако, не поддерживается
большинством чипов, реализующих Keeloq.)
Я ожидаю, что многие автомобили и гаражи будут взломаны без физических следов,
как только технически подкованные преступники изучают соответствующую литературу.Я могу себе представить, что объяснять страховщику, что ограбление действительно произошло, а не
мошенничество со страховкой, в этом случае не будет приятным опытом.
Итак, для конечного пользователя ситуация плачевная, но не совсем безнадежная :-). Как решить проблему? Если ваше принимающее устройство содержит специализированное оборудование Декодер KeeLoq, должна быть возможность прошить свой случайно выбранный код устройства в этот чип и соответствующие пульты, следуя инструкциям в соответствующих спецификациях.Таким образом вы обходите проблему с алгоритмом обучения и ключом производителя. Если для реализации расшифровки используется микроконтроллер, вам потребуется перепроектировать, как приемник управляет силовыми частями (замки, двигатели и т. д.), и построить ваш собственный блок замены (если вы не можете создать модифицированную прошивку для этого конкретного MCU в контексте окружающего оборудования) и снова использовать свой собственный ключ устройства, не связанный с каким-либо производителем (или выберите свой ключ производителя для производственной серии, состоящей из одной единицы :-)).В любом случае, вы также должны защитить свой пульт дистанционного управления от несанкционированного физического доступа, чтобы предотвратить его клонирование.
Если вы решили использовать микроконтроллеры ATmega, вы можете скачать мой
Исходный код находится в свободном доступе под лицензией GPLv3.Для взлома и работы с пультами Keeloq вам обязательно понадобится приемник/передатчик (сниффер Keeloq). Их можно легко построить, поскольку 433,92 МГц (или 866 МГц) модули RX / TX с амплитудной манипуляцией (например, от Aurel wireless или аналогичные) доступны в магазинах электронных компонентов.Схемы тривиальны — достаточно взглянуть на таблицы данных ATmega и модулей RX/TX — и он может быть построен на универсальной печатной плате. Чтобы облегчить ваши усилия, я делаю здесь
доступный. Это немного запутанный экспериментальный код, однако он также включает в себя процедуру программирования чипа HCS200.В зависимости от версии avr-gcc и заголовков вам может понадобиться заголовок reverse.h
Главный посыл всей этой истории в том, что в очередной раз оказалось, что «безопасность через неизвестность» не является хорошим решением.Ссылаясь на то, что соглашения о неразглашении будет навсегда защищать затемненный алгоритм, который широко используется, действительно наивен. Если бы шифр и его аппаратная реализация были предметом тщательного изучения экспертами-криптоаналитиками сразу после или даже до выхода на рынок и получив шанс получить такое широкое распространение, дефект можно было бы обнаружить гораздо раньше, и можно было бы предотвратить большой (потенциальный) ущерб.
П.С. 1 Недавно я нашел некоторые заметки по применению, из которых следует, что Microchip недавно начала производить чипы со скачкообразным кодом, реализующие шифр AES. вместо Килока, так что они, вероятно, серьезно относятся к этой угрозе.Обратите внимание, однако, что физическая реализация математически безопасных шифров по-прежнему может быть уязвима для атак по сторонним каналам (обычно анализ мощности). Кроме того, распределение/управление ключами при неправильной реализации, как в случае с ключом производителя Keeloq, может создать единую точку отказа в коммерческой криптосистеме. Иными словами, цепочка настолько прочна, насколько ее самый слабый элемент, поэтому маркетинговый лозунг «использует AES» вовсе не означает, что продукт в целом безопасен. Одним из таких чипов энкодера является MCS3142.
П.С. 2 Чтобы использовать более современные шифры на своих устройствах, вам может пригодиться этот перенос AES и шифрования эллиптических кривых на небольшие микроконтроллеры.
П.С. 3 Ситуация с безопасностью открывателей гаражных ворот в реальной жизни может быть еще хуже, так как до сих пор устройств с фиксированным кодом на рынке! Недавно я построил новый гараж, и строительная компания использовала двигатели с дистанционным управлением. Марантек Комфорт 220.2. я не заморачивался над выбором открывалки, так как я планировал сконструировать свой собственный пульт дистанционного управления с соответствующим уровнем безопасности.Однако меня все равно удивил тот факт, что в этом устройстве Marantec используется фиксированный код! я думал что такие решения давно устарели и их нет на рынке! Однако они используют частоту 868,3 МГц. Модули RX/TX для этого диапазона можно легко приобрести, например. тоже от Аурела. В моем устройстве, на котором работает вышеупомянутый Код rxtx433.c У меня есть сокет, который позволяет менять местами модули. Я смог таким образом легко клонировать пульт дистанционного управления Marantec для моего гаража; обновленный исходный код, представленный здесь, теперь также содержит Подпрограммы «rx general» и «tx general», которые я использовал для этой цели.Поэтому, если вы не хотите приглашать грабителей, избегайте продуктов Marantec (и, возможно, других производителей открывателей с фиксированным кодом). Кстати, за свои достижения в области безопасности компания Marantec должна сменить название на «Morontec»!
П.С. 4 Прямая атака, основанная на прослушивании пульта в сочетании с глушением в сторону приемника, таким образом, получая 2 последовательных кода и, наконец, воспроизводя первый, что оставляет злоумышленнику один последний код, недавно был реализован в простом устройстве.Это не ограничивается keeloq, но может работать с любой скользящей схемой кода, в которой не используются тайм-ауты кода.
Передача и прием пакетов Keeloq с использованием приемопередатчика RFM22B и микроконтроллера LPC1343 ARM
В последние годы я стал предпочитать микроконтроллеры ARM Cortex-M0 и M3 для новых разработок. Мне также нравится трансивер RFM22B (на чипе Si403x), он более современный и способный, чем Модули Aurel (и даже дешевле) и содержат антенный переключатель RX / TX, но в первую очередь предназначены для модуляции FSK и GFSK с использованием собственной структуры пакетов и кодирования.Однако для обратной совместимости он поддерживает модуляцию OOK (100% ASK) и «прямой режим», в котором структура пакета и кодирование выполняются в MCU. Я разработал плату с LPC1343 и RFM22B, способную передачи и приема Keeloq-remote-совместимых пакетов, описание см. здесь и открытые аппаратные схемы и открытый исходный код. Некоторое время назад я заинтересовался программной радиотехникой и для этого купил USRP и несколько дочерних плат. Бесплатное программное обеспечение Gnuradio можно легко установить на Linux-машину.Конечно, использовать эти инструменты для получения пультов Keeloq — это своего рода излишество, но на самом деле это можно рассматривать как простое упражнение, чтобы привыкнуть к этим мощным инструментам. Кроме того, USRP обеспечивает гораздо лучшую избирательность, чем простые модули RX, поэтому вы можете выбирать до точной частоты конкретного пульта от всего диапазона. Из-за очень простой схемы пульты разных производителей передают на несколько разных частотах (ср. два меньших пика в захваченном радиочастотном спектре), которые немного зависят даже от того, как вы их держите в руке (ср.широкий доминирующий пик на скриншоте ниже).Недавно стало доступно другое устройство SDR, совместимое с GNUradio, — FUNcube Dongle. Это всего лишь приемник, и его пропускная способность намного меньше, чем у USRP, но он намного дешевле и легко переносится, поскольку имеет форму USB-ключа. Для приема пультов его должно быть вполне достаточно. ПРИМЕЧАНИЕ. В последние годы стало доступно гораздо больше Gnuradio-совместимых приемников SDR и несколько приемопередатчиков — RTL-SDR, Airspy, HackRF, BladeRF и т. д., слишком много, чтобы иметь личный опыт с ними…
В качестве отправной точки я выбрал простой AM-приемник, реализованный в Gnuradio Companion от OZ9AEC. Поскольку у меня еще не было времени научиться правильно реализовывать блоки Gnuradio и делать их доступными в GRC, Я решил следовать демодуляции AM с помощью файлового приемника, где файл на самом деле является именованным каналом, и запустить внешнюю программу для реализации преобразования в цифровые данные (демодуляция ASK с последующим декодированием сигнала с широтно-импульсной модуляцией) и расшифровки.
Аппаратная установка: USRP с WBX или TVRX, переменный аттенюатор (необходим, если передатчик находится очень близко к антенна), антенна (для экспериментов достаточно провода длиной около 17 см, чтобы подслушать соседа, может понадобиться яги на крыше :-)).
Для запуска подготовьте именованный канал (mkfifo /tmp/fifo), скомпилируйте и запустите декодер Keeloq, и одновременно запустите приемник в компаньоне Gnuradio (или сгенерированной программе Python).
Программа не очень навороченная, просто ее быстро адаптировали из версии AVR под Linux.Пороговое значение должно быть оценено по графику объема.
НОВИНКА:
A адаптировали схемы GRC приемника ASK для ключа Funcube: ask_rx_fcd.grc и для REALTEC
USB-накопитель DVB-T: ask_rx_rtl.grc . Оба они загружают gnuradio_keeloq_rx с частотой дискретизации 48000.
Для передачи сообщений Keeloq с помощью USRP вы можете использовать
вместе сДля компиляции обеих программ на C вам потребуются файлы keeloq.c и keeloq.h, которые аналогичны файлам для описанной выше реализации микроконтроллера (если AVR_SOURCE НЕ определен, вместо сборки AVR используется общая реализация Keeloq на C) .
На скриншоте ниже вы можете увидеть начало передачи Keeloq (скважность 50% импульсов), затем следует короткая пауза, а затем данные (подробное описание см., например, в техническом описании HCS200).
Мои заметки о экспериментировании с RFID с помощью ProxMark3
Вернуться к моей Главной странице
TOP
0 TECH Первый Kit-Microchip-DM303007-EVK — Документы — Microchip
Комплект разработчика KEELOQ 3 состоит из платы контроллера, платы радиоприемника и двух ручных передатчиков.
Плата контроллера построена по модульному принципу, поэтому ее можно использовать в различных конфигурациях. Плата оснащена 14-контактным разъемом PICkit Tail для установки платы радиоприемника и 28-контактным разъемом PICkit Tail для расширения. Микроконтроллер PIC16F886 на плате контроллера можно запрограммировать по схеме с помощью встроенного разъема PICkit 2. Кроме того, его можно подключить к анализатору последовательного интерфейса PICkit для последовательной связи с ПК.
В комплект входит одна плата приемника, содержащая микросхему радиоприемника Microchip rfRXD0420 ASK.
В комплект разработчика KEELOQ 3 входят два ручных передатчика. В одном используется стандартный аппаратный кодировщик HCS362, а в другом — микроконтроллер PIC16F636-I/MLPIC16F636-I/ML.
Для помощи в разработке и программировании кодера/декодера KEELOQ также поставляется подключаемый модуль MPLAB KEELOQ. Отдельный графический интерфейс пользователя (GUI) поставляется для демонстрации связи I2C с использованием подключения последовательного анализатора PICkit.
В дополнение к традиционным процедурам шифрования/дешифрования KEELOQ, процедуры шифрования/дешифрования KEELOQ/AES и KEELOQ/XTEA доступны при заказе компакт-диска «Расширенные алгоритмы безопасности для систем KEELOQ» (DS51813).
8
Keeloq 3 Cate Revelation содержит следующие пункты:
- 1 Keeloq 3 Контроллер
- PIC16F636-I / MLPIC16F636-I / ML I / MLPIC16F636-I / ML KEELOQ передатчик
- HCS362 Keeloq передатчик
- 433.92 MHZ Спросить доску для ресиверов
- Документация и программное обеспечение CD-ROM
- Дополнительный Pickit 2 Programmer / Debugger
- Дополнительный USB-кабель
- Дополнительные ощущения серийного анализатора
-
- Доска для получателя имеет микрочип RFRXD0420, недорогой, высокопроизводительный ИС приемника ASK.Модуль подходит для:
- Беспроводное дистанционное управление и управление
- Удаленный вход без ключа (RKE)
- Системы безопасности
- Телеметрические приложения с низким энергопотреблением
- Характеристики модуля:
- Одноканальный, фиксированная частота 433.92 МГц
- ASK модуляции
- скорость передачи: 4800
Продукция
Поставщик
Microchip DM303007DM303007
Связанные продукты
Поставщик Описание Описание Часть номера Microchip
8bit Flash MCU, SMD, 16F636, SOCIC14
PIC16F636-I /MLPIC16F636-I/M L
PIC16F636-I/SLPIC16F636-I/SL
Murata
ФИЛЬТР, КЕРАМИЧЕСКИЙ, SMD, 10.7kHz
Кристалл
SFECV10M7GA00SFECV10M7GA00
Microchip
MCU 8BIT 14K FLASH, SMD, SOIC28
PIC16F886
PIC16F886-I / SOPIC16F886-I / SO
MicroChip
RFRXD0420
RFRXD0420-I / LQRFRXD0420-I / LQ
Похожие продукты
Поставщик Описание Поддержка устройств Part Number Microchip
DEVELOPMENT KIT, RFPIC
rfRXD0420 / 0920
DV164102DV164102
Microchip
PICkit Анализатор последовательных сигналов
PIC16F886
DV164122DV164122
Microchip
KeeLoq Evaluation Kit II
KeeLoq
DM303006DM303006
RF Solutions
ПРЕОБРАЗОВАТЕЛЬ, KEELOQ , 1SW, брелок
ПРЕОБРАЗОВАТЕЛЬ, KEELOQ, 2SW, брелок
110C2-433A110C2- 433A
RF Solutions
Keeloq
110C3-433A110C3-433A
RF RF Solutions
IC, SM декодер КИЛОК
RF600D
RF600D-SORF600D-SO
RF Solutions
Keeloq Encoder, SMD, SOIC8, 2V, 360
HCS360
HCS360-I / SNHCS360-I / SN
HCS301-I / SN — Microchip — Кодировщик скачкообразной перестройки кода KEELOQ, серийный номер, 3.от 5 В до 13 В
HCS301-I/SN — это энкодер со скачкообразной перестройкой кода, разработанный для безопасных систем удаленного доступа без ключа (RKE). В HCS301 используется запатентованная компанией Microchip технология скачкообразного переключения KEELOQ®, которая сочетает в себе высокий уровень безопасности, небольшой размер корпуса и низкую стоимость, что делает это устройство идеальным решением для однонаправленных систем удаленного доступа без ключа и систем контроля доступа. Это объединяет 32-битный код скачкообразной перестройки, сгенерированный алгоритмом нелинейного шифрования, с 28-битным серийным номером и шестью битами состояния для создания 66-битного потока передачи.Длина передачи устраняет угрозу сканирования кода, а механизм переключения кода делает каждую передачу уникальной, что делает бесполезными схемы захвата и повторной отправки кода (захват кода). Ключ шифрования, серийный номер и данные конфигурации хранятся в EEPROM, к которому нельзя получить доступ через какое-либо внешнее соединение. Это делает HCS301 очень безопасным устройством.
- Программируемый 28-битный серийный номер
- Программируемый 64-битный ключ шифрования
- Каждая передача уникальна
- 66-бит Длина кода передачи
- 32-битный код перехода
- Ключи шифрования защищены от чтения
- Дополнительные схемы не требуются
- Автоматическое завершение кодового слова
- Сигнал низкого заряда батареи передается на приемник
- Индикация низкого заряда батареи на светодиоде
- Энергонезависимые данные синхронизации
Приложения
автомобильный, промышленный, Безопасность
Предупреждения
Устройство, чувствительное к электростатическому разряду, соблюдайте меры предосторожности при обращении с устройством.
Audi, Skoda, розмайте VW, Ford, Citroen, …
TL;DR: Jak donosi Wired, быстро 100 миллионов самоходов, производящих продукцию группы Volkswagen, оставшиеся 20 латов, можно отказаться от безпжеводов с wyniku hacka. Wystarczy podsłuchać transmisję radiową podczas otwierania auta, przetworzyć ją… i voila. Całość została zaprezentowana w szczegółach на tegorocznej konferencji Usenix. Wg badaczy podatne są Takie Modele Jak Poniżej (dla wyboldowanych badacze pokazali Proof of Concept, pozostałe wskazują jako prawdopodobnie podatne):
Audi: A1, Q3 , R8, S3, TT, различные другие типы автомобилей Audi (например,грамм. номер детали пульта дистанционного управления 4D0 837 231)
VW: Amarok , (новый) Beetle, Bora, Caddy, Crafter , e-Up, Eos , Fox, Golf 4 , Golf 5, Golf 6 , Golf Plus, 2 Jetta Lupo, Passat, Polo , T4, T5 , Scirocco, Sharan , Tiguan , Touran, Up
Место: Альгамбра , Альтеа, Ароза, Кордова, Ибица , Леон , MII, Толедо
Škoda: City Go, Roomster, Fabia 1, Fabia 2, Octavia, SuperB, Yeti
Mechanizm bezprzewodowego kluczyka bazuje tutaj na raptem kilku głównych kluczach kryptograficznych ( master keys ) – takich samych dla wielu różnych modeli aut.Klucze da się wyciągnąć i połączyć z dodatkową informacją podsluchaną podczas otworzenia auta.
Połączenie tych dwóch informacji daje otwarcie samochodu.
Podatni są też inni productenci, choć w nieco inny sposób – szczegóły w dalszej części tekstu.
Кошт забавный? Около 40 долларов США (+ koszt baterii 😉 za sprzęt w wersji ‘wypasionej’ (czytaj zautomatyzowanej). Jest to prostu odpowiednie Arduino:
Источник: wired.com
Zanim przejdziemy dalej – trochę historii.Nowoczesne kluczyki do samochodu – w bezprzewodowych wersjach składają się on z dwóch komponentów: pierwszy umożliwia otwarcie drzwi samochodu, other umożliwia wystartowanie silnika. Компоненты, которые могут быть найдены, если вы хотите, чтобы они были доступны, choć nie muszą:
Код: usenix
Czasem więc udaje się złamać od razu oba Componenty, a czasem tylko jeden. Historycznie tak to wyglądało: июль 2005 года показал, как Złamać algorytm DST40 używany w immobilajzerach (миал на 40 битов ключи szyfrujący), а w 2012 poległ hitag2.Общий номер был таки:
Авторы показали, что злоумышленник может получить 48-битный секретный ключ, необходимый для обхода электронной защиты менее чем за 360 секунд.
Również na imprezie Usenix, w zeszłym roku, pokazano bezprzewodowy взлом замков. Вы можете купить Megamos Crypto , использовать такие марки как Audi / Fiat / Honda / Voklswagen или Volvo. Тута dzięki różnym słabościom udalo się odzyskać 96 bitowy klucz krypto beędący w kluczyku:
В этой статье мы перепроектировали все проприетарные механизмы безопасности транспондера, включая шифр и протокол аутентификации, которые мы подробно публикуем здесь.Эта статья раскрывает несколько слабых мест в конструкции шифра, протокола аутентификации, а также в их реализации. Мы используем эти недостатки в трех практических атаках, которые восстанавливают 96-битный секретный ключ транспондера.
Jeśli chodzi o historię mechanizmów RKE (Remote Keyless Entry) – czyli bezprzewodowego otwierania auta – to historycznie najpierw pojawiły się systemy zupełnie bez kryptografii (badacze wspominają np. o tego typu Mercedesie z 200) скользящий код .
W skrócie polega on pobraniu pewnych wartości z kluczyka dodaniu do tego wartości licznika i przeslanie całości w formie zaszyfrowanej do samochodu. Самоход pamięta ostatnią prawidłową wartość licznika, co efektywnie chroni przed atakiem typu replay (tj. nie mogę podsłuchać na radiu komunikacji i później z sukcesem użyć jej do odblokowania auta).
Oczywiście jeśli odzyskam klucz kryptograficzny z kluczyka lub sam algorytm szyfrujący jest średnio bezpieczny, cała ochrona idzie na marne.Текущий тип атаки описывает шутливые шутки с презентацией или досье добитным названием: «Как украсть автомобили — практическая атака на KeeLoq», выпущенный в 2014 г., всего:
Злоумышленник должен подслушать три последовательных скользящих кода. Затем, используя фазовый анализ, можно с высокой вероятностью предсказать следующий скользящий код.
Jak badacze zabrali się do pracy? Zdobyli najpierw wybrane modele kluczyków i wypatroszyli je z elektroniki. Przykładowo taka zabawka:
zawiera 4-битный процессор MARC4 .Kod źródłowy programu wykonywanego na tym procesorze można wyciągnąć z ROMu poprzez… analizę mikroskopową (bit po bicie). Badacze poszli trochę w inną stroną i wyciągnęli (już w prosty sposób) прошивки по другой строне коммуникации (tj. z samochodu) – z tzw. ЭБУ. С десятью способами открыли несколько схем komunikacji wykorzystywanych с самоходными группами Volkswagen (означает понижей как VW-1 до VW-4). Первши с бжегу:
В заключение, безопасность VW-1 основана исключительно на неизвестности.Нет ни криптографического ключа, участвующего в вычислении скользящего кода, ни каких-либо конкретных элементов транспортного средства или дистанционного управления для какой-либо формы диверсификации ключей.
Chyba jeszcze ciekawiej jest w type VW-2 oraz VW-3:
В обеих схемах используется фиксированный глобальный мастер-ключ, не зависящий от автомобиля или пульта дистанционного управления. Другими словами, это означает, что один и тот же ключ AUT64 хранится в миллионах ECU и удаленных RKE-устройствах без использования какой-либо диверсификации ключей.
Можна powiedzieć, że te poprzednie schematy są trochę starsze, ale i w VW-4 (np. pokazano tu Audi Q3 z 2016 roku) номер:
Однако мы снова обнаружили, что один универсальный ключ используется для всех автомобилей с системой VW-4. Таким образом, та же единственная точка отказа старых систем VW-1–VW-3 присутствует и в недавно выпущенных автомобилях. Например, мы обнаружили, что эта схема реализована в Audi Q3, 2016 модельного года, и может расшифровать и сгенерировать новые действующие коды для открытия и закрытия этого автомобиля.
Uważni czytelnicy oryginalnego badania, wiedzą że tonie wszystko. Na warsztat bowiem poszedł jeszcze kolejny schemat szyfrowania używany w kluczykach innych productentów: hitag2. Tutaj udalo się przygotować praktyczny atak – wymagający jednak podsłuchania 4-8 otwierań samochodu (+ 1 minuta pracy Laptopa) – wcześniej były już udane hacki ale wymagające znacznie większych podsóbeuchanych.
В среднем наша реализация атаки восстанавливает криптографический ключ примерно за 1 минуту вычислений, требуя нескольких перехваченных скользящих кодов (от 4 до 8).
Przykładowe podatne modele? Бардзо проше:
Код: usenix
I dla pewności jeszcze potwierdzenie skuteczności:
Мы проверили наши выводы на практике, создав эмулятор ключа, а затем разблокировав и заблокировав автомобили с помощью вновь сгенерированных скользящих кодов. (…) Автомобили в приведенном выше списке являются нашими собственными, а также от коллег и друзей, которые вызвались добровольцами.
Autorzy pakazali skuteczność ataku z odległości ok.90 metrów, wskazują jednak на możliwość potencjalnego podsłuchu kluczyków г odległości Az 1 км (PRACA: подслушивание и обнаружение активных RFIDs и пультов дистанционного управления в дикой природе), совместно ш połączeniu dodatkowo г możliwością DoS-owania Auta (często абы zdeaktywować kluczyk właściciela auta wystarczy wysłać kilka razy „niepoprawny” pakiet) dale dosyć nieciekawe możliwości.
Na koniec, warto wspomnieć że wg badaczy VW potwierdziło podatności, jednak na bazie osobnej umowy badacze zgodzili się m.in. nie publikować wyciągniętych uniwersalnych kluczy kryptograficznych:
VW Group признал наличие уязвимостей. Как упоминалось в документе, мы согласились не указывать среди прочего следующие детали: криптографические ключи, номера деталей уязвимых ЭБУ, используемые программные устройства и подробности о процессе реинжиниринга.
Przypominamy że wszystkie informacje publikowane są tutaj jedynie w celach edukacyjnych. Nie zalecamy stosowania ich niezgodnie z prawem.
– мс
Декодирование сигналов 433 МГц с Arduino и приемником 433 МГц
Сегодня я покажу вам, как читать коды 433 МГц. Это учебное пособие было создано в дополнение к проекту «Голосовое управление», в котором для управления беспроводными коммутаторами требовались значения кода модуля 433 МГц. Поскольку у меня будет собственная квартира, вероятно, скоро появится гораздо больше руководств по домашней радиочастотной автоматизации 433 МГц! Если вы хотите узнать, как читать коды 433 МГц с помощью Raspberry Pi, перейдите к этому сообщению!
- Любой Arduino (я использовал клон Arduino Nano)
- Приемник 433 МГц (должен работать любой тип приемника 433 МГц, но для этого урока я использовал 4-контактный вариант)
- Макет
- Некоторые перемычки
- Передатчик 433 МГц (я использовал 4-канальный передатчик 433 МГц Remote)
Как вы можете видеть на картинке, мой приемник 433 МГц на самом деле имеет два контакта данных.Почему у него два контакта, я точно не знаю, но, возможно, он используется для простого подключения двух источников вывода или двух разных Arduino. Однако в этом проекте нам нужно будет использовать только один из контактов. Я использовал тот, который находится ближе всего к контакту GND.
Вывод Arduino Контакты приемника 433 МГц Земля ЗЕМЛЯ 5В ВКЦ Цифровой контакт 2 (D2) Данные Важно знать, что если вы используете Arduino Leonardo, вы должны подключить вывод данных к цифровому выводу 3 (не к цифровому выводу 2!).
Поскольку мы будем использовать «прерывание 0», цифровой вывод, который вы должны подключить, на самом деле отличается в разных моделях Arduino. Если вы не используете Uno, Nano или Mega, перейдите на этот сайт, чтобы узнать, какой цифровой пин-код следует использовать.
Однако большинство людей будут использовать цифровой контакт 2 в этом проекте.Вот как это выглядит при подключении к моему Arduino Nano
Чтобы приемник 433 МГц работал с Arduino, вам необходимо загрузить библиотеку RCSwitch.
.
. Вы можете загрузить RCSwitch непосредственно из официального репозитория:
https://code.google.com/p/rc-switch/downloads/listПосле загрузки у вас должен быть zip-файл. Вам нужно извлечь его и переместить извлеченную папку в папку библиотек Arduino.
Если вы не знаете, где находится папка с библиотеками Arduino, откройте программное обеспечение Arduino и выберите «Файл» -> «Настройки». Если вы используете Mac, это Arduino -> Настройки.
Здесь вы должны увидеть местоположение Sketchbook.
В моем случае папка с моими библиотеками находится в /Users/Prince/Workspaces/Arduino/Arduino_Training.
Теперь, чтобы уточнить, я должен переместить извлеченную папку RCSwitch в:
/Users/Prince/Workspaces/Arduino/Arduino_Training/ библиотекиЧтобы завершить установку библиотеки, закройте и снова откройте программное обеспечение Arduino, и теперь вы успешно установили библиотеку!
Код, который мы будем использовать для чтения радиочастотных кодов 433 МГц, на самом деле находится в библиотеке в качестве примера кода.Чтобы открыть код в программном обеспечении Arduino, нажмите кнопку «Открыть», затем нажмите: библиотеки -> RCSwitch -> ReceiveDemo_Simple
.Теперь код должен появиться в текстовом поле. Теперь подключите Arduino к компьютеру и загрузите код!
Я использовал простой 4-канальный пульт дистанционного управления 433 МГц, чтобы отправить несколько примеров кодов на мой приемник.
Откройте Serial Monitor и установите в нижнем правом списке значение «9600 бод». Когда вы затем нажмете кнопки на пульте передатчика 433 МГц, полученные радиочастотные коды 433 МГц должны быть напечатаны!
Теперь в моем случае вы видите значения в диапазоне от 16738081 до 16738088.
Вот как вы читаете коды 433 МГц, используя Arduino и приемник 433 МГц!
Если у вас есть какие-либо вопросы, не стесняйтесь задавать их мне, используя Контактную страницу или оставляя комментарии ниже.
. - Доска для получателя имеет микрочип RFRXD0420, недорогой, высокопроизводительный ИС приемника ASK.Модуль подходит для: