Защита контроллера от считывании кода прошивки. | |||||||
---|---|---|---|---|---|---|---|
power1 22/03/2018 22:39 |
Разработчики часто используют Lock-биты для закрытия своих программ, но это возможно только на живом контроллере.
Интересует закрытый файл прошивки активный один раз. это возможно с применением всяких ключей и их подобных, с ними конечно геморой и 100% их расшифровки, гарантий нет. Случайно, где то была информация, что в контроллерах существует отдельный, (уникальный код кристалла) который можно прописать в прошивку, и этот код программы примет только тот прописанный контроллер. Кто подскажет, как узнать, считать этот уникальный код с пустого нового контроллера. |
||||||
n max 22/03/2018 23:14 |
Это серийный номер кристалла,который храниться в специальном регистре доступном только для чтения.Такую защиту используют производители мобильных гаджетов для защиты от несанкционированной замены микросхем(неавторизованного ремонта).Но если вы будете использовать в своей программе проверку его на соответствие какому то числу то эту процедуру можно легко обойти считав и поправив программу
ДОБАВЛЕНО 22/03/2018 23:16 С мобильными девайсам там проверка идёт через инет на сервере производителя--т.е генериться цифирь на основе этих серийников--отправляется на сервак там проверяется валидность и приходит цифирь в ответ и девайс активируется. ДОБАВЛЕНО 22/03/2018 23:17 Проверка серийников офллайн была в первых моделях трубок нокия и её успешно отломали злобные хакеры |
||||||
power1 22/03/2018 23:35 |
Получается так, считываю к камня его код, заношу в свою прошивку, только этот код при соответствии принимает данный контроллер, другие камни не берут, или что с ошибкой. Загнать мою прошивку, в другой камень нужно заменить в ней существующий код на другой, по соответствию другого контроллера
это получается как с ключами, нужно выявить, увидеть этот ключ в коде прошивки, думаю очень сложно, если еще в прошивку вставлю этот ключ внутри мусора, смешенного с рабочим кодом. Нужно пробовать, но как увидеть, этот уникальный код? ДОБАВЛЕНО 22/03/2018 23:50
Разве его не как использовать, применить как ключ к открытию приема данных. |
||||||
n max 22/03/2018 23:50 |
Наверное надо изучить даташит на ваш контроллер там должен быть адрес регистра в котором прописан чпу ид.
Да ни кто не будет искать среди мусора вашу цифирь это нафиг и не надо.Главное найти точку входа в процедуру проверки и точку возврата+переход по условию остальное дело техники направить программу в правильное русло.Поправив несколько байт прошивки ДОБАВЛЕНО 22/03/2018 23:55 Использовать для приёма данных--это по аналогии с лоченным заргузчиком в телефоне--это тоже отламывается ДОБАВЛЕНО 22/03/2018 23:59 Таким же образом можно записать цифирь в епром и закрыть его от чтения результат будет аналогичен серийнику проца |
||||||
power1 23/03/2018 00:11 |
n max, Не поймем мы друг друга, задача создать файл прошивки, который пройдет по открытому каналу в определенный контроллер
и установит в нем программу, другие же не примут ее, или наберут со всякой вставленной билебердой. По истечению наработки часов, контроллер блокируется, и что бы заблокировать счетчик , остановить другой прошивкой |
||||||
n max 23/03/2018 00:22 |
Чего тут не понятного не указан тип контроллера это микросхема или промышленный контроллер(типа плк)
Во вторых задача эта практическая или теоретическая Если ваша разработка будет в единичном экземпляре для конкретного применения то ни кто ломать вашу защиту не будет.Или вы супер мега девайс разрабатываете с выходом на мировые рынки-тут другое дело ДОБАВЛЕНО 23/03/2018 00:24
Для этого достаточно сделать счётчик в епроме и периодически его инкрементировать,как досчитает до нужного включается злобный алгоритм стирания прошивки Вроди так |
||||||
power1 23/03/2018 00:57 |
Да счетчик не проблема, что придумать интересней. Нет на моем контроллере, серийник не запрограммирован
жаль не нашел такой приписки... |
||||||
n max 23/03/2018 01:12 |
В контроллерах начального уровня такой фишки нет в более продвинутых уже должна быть.
Подключить к свободной ноге таблетку от домофона и читать ёе серийник и по нему делать проверку |
||||||
power1 23/03/2018 01:13 |
n max Да контроллер обычный Atmega, готовых проектов много, в работе, проверенны, востребованы, геморой изготовлять девайсы, стоять в очередях на почте. Задумка рассылать прошивки. |
||||||
n max 23/03/2018 01:24 |
Клиенту выдавать только загрузчик чтоб он мог залить его в атмегу и подключить оный к компу допустим по усб\ком а прошивку лить удалённо.
Да и на случай самостоятельного изготовления ваших устройств клиентом желающих поубавиться,да и у братьев из поднебесной сейчас много чего можно купить за вменяемые деньги в виде конструктора или готового девайса ДОБАВЛЕНО 23/03/2018 01:25 Да сейчас если игра стоит свеч то из защищённого контроллера могут вытащить прошивку правда денюх стоит это приличных |
||||||
power1 23/03/2018 01:42 |
Это как, сначала сохранит загрузчик, поймает в след прошивку. И поехали в конвеер! ДОБАВЛЕНО 23/03/2018 01:50
Тащить ее не будут, не стоит таких денег, а наживиться на халяву сию каждый третий. |
||||||
n max 23/03/2018 21:36 |
Загрузчик лежит в открытом доступе клиент его заливает в чип самостоятельно,а далее по интерфейсу льётся прошивка |
||||||
power1 24/03/2018 20:40 |
n max
Ээт как, можно по подробнее, я зааписываю!!!! |
||||||
n max 24/03/2018 21:00 |
Это небольшая программулька,которая может залить прошивку через интерфейс ком порт или усб основную программу.
В процессорах от филлипс такую заливают с завода,чтоб можно было их прошить через RS232 внутрисхемно.Потом при залитии осн программы загрузчик затирается и не мешает работать основной программе.Обычно располагается в конце памяти программ. |
||||||
power1 24/03/2018 21:40 |
n max,
Это небольшая программулька |
||||||
Rom-Zecs 28/03/2018 03:31 |
если бы ты на самом деле что то создал, то такого вопроса не возникло бы.
калибровочная константа |
||||||
power1 28/03/2018 10:33 |
Сюда бы не обратился, сразу за авторским пошел бы. |
||||||
Rom-Zecs 28/03/2018 15:02 |
все бы получали авторское на свои свистелки |
||||||
power1 28/03/2018 18:01 |
Да с кем совет держать то, гляжу вы не мастер совсем,
а попиздеть все умеют. |
||||||
Rom-Zecs 28/03/2018 19:18 |
http://monitor.espec.ws/section44/topic291849p20.html
я так понимаю это продолжение той темы http://monitor.espec.ws/section5/topic291418.html насчет того, кто любитель потрындеть |
||||||
power1 28/03/2018 21:17 |
Rom-Zecs, Точно так подметил. Но ты не прав, прошивка на ПММ давно написана, в работе и востребована,
скину скоро в открытом доступе будет, сию другим занимаюсь по сложней, тоже окупит нервы все увидят. |
||||||
n max 28/03/2018 21:29 |
Это лего вычисляемо при копировании прошивки в другую микросхему факт её чтения и проверки легко засечь,ну а потом поправить в другой микре |
||||||
Rom-Zecs 28/03/2018 21:52 |
факт чтения прошивкой калибровочной константы легко засечь? да я и не говорил что это идеальный вариант защиты, но хоть что то более менее однозначно привязанное к кристалу. можно чуть усложнить если не заносить это значение в прошивку в открытом виде. и вообще если я правильно понял то массовость будет невысокой и автор не боится появления клонов пс, можно сделать прошивку тестовую, свободно распространяемую, она будет проверять исправность железа и заодно считывать необходимые сведения о микре и о прохождении\непрохождении теста, рабочая прошивка дается в обмен на тестовую прошедшую рабочий цикл |
||||||
n max 28/03/2018 22:07 |
Имелось ввиду команда обращения к этому регистру для чтения её ни как не зашифруешь,а далее путь этих данных уже можно отследить. Если я считаю прошивку с одной микросхемы и залью её в другую и она не заработает то изучив даташит быстро найду отличия
ДОБАВЛЕНО 28/03/2018 22:17 В реале эту константу прочитают и бухнут в стэк там с ней произведут какие то действия и сравнят с эталоном потом будут 2 ветки одна если совпало,вторая если нет.Тут не вникая в сложности шифрования просто поправить вторую ветку алгоритма чтоб она совпала с первой по точке входа.И микре станет пофиг на эту константу |
||||||
Rom-Zecs 29/03/2018 13:07 |
вряд ли можно что то существенно более взломостойкое придумать.
только если отправлять зашитые чипы ДОБАВЛЕНО 29/03/2018 13:07 http://www.cyberforum.ru/avr/thread2086327.html похожая тема |
||||||
n max 29/03/2018 22:01 |
Ну так и я об этом.Всё отламываемо |
||||||
Rom-Zecs 30/03/2018 10:39 |
ну значит нех выпендриваться. Надо надежно - зашитые чипы. Надо чтоб пользователь сам шил - либо слать в открытую, либо геморрой для пользователя и к тому же, не особо надежно |
||||||
power1 30/03/2018 14:44 |
[quote="Rom-Zecs"][quote="n max"]
Тесты то можно скинуть, Работа в ускоренном режиме всех циклов, это есть в программах, вхождение в тестовый режим, и выявление ошибок. Но что стоит получившему эту пробную прошиву, залезть в нее и добавить время на таймерах, это же проще некуда. И опять же хоть и вырезать с нее половина, как потом дать ему закрытую рабочую, вот вопрос. Остается только по старинке толкаться на почте и высылать уже закрытые камни.... |
||||||
Rom-Zecs 30/03/2018 21:26 |
я говорил что "если бы ты на самом деле что то создал, то такого вопроса не возникло бы. " пс тебе уже сказали что можно а что нельзя с этим чипом |
||||||
n max 30/03/2018 21:31 |
Остаётся так и делать толкать на почте Даже если вам и удастся реализовать проверку серийника и выложить в открытом доступе вашу прошивку,то поправить её в нужных целях сможет любой програмописатель.Такие случаи уже были |