Цитата(Alfa @ Feb 22 2012, 05:52)

Вопрос по EAT. Может где уже спрашивали - поиском не нашел....
Можно ли защитить свою прошивку от считывания?
Думаю, что нет. Quectel точно нет. Код оцпу находится по фиксированному адресу в бинарном виде и может быть считан флеш-утилитой и затем скопирован в другой модуль с полным сохранением работоспособности.
Как вариант защиты видится привязка пользовательского кода к уникальным идентификаторам конкретного модуля. Причем IMEI и серийный однозначно не подходят, т.к. могут быть легко изменены.
Я использую идентификатор чипа флеш-памяти (там отп-область, и она уже привязана к ядру при его корректной заливке - это часть защиты производителя от клонирования модулей конкурентом) - китайцы дали, как получить это число.
А далее - на ваше усмотрение: или тупо проверяете на старте вашей программы (что убирается за 10 мин дизассемблированием и патчем), или усеиваете весь код пятнами, неявно сверяя определенные данные, полученные в других местах в виде вычислений, или даже можете использовать такие извращения, как неявные переходы и т.п. Это существенно затруднит разбор дизассемблированного кода. И вот когда затраты человекочасов на разбор достигнут затрат на написание аналогичной программы, считайте, что вы защищены от взлома.
Именно таким образом надо бороться с нами - хакерами, а не патентовать продукт

PS: я уже писал в другой теме: как вариант, можете перенести значимую (или хотя-бы неотъемлемую) часть кода в дешевый внешний МК под бит защиты. Т.о. основная прошивка без коррекции станет бесполезной. Цена вопроса коррекции и равна степени защиты.
Сообщение отредактировал GeGeL - Feb 22 2012, 06:31