В этой статье будет рассказано как на основе популярной платформы Arduino сделать кодграббер для StarLine.
Несколько месяцев назад, впервые только заинтересовавшись изучением уязвимостей, в тот момент меня интересовали только шлагбаумы, которых поставили много и не проехать и не запарковать машину в центре города, я натолкнулся на ряд интересных тем. Особенно меня заинтересовал проект tahion`а. USB универсальный, можно перепрограммировать под что угодно и т.д. Это был мой первый девайс, который мне собрали друзья.
Но везде требовалось, во-первых, изрядное владение паяльником (чего я совсем не умел в тот момент), а во-вторых, хорошее знание особенностей различных МК (программированием, а в том числе и реверс инженирингом я занимаюсь уже лет 20, но изучать еще один ассемблер меня как-то не прикалывало).
Причем очень сильно удручало что везде использовались свои МК — у кого-то PIC, у кого-то AVR, у кого-то что-то еще, что требовало изучение разных МК, вкуривание на даташиты от этих самых МК и т.д. и т.п.
Плюс никто не давал исходных кодов — только готовые прошивки (можно легко взять IDA Pro в руки и превратить прошивку в исходник на асме, но в нём то тоже еще разобраться нужно!).
Я решил попробовать сделать прототип, который:
- будет универсальным, т.е. подходящим под большинство задач;
- не требует хорошего владения паяльным делом;
- не требует особенных знаний МК;
- легко превращается из прототипа в готовое устройство;
- легко расширяется, позволяя достигнув определенных успехов расти дальше, а также использовать его в других областях.
Сразу скажу, что ни второго, ни третьего пункта в итоге избежать не удалось. И теперь я спокойно паяю lqfp-64 микросхемы и неплохо знаю структуру нескольких типов МК, равно как и читаю даташиты по диагонали.
В итоге была выбрана платформа Arduino. Почему она? Потому, что она с легкостью решает почти все поставленные задачи:
- Одна из самых распространенных платформ для прототипирования. Наберите в гугле arduino и посмотрите количество найденных ссылок (на сегодня, порядка 13,5 млн).
- Она доступна, купить готовую arduino-совместимую плату можно за 800 рублей и ничего не требуется паять.
- Для нее существует просто огромное количество различной переферии (в терминологии ардуины — шилдов) и просто неисчислимое количество описаний и примеров.
- Язык программирования ориентирован на новичков (в т.ч. школьников и студентов) и осваивается буквально за несколько часов и уже можно начать ваять прошивки (скетчи — в терминологии ардуины).
- Из ардуины можно взять МК (или купить отдельный) и сделать вполне портативное устройство.
- Профи могут выкинуть arduino ide в помойку, взять avr studio и спокойно выжимать из железа всё доступное им.
Есть несколько ардуино-совместимых плат, они ничем не отличаются, кроме количества и качества используемых компонентов, аналоги иногда даже лучше оригинала. Фирменная Arduino:
Фирменная красивее, но фридруина использует ftdi232rl для usb, а значит будет на ура работать даже под заковыристыми системами. В общем, выбор платы — дело ваше — любая ардуино-совместимая подойдет.
Далее, нужен был трансивер. Для этой цели был выбран приёмопередатчик от старлайн, по многим причинам:
- Один из очень надежных (над ним можно долго извращаться и он сохранит свою работоспособность).
- Толерантный к 5 вольтам (у ардуины вся периферия работает на 5 вольтах, в отличие от брелков, где много что сделано от 1.8 или 3.3в).
- Легко достать (я у знакомых на СТО увидел целый ящик таких трансиверов и легко выклянчил парочку).
Далее, нужно все это соединить (сделать шилд). У меня было несколько вариантов (в порядке моего развития):
Взять протошилд и на основании его, проводков, изоленты, соплей и слюней собрать нечто такое (специально сохранил как свою самую первую поделку):
Тоже самое, только без соплей, зато с эпоксидкой:
Освоить ЛУТ и сделать нормальный переходник:
Как тут быть — решать тоже вам, все схемы работают, включая первую. Для третьей разводку в формате Sprint LayOut прилагаю: starduino
Продолжение следует…
Дальше, при наличии интереса от посетителей и наличия свободного времени я продолжу и расскажу про:
- Написание скетчей по приёму StarLine, KeeLoq, CAME и т.д.
- Подключение Scher-Khan и иных трансиверов.
- Расскажу про создание шилдов под другие ардуины/платформы.
- Расскажу как делать свои девайсы (в том числе и на других МК — PIC, MSP430, ARM, …)кучу фана и драйва — обещаю ))
Обсуждение и продолжение на форуме: https://phreaker.ru/forum/showthread.php?p=6745.
(с) kab
phreakerclub.com