Keeloq arduino: Радиопульт с динамическим KeeLoq кодом на Arduino, код из видео

Содержание

Keeloq и Двойной динамический код vs Кодграббер

Если любознательный автолюбитель задает вопрос о том, смогут ли перехватить код брелка его сигнализации и, таким образом, — угнать авто, он получает от установщика автосигнализации чаще всего такой ответ: «Код динамический (иногда добавят название алгоритма шифрования), при каждой новой посылке меняется». Обычно после этого ответа не возникает вопросов и радостный автовладелец уезжает восвояси, спокойный и довольный. Конечно не может быть и речи о спокойствии только на основании того, что автосигнализация поставлена и код у нее динамический… И речь здесь идет не о криптостойкости! — дело в том, что недостаточно одной сигнализации, — это вам скажет любой установщик.

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

2. Почти необходим замок капота (механический или электромеханический)
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

Неопубликованная запись

Автор: 

Имя автора


Поисковые теги: arduino, ардуино, diy, своими руками, arduino uno, how to, как сделать, уроки, tutorial, сделай сам, projects, top 10, uno, best arduino projects, программирование, arduino project, скетч, самоделки, led, the wrench, дубликатор, ibutton, hardware, tm-01, tm2004, top 10 arduino projects, arduino nano, rw1990, arduino projects, top, top arduino projects, arduino tutorial, alexgyver, dc motor, микроконтроллер, самодельный, визит, tm-08, code, ds1990a, vizit, домофон, metacom, простой, dallas, cyfral, example, electronics, hacks, tricks, ways, guide, nano, c++, creative ideas, resistor, arduino ideas, crazy life hacks, amazing things, amazing ideas, simple life hacks, dc motor life hacks, amazing, how to make, awesome life hacks, 3 life hacks, чпу станок, умный дом, микросхема, arduino купить, rfid, 125 khz, управление ардуино, ардуино для начинающих, радиолюбитель, радиотехника, 125 кгц, em-marine, ардуино проекты, подключение ардуино, em4305, em-4305, t5577, t5557, компьютер, homemade, чпу на arduino, arduino cnc, чпу на ардуино, kit, robot, module, чпу, чпу своими руками, как сделать gcode, sketch, grbl, cnc, arduino pro mini, чпу гравер, датчик, atmega, амперка, arduino ide, software, электроника, project, в домашних условиях, проект, 2020, arduino project compilation, mega, top arduino projects 2019, beginners, arduino projects for beginners, simple arduino projects, easy arduino projects, своими руками видео, arduino mega, для начинающих, разработка электроники, схемотехника, pro mini, финализация ключа, копировальщик, микроконтроллеры, микроконтроллеры для начинающих, как сделать чпу, чпу фрезер, программирование микроконтроллеров, introduction, tm-01c, make, метаком, overview, nightrider, function, lcd screen, knightriderarduino, arduino knight rider, arduino pro mini projects, metakom, 101, technoreview85, best arduino projects 2020, home made, tm-01a, 3х осевой чпу, x y vertical plotter, x y plotter drawing machine, x y wall drawing plotter, rider, x y plotter draw machine, polargraph x y plotter, polargraph wall drawing, drawing robot, vertical plotter, arduino plotter, arduino drawing machine, xy plotter, x y plotter arduino, предсказание погоды, погодная станция, метеостанция, как прошить ардуино grbl, как прошить ардуино, diycnc, метео станция, knight rider, влажность, давление, температура, углекислый газ, basic, functions, arduino retro watch, diy useless box with arduino, receiver, nisalhe, diy useless box, arduino useless box, nisal hewagamage, transmitter, transceiver, wireless, beginner, nrf24l01, communication, bi-directional, how to make useless box, homemade useless box arduino, leak detection, уроки по программирования, leak sensor, water sensor, уроки по си, фквгштщ, ehjrb, ардуино уроки, useless box creative, arduino water level sensor, water level sensor, ahlebyj, basics, fundamental, polargraph, how to make arduino smart watch, ардуино уроки для начинающих, собрать робота, ардуино для детей, night rider, smartwatch, diy smartwatch, arduino code for smart watch, commands, smart watch, command, новое видео, ржака, greatscott!, nit rider, error arduino nano, ошибка ардуино нано, ардуино с нуля, adc, бытовая техника, веселое, смешное видео, digital pin, analog pin, pwm, уроки по с++, how to make a drawing machine, arduino nano 33 iot, arduino programming tutorial for beginners, learning electronics, getting started with arduino nano 33 iot, arduino topics, electronics projects, nevon projects, electronoobs, greatscott, ble, ublox w102, wifi, wifinina, andreas spiess, afrotechmods, diy arduino, useful arduino projects, arduino getting started, fingerprint computer, arduino beginner projects, arduino programming for beginners, arduino uno projects, simple arduino projects for beginners, для компьютера, arrduino, gimbal, self-stabilizing platform, gyroscope, accelerometer, mpu6050, 32u4, ublox wifi, samd21 tutorial, самодельный руль, ардуино леонардо, редуктор, автосимулятор, hshifter, h-shifter, arduino micro, arduino leonardo, micro, самоделка, leonardo, геймпад, руль arduino, ардуино руль, коробка передач, педали, keypad, bluetooth, arduino ble clients and peripherals, arduino webserver, arduino arm, arduino cloud iot, android, app, atmega 32u4, самодельные, руль, lock, servo, door, arduino project for beginners, getting started with arduino, видео техника, магазин электроники, техника, основы электроники, схема, радиоэлектроника, гонки, capacitor, switch, автосимуляторов, battery, header connector, ir sensor, tact switch, arduino управление, подключение arduino, amazing idea, invention, drawing machine, arduino drawing robot, из пластика, xy plotter arduino, home projects, diy projects, ардуино программирование, ардуино подключить, ардуино купить, ардуино уно, at home, подключить ардуино, pcb, hobby projects, due, для игр, knight, симуляторный, tested, microcontroller, gadget, computers, learning arduino, arduino uno projects for beginners, technology, make magazine, игровой, makers, testedcom, marcel vanthilt (musical artist), cafe corsari, lieven scheire (person), lập trình arduino, giới thiệu về arduino, magnet, tự học arduino, arduino (brand), racebaan, hoe, michael van peel, koffiezet, hartje, elektronica, knutselen, robot arduino, iphone, arduino 2020, arduino robot arm, arduino robot projects, arduino lawn mower, control robot arm, gsm mobile phone, mind control drone, amazing ardiuno projects, top 10 amazing arduino, new science projects 2020, #arduino, arduino projects 2020, school projects 2020, top 10 ardiuno projects, new ardiuno projects, otto, buzz wire, открыть шлагбаум, откатные ворота, 315 мгц, 433 мгц, 433mhz, 315mhz, an-motors, keeloq, arduino nurf turret, gesture controlled robot, 3d printed, автоматические шторы, пульт для люстры, радиорэле, diy science projects, science projects 2020, микроконтроллеров, avr, виктор осин, smart home, a4988, progmk, начинающим, чайник, arduino для начинающих, arduino для новичка, для чайников, программист, омск, курсы, 250 mw, do it yourself, мини чпу, как сделать лазерный гравер, гравер на arduino, гравер на ардуино, viral hattrix arduino, лазерный гравер, лазерный гравер из dvd, из dvd приводов, laser engraver, cnc machine, гравировка, 3d принтер, лазер из dvd, 3d печать, radio sniffer, дабро, программа, работы, драйвер, управление, для новичков, подключение, windows 7, top 10 projects, new 2020 projects, projects using arduino, 2020 projects, top 10 arduino projects for 2020, new arduino projects, economical projects, с нуля, урок 1, arduino serial, видеоуроки, уроки arduino, первые шаги arduino, первые шаги, как подключить, arduino windows, jeremy blum, arduino.org, с+, arduino.cc, arduino своими руками, джереми блюм, амперка уроки, new projects arduino ideas, cheap arduino projects, крутые идеи самоделок, самоделки своими руками, кулибины, топ самоделок, сделай себе, как это сделано, своими руками самоделки, что сделать, полезные идеи, сделай и себе, крутые идеи, лайфхаки, что сделать своими руками, полезные советы, самоделки на ардуино, ардуино самоделки, easy, top arduino robots, professional projects, inspiring projects, arduino best ideas, arduino creative projects, top arduino uno projects, top arduino projects till 2019, барометр, высотомер, проект на arduino, проект на ардуино, 10 arduino projects for beginners, diy builder, курсы arduino, tutorial arduino, как сдлеать чпу, чпу плоттер, простой чпу, самодельный чпу, настройка чпу, цифровой, nokia 5110, diy cnc, gcode, инструкция по сборке, gprs шилд, собираю смартфон, самодельный смартфон, как собрать телефон, телефон своими руками, lcd, pultoscop, sild, sensor, набор, стартовый, модуль, сенсор, starter, set, русский, осциллограф, arduinolab, дисплей, epaper, display, сенсорный экран, сканер отпечатков, kurs, podstawy, mrhalogen60, kovalsky majstruje, program, kovalsky diy, od podstaw, wstęp, sposób na, sposobów na, polski, po polsku, dla początkujących, pl, nauka, arduino start, xiaomi, amperka, apple, тестирование, отпечатки пальцев, обзор, проекты амперки, тайгафон, platforma arduino, rozpoczynamy, jak zrobić, телефон, infowatch, как собрать, шилд, робот, полив система, теплица полив, урожайный огород, монтаж капельного полива, теплицы, полив, купить полив, капельное орошение, консоль, игровая консоль, система автоматического полива, автоматический капельный полив, система капельного полива, автоматический полив, капельный полив, автополив в теплице, выбрать плату arduino, выбрать arduino, хорошая и плохая, как отличить, для программиста, полезное, как выбрать, ошибки начинающих, теплица, автоматическая теплица, умная теплица, советы, что такое arduino, где купить arduino, jlcpcb, best, киев, интернет вещей, atmel, robomaster, эмулятор, школа №8, iot, робототехника, esp32, dfrobot, школьник, резистор, роботы, robotics, tinkercad, 2019, collision avoiding drone, arduino microbot solve maze, by genius youtuber., brilliant arduino projects, arduino based project, arduino based machine, critter, 3d printed arduino walking robot, most famous, top20, top iot, arduino color sho, snake robot, arduino radar, czym jest arduino, galileosky, галилеоскай, gps, мониторинг транспорта, спутниковый мониторинг транспорта, глонасс, видеоинструкция galileosky, easy logic, gps глонасс терминал, 7gis.ru, терминалы galileosky, gps глонасс треккер, треккер, easy logic technology, galileosky easy logic, gps tracking devices, transport monitoring, gps vehicle tracking devices, gps monitoring, galileosky.com, advanced gps tracking devices, fleet management, система мониторинга транспорта, мониторинг, omnicomm, омником, автограф, защита от угона автомобиля, iridium, обзор gps терминалов, eco driving, угона нет автомобиля, мониторинг глонасс транспорта, can, трекер, gps трекер, грузовик, galileosky obd-ii, транспорт, rs485, защита от угона, скзи, galileosky 7, galileosky 7 lite, gps терминалы, galileo, glonass, глонасс трекер, конфигуратор galileosky, блокировка двигателя, obd-ii, атол, can scanner, эра глонасс, wialon, galileosky base block, распаковка base block, обзор терминала galileosky, лучший gps глонасс терминал, трекинг, обзор терминала galileosky base block, общая информация, meitrack, две сим карты, skypatrol, programmable tracking device, комплектующие base block, терминалы galileosky 7, gosafe, trackingfox, gps трекеры gslileosky 7, обзор galileosky 7, линейка галилеоскай 7 обзор, функция глубокого сна, base block, видеоблог галилеоскай, линейка galileosky 7, concox, запись трека, спецтехника, навигатор, слив, навигация, подключение автоинформатора, трактор, снять блокировку, 1.9 tdi, не заводится из за сигнализации, автомобиль, satellite monitoring, автоинформатор, подключение автоинформатора к терминалу, конфигуратор, gps trackers, quecklink, трек терминала, глонасс терминалы, vehicle monitoring, gps tracker, воспроизведение остановок, автомобильные динамики, tracking device, galileosky gps tracking devices, передача данных с терминала в по мониторинга, лучший gps терминал, россия, gurtam, wialon hosting, дальнобойщики, vehículo, лицензированный тахограф, клеймо тахограф, блокировку, протест, егаис, dispositivos glonass/gps para el monitoreo vehícula, тахограф, easy logic español, начало работы с easy logic, easy logic creators, программирование галилеоскай, terminal, как создать алгоритм easy logic, galileosky español, украина европа сша, digital inputs rs232/rs485, rs232, pressurepro, грузоперезвозки, дальнобой, дут, дискретно-аналоговые входы, аналогово-частотный, тахограф 2017, tkstar, галилео, подключение, обзор линейки gps терминалов, видеоинструкция, видео техподдержки galileosky, изи лоджик, atrack, ruptela, карта водителя, закон, тягач, платон, service functions, тахограф инструкция, teltonika, galileosky terminal, тахографы, roaming, спутниковый мониторинг, gpsглонасстерминал, галилео скай программирование, глонасс маяк, как сделать галилео скай, датчики концевики галилео скай, glonass galileosky, glonass трекер, сигнализации для защиты от угона, obd-ii tracker, obd gps device, the best obd tracker, глонасс мониторинг транспорта, контроль расхода топлива, как настроить терминал galileosky, передача по протоколу, galileosky rs485, eco drive, eco drivind via easy logic, driver style control, передача данных rs 485, stm32 rs485, вкладка устройство в конфигураторе, галилео galileosky 7.0, датчик движения, терминал глонасс, wialonization, telematics 2018, глонасс трекер для лада, круглосуточный мониторинг, глонасс трекер веста, gps трекер тайота камри, галилео скай 7 терминал, галилеоскай терминал, мониторинг автомобиля, gps/глонасс терминалы, надежные gps терминалы, оборудование для мониторинга транспорта, глонасс мониторинга транспорта, мониторинг глонасс gps трекер, glonass treker, can сканер, can-шина, как пользоваться can сканером galileosky, инструкция по can сканеру, мониторинг транспорта где нет сети, терминалы с модулем iridium, купить глонасс трекер, виалон мониторинг транспорта, гуртам мониторинг транспорта, base block iridium, galileosky base block iridium review, galileosky base block iridium, can-интерфейс, j1979, экодрайвинг, блокировка, такси, obdii, спутниковыймониторингтранспорта, глонасс мониторинг, мониторинг глонасс, прорисовкатрека, конфигурациятерминала, авто, система, машина, gps маяк, топливо, маячок, датчик, угон, контроль, автоэлектрика, самара, sinotrack, водитель, каршеринг, трекеры, базовый мониторинг, трекер для подключения к диагностическому разъему, самый лучший трекер, gps трекер obd-ii, самый маленький obd трекер, obd трекер, obd-ii трекер, gps tracker with iridium satellite, gps monitorg in no gsm coverage area, терминал спутникового мониторинга, obd, gps monitoring gps trackers, galileosky 7 wifi, galileosky 7.0 lite, canny 7, canny 7 sdk, canbus, какой gps глонасс трекер выбрать, возможности глонасс трекера, the best gps tracking device, gps galileosky, комплектация galileosky 7, видеоинструкция галилеоскай, блокировка двигателя starline, esp32, arduino, esp8266, diy, wifi, electronics, iot, espressif, nodemcu, esp32 tutorial, tutorial, how to, esp32 arduino, ардуино, smart home, project, maker, simple, умный дом, esp32 cam, arduino project, hobby, greatscott, guide, esp32 oled, atmel, espressif esp32, своими руками, internet radio, vs1053, karadio, beginner, wifi микроконтроллер, esp-32s, beginners, adafruit, 3d printing, esp32 project, internet, esp32 gps, esp, feather, wi-fi интернет радио, arduino gps, esp32 arduino ide, настройка, karadio32, nes, uno, ide, error, home assistant, github, to, arduino ide, ip camera, how, camera, esp32 devkit, coronavirus, blynk, webradio, wroom-32, esp-wroom-32, wroom, wifi esp32, отладочная плата esp32, esp radio, esp-radio, sensor, самодельное, программирование, микроконтроллер, board, web radio, wi fi, wi fi radio, module, интернет радио, quadmeup, esp32 проекты, freertos, automation, git, bluetooth, touch, cpp, esp32 datasheet, lorawan, esp32-s2, модуль, hack, microcontroller, esp8266 project, esp8266 datasheet, esp32 weather station, esp32 projects, esp32 bluetooth, esp32 прошивка, programming, как подключить, home automation, eevblog, esp32 camera, things, ov2640, подключение, ttgo, projects, analog, wemos, epaper, display, internet of things, обзор, do-it-yourself, video, tinygps++ library, viral dodhia, esp32 gps tracker, raspberry pi, esp32 arduino board, viral science, viral science creativity, problem, beitian bn-880, esp32 espressif, arduino gps speedometer, arduino gps tracker, arduino gps module, visual studio code arduino, uploading, solution, tinygps++, ttl, установка esp32 на ардуино ide, gpio, pin, smart, basic tutorial, vscode, connected, sensors, dummies, visual studio code, basics, wireless, understand, embedded, howto, fundamentals, sketch, learn, snes, wing, pal, game console, platform io, tinkering, coding, av, audio, platformio, introduction, ntsc, fbas, sampling, bas, lesson, course, timeout, timed out waiting for packet header, failed to connect, install, security, cam, library, brownout detector was triggered, brownout, ip, broadcast, mini, hidden, low power, external power, web cam, esp32 на ардуино, free, training, getting started, chip, education, educate, best practices, dual core, esp32 board, installing esp32, установка библиотек, ардуино и esp32, memory, библиотека esp32, webcam, mems, build an esp32 web server with arduino ide, build an esp32 web server with arduino ide code and schematics, trigboard, esp32 web server project, esp32 web server arduino tutorial, random nerd tutorials, esp32 web server arduino ide, esp32 web server arduino code, covid19, status, platformio vscode, platformio debugger, esp32 debugger, platformio tutorial, platformio esp32, cdc, platformio arduino, randomnerdtutorials, rui santos, oled, spi, i2c, screen, tft, pcbway, lcd, charging, portable, live streaming, blynk iot, cctv camera, esp eye, hiletgo, lipo, ip5306, esp32 debugging jtag, esp-prog, arduino oled, как сделать, mega, arduino sbus decoder, esp32 lora gps, esp32 sbus, sbus library, esp32 gps module, nano, реле, схема, транзистор, esp12f, esp-12e, esp-12f, esp-32, esp-12, arduino esp32, tinygpsplus, esp-prog platformio, esp-prog development board jtag, brian lough, esp-prog esp32, esp-prog tutorial, esp-prog jtag, esp-prog debugger, platformio setup, platformio install, sbus arduino, gps, tinygpsplus gps, sbus, range test, esp32s, paweł spychalski, lcsc, jlcpcb, mems microphone, vga, graphics, esp32 camera wifi, esp32 camera module, feathers2, ov2640 camera, esp32 camera streaming, arduino library, example, pinmode, digital, input, wemos d1, hass.io, micro controller, hassio, pros2, hand assembly, tinypico, esp32 feather, esp32-s2 feather, microchip, microcontrollers, esp32 nmea, laser cutting, adafruit feather, pick-n-place, solder stencil, pcb assembly, pnp assembly, stencil, solderpaste, pick and place, reflow, output, pullup, covid-19, covid, java, printing, 3d, hak5, marauder, 3dprinting, c++, csharp, circuit, pcb, china, assembly, make, linux, windows, sparkfun, technology, esp32 camera video streaming web server, esp32-cam surveillance camera home assistant, esp32 camera surveillance system home assistant, esp32-cam video streaming web server works with home assistant, pwm, pulldown, ledc, esp32-cam esp32 camera surveillance system security, esp32-cam esp32 camera video streaming web server, computer, compute, tech, hacker, hacking, diy surveillance camera with esp32, electronicsinnovation, esp32 tinygps++, test, arduino íde, arduino bluetooth, arduino робот, arduino металлоискатель, лучшие проекты на arduino, arduino часы, что такое arduino, курс по arduino, безопасность аппаратного обеспечения, встраиваемые системы, микроконтроллеры для начинающих, микроконтроллеры, электронника, схемы, проекты на arduino, установка ардуино, картридж, ром, ретро консоль, восемь бит, game boy, джойстик, rom, тв-приставка, arduino проекты, ардуино для начинающих, amperkaru, амперка, ретро приставка, проекты амперки, асу тп, jeeui, arduino plc, контроллер для умного дома, plc, esp32 wroom 32, iconic devices, sri lanka, промышленный контроллер, industrial controller, esp8266 arduino, esp32 bluetooth arduino, арудино, esp-01, esp32 blynk, cp2102, norvi, norvi iiot, jeeui esp32, max7219, jeeui esp8266, esp32 web interface, jeeui framework, esp8266 web interface, esp8266 max7219, task, esp32 introduction, espui, mutex, semaphore, queue, компьютерные игры, игры, esp32 wroom, esp32 vs esp8266, mongoose os esp8266, mongoose os tutorial, esp 32, esp32 обзор, esp32 pinout, mongoose, прошивка wifi модуля, mongoose osrs, wifi модуль, прошивка esp, esp32 micropython, esp8266 nodemcu, mongoose os, mongoose os esp32, сенсор, стартовый, датчик, шилд, dfrobot, робот, набор, robot, дисплей, mongoose os esp32 bluetooth, kit, set, sild, starter, подключение esp, esp32 wroom32 module, antenna, remote access, ai thinker, upload code, connection, security era, opencv, ota, черепашки ниндзя, бэтмэн, черный плащ, карманная приставка, денди, приставка, image processing, programmer, rmii, ethernet, mii, bluedriod, микроконтролер, lwip, ethernet phy, многоядерность, wi-fi модуль, прошивка, руками, своими, планировщик задач, iot projects, ubidots mqtt, of, app, web, server, control, add, application, mit, switch, easy, animation, matrix, inventor, led, 8266, 32, самоделки, electronica52.in.ua, сделай сам, проекты на ардуино, denis_geek, aliexpress, китайчик, алиэкспресс, радио своими руками, wi-fi radio, интернет радио esp32, mann ka radio, обзоры, kradio, hall, core, mechanical, electrical, electrical engineering, mechanical engineering, proto g, protog, high voltage, dangerous, wifimanager, manager, proto, proto tools, experiment, science, rapid prototyping, prototyping, home automation alexa, alexa amazon, alexa, greatscott!, instal, ws2812, البيت الذكي, اليكسا, engineering, prototype, المدن الذكية, البيوت الذكية, اليكسا امازون, geek, denis, ip камера, он лайн просмотр, ipcam, l2tp, vpn, openvpn, он-лайн, трансляция, есп32кам, камера, видеонаблюдения, видеонаблюдение, teamviewre, роутера, port forwarding, dmz, ultimate home automation, esp32cam, mqtt esp32, esp32 home automation, ubidots projects, ubidots tutorial, esp32-cam, ipcamera, интернет, подключиться, через, просмотр, удаленный, доступ, esp32-mail-client, esp32-s2 tutorial, интернет вещей, как передать видео на телефон, программирование железа, уроки для начинающих, электроника, электроника для начинающих, электронный мозг узнает вас, распознавание лиц, club arduino, club_arduino, денис гиик, denis geek, безопасность, как собрать проект распознавания лиц, электроника на заказ, разработка электронных устройств фриланс, #esp8266, firmware, #esp32, esp32-s2 dev board, esp32-s2 project, esp32-s2 board, weatherstation, espprojects, разработка электронных устройств на микроконтроллерах, разработка электронного устройства, разработка электроники на заказ, openweathermap, метеостанция, spiffs

Вопрос о Keeloq — Стандарт дистанционного управления автомобилем

Чтобы создать полный дубликат, способный генерировать действительные пакеты передачи, вам понадобится следующая информация:

  1. Серийный номер
  2. Нажатие кнопки
  3. 32-битные зашифрованные данные KeeLoq

См. Рисунок 1-2, из таблица данных , рядом с «Передаваемая информация «в правом нижнем углу:

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

Серийный номер

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

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

Чтобы отправить конкретный ключ, вам нужно создать собственное сопоставление значений с ключевым значением. Это не так просто, как получение единственного значения любого переданного сообщения, но не вызывает никаких трудностей, просто нажмите каждый ключ и запишите его в поле Кнопка Press Information . Кажется, что это удалось и OP.

Это то, где дерьмо становится серьезным, нам нужно знать, что шифровать в дополнение к ключу:

  1. Состояние кнопки.
  2. бит DISC.
  3. бит OVR.
  4. Синхронизирующий счетчик (16-битное слово увеличивается один раз для каждой кнопки в течение жизненного цикла контроллера).
  5. Ключ шифрования (называемый «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.

Существует три типа «обучения»:

  1. 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.

  2. Normal Learning

    The receiver uses information transmitted during normal operation to derive the crypt key and decrypt the received code word’s encrypted portion

  3. 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+1k+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+1k+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

    Похожие продукты

    KeeLoq 110C1-433A110C1-433A KeeLoq

    Keeloq

    Поставщик Описание Поддержка устройств Part Number

    Microchip

    DEVELOPMENT KIT, RFPIC

    rfRXD0420 / 0920

    DV164102DV164102

    Microchip

    PICkit Анализатор последовательных сигналов

    PIC16F886

    DV164122DV164122

    Microchip

    KeeLoq Evaluation Kit II

    KeeLoq

    DM303006DM303006

    RF Solutions

    ПРЕОБРАЗОВАТЕЛЬ, KEELOQ , 1SW, брелок

    RF Solutions

    ПРЕОБРАЗОВАТЕЛЬ, KEELOQ, 2SW, брелок

    110C2-433A110C2- 433A

    RF Solutions

    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 МГц
    Земля ЗЕМЛЯ
    ВКЦ
    Цифровой контакт 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 МГц!

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

    .

Добавить комментарий

Ваш адрес email не будет опубликован.