реклама на сайте
подробности

 
 
> Неизвестный аппаратный алгоритм защиты, Возможно-ли определить?
Loran
сообщение Nov 29 2009, 15:27
Сообщение #1





Группа: Участник
Сообщений: 13
Регистрация: 11-11-06
Пользователь №: 22 187



Здравствуйте уважаемые господа.
Существует устройство на базе 32-битного процессора + FPGA Altera + 32 - битная ПЗУ. ПЗУ имеет защиту загрузочной области (1Мб) от модификации, контроль проходит на аппаратном уровне (FPGA) и похоже по принципу нулевого остатка (принцип BIOS), при несовпадении контрольной суммы девайс просто блокирует адресную шину и процессор пере запускается посредством срабатывания сторожевого таймера.
Есть несколько прошивок ПЗУ с отличием в 9 байт, где 4 - это именно корректирующие байты. Пробовал массу вариантов, но увы...
Скажите, есть-ли какой либо алгоритм для решения моей проблемы: определение алгоритма подсчета контрольной суммы.
Спасибо.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов (1 - 4)
SM
сообщение Nov 29 2009, 16:03
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 7 946
Регистрация: 25-02-05
Из: Moscow, Russia
Пользователь №: 2 881



Цитата(Loran @ Nov 29 2009, 18:27) *
Скажите, есть-ли какой либо алгоритм для решения моей проблемы: определение алгоритма подсчета контрольной суммы.

Есть. Терморектальный. Применять к разработчику устройства.
Других нету, так как все сводится к реверсу прошивки ПЛИС, а средств для этого нет. Ну и перебор всех возможных полиномов для подсчета CRC, всех возможных вариантов суммирования, XOR-енья, и прочего извращения над данными, что скорее всего не реально по затратам времени.
Go to the top of the page
 
+Quote Post
Loran
сообщение Nov 29 2009, 16:23
Сообщение #3





Группа: Участник
Сообщений: 13
Регистрация: 11-11-06
Пользователь №: 22 187



Увы, но вы подтвердили мои опасения, спасибо.
Go to the top of the page
 
+Quote Post
dvladim
сообщение Nov 29 2009, 17:07
Сообщение #4


Знающий
****

Группа: Свой
Сообщений: 654
Регистрация: 24-01-07
Из: Воронеж
Пользователь №: 24 737



Готового рецепта нет, но можно попробовать наиболее вероятные варианты.
Имеет смысл попробовать CRC32 со стандартными полиномами. Прямыми и зеркальными. С различной инициализацией FFFFFFFF и 0. Шансы невелики, но полный перебор нереален.
Go to the top of the page
 
+Quote Post
Loran
сообщение Nov 29 2009, 17:53
Сообщение #5





Группа: Участник
Сообщений: 13
Регистрация: 11-11-06
Пользователь №: 22 187



В самом ПЗУ организованы еще алгоритмы защиты, но уже програмные и они не относятся к первому мегабайту, вот их я с товарищем победил. Для первого мегабайта испробовал массу вариантов с использованием стандартных полиномов (ну те которые нашел), плюс варианты содержания начального и конечного буфера.
Сейчас пытаюсь определить одно значение таблицы ARRAYCRC, но возможно это зря. Можно попробовать написать программу с перебором полинома, но пока еще не понял сам принцип и требования при его выборе (ну просто знаний маловато, да и косность ума).
Спасибо откинувшимся.
Go to the top of the page
 
+Quote Post

Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 19th July 2025 - 20:16
Рейтинг@Mail.ru


Страница сгенерированна за 0.01364 секунд с 7
ELECTRONIX ©2004-2016