Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: reverce engineering
Форум разработчиков электроники ELECTRONIX.ru > Программируемая логика ПЛИС (FPGA,CPLD, PLD) > Работаем с ПЛИС, области применения, выбор
aliko
Добрый день!

Я совершенно не смыслю в ПЛИС, так что если мой вопрос покажется глупым не пинайте ногамиsmile.gif

А вопрос в следующем. Если имеется *.pof файл с конфигурацией для Altra Flex, существует ли возможность каким-либо образом "дизассемблировать" (незнаю как правильно назвать этот процесс) его, получить подобие исходного проекта с целью внесения небольших изменений в код?

Какие существуют подходы, есть ли соответствующие программы? Буду благодарен за любую наводку, ссылку и т.д.
Builder
Цитата(aliko @ Mar 15 2007, 18:47) *
Добрый день!

Я совершенно не смыслю в ПЛИС, так что если мой вопрос покажется глупым не пинайте ногамиsmile.gif

А вопрос в следующем. Если имеется *.pof файл с конфигурацией для Altra Flex, существует ли возможность каким-либо образом "дизассемблировать" (незнаю как правильно назвать этот процесс) его, получить подобие исходного проекта с целью внесения небольших изменений в код?

Какие существуют подходы, есть ли соответствующие программы? Буду благодарен за любую наводку, ссылку и т.д.


Тереотически да, практически - нет. Т.к нет никакой информации и утилит, которые могут в этом помочь.
klop
Цитата(aliko @ Mar 15 2007, 17:47) *
Добрый день!

Я совершенно не смыслю в ПЛИС, так что если мой вопрос покажется глупым не пинайте ногамиsmile.gif

А вопрос в следующем. Если имеется *.pof файл с конфигурацией для Altra Flex, существует ли возможность каким-либо образом "дизассемблировать" (незнаю как правильно назвать этот процесс) его, получить подобие исходного проекта с целью внесения небольших изменений в код?

Какие существуют подходы, есть ли соответствующие программы? Буду благодарен за любую наводку, ссылку и т.д.


Я думаю в большшинстве случаев дешевле будет разработать систему заново.
aliko
Цитата(Builder @ Mar 15 2007, 18:02) *
Тереотически да, практически - нет. Т.к нет никакой информации и утилит, которые могут в этом помочь.


Очень удивительно что до сих пор никто не озаботился написанием подобных утилит, ведь для обычных процессоров дизассемблеры существуют и успешно используются уже давно... blink.gif

Цитата(klop @ Mar 15 2007, 18:07) *
Я думаю в большшинстве случаев дешевле будет разработать систему заново.


А если не дешевле? Каким путем Вы бы пошли тогда?

Фирмы которые специализируются на взломе, после того как сопрут конфигурацию, как они работают с ней дальше? Или они останавливаются на этом и дальнейшая работа не входит в их компетенцию? Если же они всетаки могут восстановить хотя бы частично исходный проект, то как они это делают, каким пользуются инструментарием?
Fakir
Можно попробовать IDA натравить, она понимает много разных форматов, в том числе и для микроконтроллеров.
Если она не поддерживает данный формат, может его можно конвертировать например в HEX или другой...
makc
Цитата(Fakir @ Mar 16 2007, 08:38) *
Можно попробовать IDA натравить, она понимает много разных форматов, в том числе и для микроконтроллеров.
Если она не поддерживает данный формат, может его можно конвертировать например в HEX или другой...


IDA тут не поможет. Она не для ПЛИС/CPLD. Можно попробовать поискать на альтере описание этого формата и написать свой декомпилятор. Но это не просто...
Doka
Цитата(aliko @ Mar 15 2007, 18:35) *
Фирмы которые специализируются на взломе, после того как сопрут конфигурацию....

а чего там специализироваться-то?.. чтобы записать дамп конфигурационного потока FPGA при включении питания - там что высшее образование нужно?))

Цитата(aliko @ Mar 15 2007, 18:35) *
... после того как сопрут конфигурацию, как они работают с ней дальше? Или они останавливаются на этом и дальнейшая работа не входит в их компетенцию? Если же они всетаки могут восстановить хотя бы частично исходный проект, то как они это делают, каким пользуются инструментарием?

ну обычно это делают (прут конф) в случае создания полного клона целевого устройства.

когда задача стоит разобраться в алгоритме, который содержит в себе битстрим, или еще хуже - внести в него осмысленные изменения (а в качестве целевого семейства вами указана не голимая ЦПЛДшка на 100макроячеек), то самый дешевый и быстрый путь - заплатить автору: за исходники или за внесение изменений в код
- эта тема неоднократно поднималась на форуме и обсуждалась
aliko
Цитата(Doka @ Mar 16 2007, 10:31) *
а чего там специализироваться-то?.. чтобы записать дамп конфигурационного потока FPGA при включении питания - там что высшее образование нужно?))
ну обычно это делают (прут конф) в случае создания полного клона целевого устройства.

когда задача стоит разобраться в алгоритме, который содержит в себе битстрим, или еще хуже - внести в него осмысленные изменения (а в качестве целевого семейства вами указана не голимая ЦПЛДшка на 100макроячеек), то самый дешевый и быстрый путь - заплатить автору: за исходники или за внесение изменений в код
- эта тема неоднократно поднималась на форуме и обсуждалась


Ну если не предусмотрено никаких схем защиты от копирования конфигурационного потока то конечно ума много не надо. Тоесть вы хотите сказать что эти фирмы занимающиеся взломом не просто сохраняют битстрим (сохранить который обычно не составляет труда), а могут именно восстанавливать каким-то образом проект? Какими же инструментами они пользуются, какие применяют подходы к решению поставленной задачи?

По поводу поисков автора - бывают случаи когда автора не представляется возможным найти,а проекты теряются и возникает вопрос как восстановить то что было...
klop
Цитата(aliko @ Mar 16 2007, 11:16) *
Ну если не предусмотрено никаких схем защиты от копирования конфигурационного потока то конечно ума много не надо. Тоесть вы хотите сказать что эти фирмы занимающиеся взломом не просто сохраняют битстрим (сохранить который обычно не составляет труда), а могут именно восстанавливать каким-то образом проект? Какими же инструментами они пользуются, какие применяют подходы к решению поставленной задачи?

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


Все это хорошо но цена такого пректа бует ооочень немаленькой. Дешевле будет заново сделать.



Цитата(makc @ Mar 16 2007, 08:42) *
IDA тут не поможет. Она не для ПЛИС/CPLD. Можно попробовать поискать на альтере описание этого формата и написать свой декомпилятор. Но это не просто...


Скорее всего формат тоже придется "вычислять" методом проб и ошибок sad.gif
Postoroniy_V
Цитата(aliko @ Mar 15 2007, 17:47) *
Добрый день!

Я совершенно не смыслю в ПЛИС, так что если мой вопрос покажется глупым не пинайте ногамиsmile.gif

А вопрос в следующем. Если имеется *.pof файл с конфигурацией для Altra Flex, существует ли возможность каким-либо образом "дизассемблировать" (незнаю как правильно назвать этот процесс) его, получить подобие исходного проекта с целью внесения небольших изменений в код?

Какие существуют подходы, есть ли соответствующие программы? Буду благодарен за любую наводку, ссылку и т.д.

Подходы есть вот обратитесь к литературе дешифрация чего угодно

p.s. ничего личного smile.gif
klop
Цитата(Postoroniy_V @ Mar 16 2007, 11:57) *
Подходы есть вот обратитесь к литературе дешифрация чего угодно

p.s. ничего личного smile.gif


Ха.Ха.Ха. Вот только что делать когда не знаешь где искать автора. cranky.gif



To aliko. Вы кстати скажите сколько денег Вы считаете возможным потратить на эти изыскания. Потому что если выяснится что бюджет этого проекта 20-30 т.р. то и дискусию можно закрывать за ненадобностью.
aliko
Цитата(Postoroniy_V @ Mar 16 2007, 11:57) *
Подходы есть вот обратитесь к литературе дешифрация чего угодно

p.s. ничего личного smile.gif

термо@екальный анализ... очень смешно... biggrin.gif

Цитата(klop @ Mar 16 2007, 12:08) *
Ха.Ха.Ха. Вот только что делать когда не знаешь где искать автора. cranky.gif
To aliko. Вы кстати скажите сколько денег Вы считаете возможным потратить на эти изыскания. Потому что если выяснится что бюджет этого проекта 20-30 т.р. то и дискусию можно закрывать за ненадобностью.

Бюджет проекта называть не хотелось бы... скажем так, если вместо рублей написать долларов то будет гораздо теплее
Postoroniy_V
Цитата(aliko @ Mar 16 2007, 17:01) *
термо@екальный анализ... очень смешно... biggrin.gif
Бюджет проекта называть не хотелось бы... скажем так, если вместо рублей написать долларов то будет гораздо теплее

ИМХО бюджет у вас хороший, как мне кажется светодиодными экранами занимаетесь, и крякнуть хотите чужой контроллер от этого экрана wink.gif угадал?
klop
Цитата(Postoroniy_V @ Mar 16 2007, 17:14) *
ИМХО бюджет у вас хороший, как мне кажется светодиодными экранами занимаетесь, и крякнуть хотите чужой контроллер от этого экрана wink.gif угадал?


При таком бюджете мне кажется проще заново такой контроллер сделать.
EvgenyNik
Ну при таком бюджете, может перенесём разговор в подфорум "Предлагаю работу"? ;-)
Я бы начал с этого.
dvladim
Это работа штучная.
Давайте более детально: какая конкретно ПЛИС?
В лучшем случае можно получить gatelevel нетлист.
Alex11
Да и то это серьезная исследовательская деятельность. Дело в том, что даже зная формат .pof (он есть, правда старый), получить оттуда можно только информацию вида "в такой-то ячейке памяти записано такое-то число", а вот как соотносится структура чипа с адресами ячеек памяти не описано нигде. Это нужно выяснять, делая медельный проект и конфигурируя cell'ы по одному и смотря на содержимое памяти.
klop
Цитата(Alex11 @ Mar 17 2007, 10:24) *
Да и то это серьезная исследовательская деятельность. Дело в том, что даже зная формат .pof (он есть, правда старый), получить оттуда можно только информацию вида "в такой-то ячейке памяти записано такое-то число", а вот как соотносится структура чипа с адресами ячеек памяти не описано нигде. Это нужно выяснять, делая медельный проект и конфигурируя cell'ы по одному и смотря на содержимое памяти.


Я о том и говорил в своих предыдущих ответах. Но это цветочки. Ягодки - разобраться что и как там работает (уже с netlist). Конечно если там все тривиально - нет проблем. А если там какая нибудь SOC пусть даже на восьмиразряднике cranky.gif
dvladim
Цитата(Alex11 @ Mar 17 2007, 10:24) *
а вот как соотносится структура чипа с адресами ячеек памяти не описано нигде. Это нужно выяснять, делая медельный проект и конфигурируя cell'ы по одному и смотря на содержимое памяти.

Модельными проектами дело не ограничится. Нужно восстанавливать электрическую схему кристалла.
aliko
Цитата(Alex11 @ Mar 17 2007, 10:24) *
Да и то это серьезная исследовательская деятельность. Дело в том, что даже зная формат .pof (он есть, правда старый), получить оттуда можно только информацию вида "в такой-то ячейке памяти записано такое-то число", а вот как соотносится структура чипа с адресами ячеек памяти не описано нигде. Это нужно выяснять, делая медельный проект и конфигурируя cell'ы по одному и смотря на содержимое памяти.


Вобщем из всей дискуссии вывод следует такой что действительно при необходимости внесения изменений проще писать с нуля. Проблема номер раз - разобрать формат файла, далее проблема номер 2 узнать структуру чипа, но на самом деле все проблемы тут только и начинаются... blink.gif

Спасибо всем кто откликнулся, поделился своими мыслями! a14.gif
dvladim
Цитата(aliko @ Mar 17 2007, 20:41) *
Вобщем из всей дискуссии вывод следует такой что действительно при необходимости внесения изменений проще писать с нуля.

Абсолютно верно.

Единственным случаем, когда имеет смысл выполнять такую работу, это когда ПЛИС выполняет некое преобразование и надо выполнить обратное преобразование. Однако, в случае когда такое преобразование несимметрично (например системы шифрации с открытыми кодами), тогда и работа такая будет бесполезна.

Цитата(aliko @ Mar 17 2007, 20:41) *
Проблема номер раз - разобрать формат файла, далее проблема номер 2 узнать структуру чипа, но на самом деле все проблемы тут только и начинаются

Вы правильно перечислили две проблемы. Данные работы хоть трудоемки и затратны, но являются механическими и приведут к получению нетлиста. Основной проблемой будет понимание работы схемы по имеющемуся нетлисту. В случае более менее сложной схемы, понимание схемы может затянуться на произвольное время, а затраты могут быть значительно выше предыдущих работ.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.