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

 
 
4 страниц V   1 2 3 > »   
Reply to this topicStart new topic
> Вопрос о возможности декомпиляции ПЛИС
AALEGYR
сообщение Feb 11 2011, 13:46
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 32
Регистрация: 25-11-08
Пользователь №: 41 965



Уважаемые спецалисты, сразу хочу сказать, что к разработке электронной аппаратуры я уже давно не имею никакого отношения, так как последние 20 лет мне приходится заниматься ремонтом этой самой электронной аппаратуры. И если вчера мне хватало знаний чтобы успешно справлятся с этим делом, и ремонтировать эту технику на компонентном уровне, то сегодня все это уже дается в большим трудом, так как возникает масса вопросов.
Дело в том, что посление годы схемы устройств стали представлять из себя не графическое изображение электрических связей между отдельными электронными компонентами, а набор многоножечных прямоугольников c указанием функциональных связей. Получается, что я еще могу узнать куда на ПЛИС системный контроллер (HD64F2378R) подал тот или иной сигнал, а вот что с этим делом сделала ПЛИС это уже темный лес! Мало того раньше на принципиальных схемах были указаны какой контакт микрухи куда идет, и зная это можно было хоть связи прозвонить. Сегодня и это уже не всегда указывается, так как производитель решил, что для ремонта принципиальная схема не нужна, и вполне достаточно иметь блок-схему со схемой связей между разъемами плат. В такой ситуации не то что на компонентном уровне не отремонтируешь аппарат, но часто и с платой не определишься, до тех пор пока не найдешь второй исправный аппарат. Ведь импульсики то бегают везде, а ОНО не работает, тихо моргая красной лампочкой, или вообще не мограя, а тупо зависая.

Скажите мне пожалуйста - можно ли по конфигурационной прошивке определить внутреннее содержание ПЛИС?
Конкретно меня интересует возможность декомпиляции Cyclone III через содержание EPCS-16
Go to the top of the page
 
+Quote Post
des00
сообщение Feb 11 2011, 13:50
Сообщение #2


Вечный ламер
******

Группа: Модераторы
Сообщений: 7 248
Регистрация: 18-03-05
Из: Томск
Пользователь №: 3 453



нет


--------------------
Go to the top of the page
 
+Quote Post
Shtirlits
сообщение Feb 11 2011, 14:08
Сообщение #3


Знающий
****

Группа: Свой
Сообщений: 845
Регистрация: 18-10-04
Из: Pereslavl-Zalessky, Russian Federation
Пользователь №: 905



Да.
Но трудоемкость (цена) такая, что сводит ответ к "нет".

PS: Если cyclone-III LS, то добавится вероятность шифрации прошивки.
Go to the top of the page
 
+Quote Post
AALEGYR
сообщение Feb 11 2011, 14:25
Сообщение #4


Участник
*

Группа: Участник
Сообщений: 32
Регистрация: 25-11-08
Пользователь №: 41 965



Цитата(des00 @ Feb 11 2011, 16:50) *
нет


А чем это обусловлено?
Насколько я понимаю, конфигурационная память, каждый раз когда включается устройстиво, определят что будет делать ПЛИС, и какие контакты будет использовать для этого. Кроме того, разработка проекта завершается процессом компиляции, ну а если есть компиляция то неужели нет декомпиляции?

Цитата(Shtirlits @ Feb 11 2011, 17:08) *
Да.
Но трудоемкость (цена) такая, что сводит ответ к "нет".


Если да, то какими програмными средствами это достигается?
Ну а про трудоемкость, я хорошо представляю.


Сообщение отредактировал AALEGYR - Feb 11 2011, 14:18
Go to the top of the page
 
+Quote Post
Shtirlits
сообщение Feb 11 2011, 14:41
Сообщение #5


Знающий
****

Группа: Свой
Сообщений: 845
Регистрация: 18-10-04
Из: Pereslavl-Zalessky, Russian Federation
Пользователь №: 905



Для spartan-ов кое-что есть, а для cyclone-3 я не встречал и в трудоемкость кроме гугления и писания сообщений в форумах может добавиться изучение битстрима cyclone, декомпиляция кусков quartus и написание своего декомпилятора.
Не хочу сказать, что это невозможно вообще и для одного человека-оркестра в частности,
просто сильно сомневаюсь в целесообразности.
Go to the top of the page
 
+Quote Post
des00
сообщение Feb 11 2011, 18:03
Сообщение #6


Вечный ламер
******

Группа: Модераторы
Сообщений: 7 248
Регистрация: 18-03-05
Из: Томск
Пользователь №: 3 453



Цитата(AALEGYR @ Feb 11 2011, 08:25) *
Насколько я понимаю, конфигурационная память, каждый раз когда включается устройстиво, определят что будет делать ПЛИС, и какие контакты будет использовать для этого. Кроме того, разработка проекта завершается процессом компиляции, ну а если есть компиляция то неужели нет декомпиляции?

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


--------------------
Go to the top of the page
 
+Quote Post
AALEGYR
сообщение Feb 11 2011, 20:31
Сообщение #7


Участник
*

Группа: Участник
Сообщений: 32
Регистрация: 25-11-08
Пользователь №: 41 965



Цитата(des00 @ Feb 11 2011, 21:03) *
Ну плис на контактах не заканчивается %) плис это большой набор различной логики(люты, регистры, трассы, пллки, умножители, память и т.д.), конфигурируемой статическими мультиплексорами и блоками статической памяти.


То что плис это большой набор различной логики для меня это не новость. Я все-таки только последние 20 лет из 35 трудового стажа занимаюсь ремонтом. Меня больше интересует информация о том каким образом в конфигурационной памяти упаковывается информация.
Я допускаю, что мои дилетанские вопросы могут вызвать у специалиста по ПЛИСам некоторую иронию, которая выражается в ответах вопросом на вопрос, но мне бы хотелось услышать аргументированный ответ. Я не понимаю, почему по прошивке того же HD64F2378R я могу перевести байты памяти в буквы ассемблера, а c ПЛИС эта задача не имеет решения? Особенно если учитывать, что и в том и другом случае, работа каждого определяется программой, а байтовые объемы самих программ соизмеримы. Чем уж так ассемблер контроллера отличается от Verilogа или VHDL у ПЛИС? Ведь в обоих случаях, работа этих микросхем определяется расположением битов в байтах памяти, но для прошивок контроллеров есть дисассемблер типа IDA Pro, а для плисов подобного нет. Мне кажется, что для ПЛИС решение такой задачи должно быть даже проще.
Go to the top of the page
 
+Quote Post
Shtirlits
сообщение Feb 11 2011, 20:43
Сообщение #8


Знающий
****

Группа: Свой
Сообщений: 845
Регистрация: 18-10-04
Из: Pereslavl-Zalessky, Russian Federation
Пользователь №: 905



QUOTE (AALEGYR @ Feb 11 2011, 23:31) *
Мне кажется, что для ПЛИС решение такой задачи должно быть даже проще.

Если не нравится ответ, зачем было спрашивать?

Если найдёте документацию на bitstream или софтину для декомпиляции, не обязательно с сайта альтера, поделитесь, пожалуйста.
Я более, чем уверен, что готового средства нет, быстро его не сделать. Дёшево тоже не выйдет, даже если кто-то возьмётся работать за еду (много лет). Кроме того, содержимое прошивки - это второй инструмент разработчика после предоплаты. Узнать в какую сторону сконфигурирована ножка, на ввод или вывод не сложно, а почему эта сволочь отказывается моргать зеленой лампочкой, а светит красной, может стоить больше, чем это обошлось автору - он-то пользовался готовыми компиляторами.
Go to the top of the page
 
+Quote Post
des00
сообщение Feb 12 2011, 03:49
Сообщение #9


Вечный ламер
******

Группа: Модераторы
Сообщений: 7 248
Регистрация: 18-03-05
Из: Томск
Пользователь №: 3 453



Цитата(AALEGYR @ Feb 11 2011, 14:31) *
но мне бы хотелось услышать аргументированный ответ. Я не понимаю, почему по прошивке того же HD64F2378R я могу перевести байты памяти в буквы ассемблера, а c ПЛИС эта задача не имеет решения?

разве я плохо аргументировал?
Цитата
Чем уж так ассемблер контроллера отличается от Verilogа или VHDL у ПЛИС?

тем что ассемблер для проца, это набор команд выполняющихся на железе, с жестко заданной функциональностью. Между ними есть строгое соответствие. А прошивка для ПЛИС это всего лишь битики управления статическими мультиплексорами и содержимое блоков памяти плис. И строгой зависимости того как эти битики соответствуют тому или иному исходному коду/алгоритму и т.д. нет. На результат влияют настройки синтезатора, какая машина использовалась, функциональность проекта, версия софта и т.д.

Цитата
Мне кажется, что для ПЛИС решение такой задачи должно быть даже проще.

Если найдете, особенно для плисов класса третьего сыклона, подавайте заявку в нобелевский комитет, вас признают %)


--------------------
Go to the top of the page
 
+Quote Post
dvladim
сообщение Feb 12 2011, 07:57
Сообщение #10


Знающий
****

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



Цитата(AALEGYR @ Feb 11 2011, 23:31) *
Мне кажется, что для ПЛИС решение такой задачи должно быть даже проще.

Если кажется что проще - попробуйте сделать простенький проект и при синтезе укажите создание файлов для моделирования. Получите Верилоговский нетлист в примитивах ПЛИС. А потом попробуйте восстановить исходный код с этой портянки. При декомпиляции битового потока максимум что можно получить - такой же нетлист.
А что касается софта: place & route и assembly каждая фирма для своих ПЛИС пишет сама. Декомпиляторы им писать незачем. А другие не пишут декомпиляторы потому что с получившегося нетлиста логику все равно не понять (трудоемкость выше чем все самому заново написать).
Go to the top of the page
 
+Quote Post
vitan
сообщение Feb 12 2011, 11:47
Сообщение #11


не указал(а) ничего о себе.
******

Группа: Свой
Сообщений: 3 325
Регистрация: 6-04-06
Пользователь №: 15 887



AALEGYR
В общем виде задача решаема. А в частном - только после решения в общем. Это как бы затрудняет процесс. sm.gif

В принципе, после выявления того, как внутри ПЛИС соединены ее внутренние элементы, можно понять, как она функционирует, но это задача примерно того же плана, что и понимание, как работает программа после дизассемблиования.
Допустим, Вы увидите, как соединены примитивы, и сможете проследить путь сигнала от входа к выходу. Но разве это поможет пониманию? Точно так же, глядя на дизассемблированный код, Вы будуте долго разбираться, как работает программа. А ведь могут еще быть применены специальные средства для защиты от такого "понимания".
Честно говоря, иногда сложно бывает понять принципы работы некоторых устройств, даже имея принципиальную схему. И не только мне. На днях приезжал ко мне представитель завода, на котором делают серийно платы, что я разрабатывал. Просил методику поиска неисправностей. Куда смотреть, что тыкать. При этом полный комплект КД у них есть, включая схему. Нету только волшебных знаний. Помочь я ему не смог, да и не сильно хотел, признаться (но это уже другой вопрос). Так вот, реверс инжиниринг - это отдельная область, просто так туда не попасть.
В общем, если Вы не профессионал в этом деле, то я бы Вам не советовал тратить время. Ну, а если Вы - профессионал, то таких вопросов бы не задавали. sm.gif
Не обижайтесь, ремонтники - народ - не сахар, сами знаете, наверное, как ремонтных форумах относятся к вопросам со стороны. sm.gif

Вам же надо быстро отремонтировать? У Вас ведь поток? Ремонтируемые изделия меняются? Тогда могу Вам посоветовать применить метод замены ПЛИС целиком.
Самому частенько приходится что-то не свое ремонтировать. Реальный выход здесь, имхо, только замена.
Go to the top of the page
 
+Quote Post
AALEGYR
сообщение Feb 12 2011, 19:17
Сообщение #12


Участник
*

Группа: Участник
Сообщений: 32
Регистрация: 25-11-08
Пользователь №: 41 965



Цитата
Вам же надо быстро отремонтировать? У Вас ведь поток? Ремонтируемые изделия меняются?


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

Реверс инжиниринг это решение разных задач. Для разработчика это один из способов создания собственных новых проектов, а для ремонтника это способ реанимации, то есть способ восстановления и сохранения того что уже сделано, и сделано не им. В этом плане, разработчик, вскрывая чужие разработки, создает конкурентную среду своему коллеге, а ремонтник занимается реставрацией, реставрацией чужой собственности, за которую собственник, добровольно и без принуждения, готов платить свои деньги.
Так что мы тут оба профессионалы, только Вам, экономя свое время, легче и выгодней просто написать свою прошивку для ПЛИС, а мне чтобы чтобы отремонтировать аппарат, надо сначало узнать как работает старая, а уж потом делать выводы где собака порылась, и кто в этом виноват. И именно поэтому мне иногда приходится решать задачи дизассемблирования, и задавать вопросы.
У меня задача - отремонтировать, и сделать это так чтобы потребитель остался доволен тем фактом, что ремонт осуществлен, и обошелся ему не в стоимость нового, а не более 50-60% от цены нового. Особенно это важно тогда когда, бюджет потребителя не предусматривает расходы на преобретение новой техники, а статья расходов на ремонт остается не освоенной.

P.S.
Цитата
Не обижайтесь, ремонтники - народ - не сахар, сами знаете, наверное, как ремонтных форумах относятся к вопросам со стороны.


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


Go to the top of the page
 
+Quote Post
vitan
сообщение Feb 13 2011, 09:24
Сообщение #13


не указал(а) ничего о себе.
******

Группа: Свой
Сообщений: 3 325
Регистрация: 6-04-06
Пользователь №: 15 887



Цитата(AALEGYR @ Feb 12 2011, 22:17) *
Это в ремонте бытовой аппаратуры поток, и надо ремонтировать быстро (предложение превышает спрос), а в не бытовой, очень часто бывает нужно просто отремонтировать. Особенно тогда, когда аппаратура преобреталась и устанавливалась одними людьми, а эксплуатируется уже другими, так как первые пошли в рост, и вспоминают об этой технике лишь как о том сколько бабок они наварили на этом проекте.

Это Вы намекаете, что уже и исходников не найти даже при желании? Т.е. уже невозможна поддержка ремонтника со стороны разработчика этой техники?
Ну, тогда тем более - замена. Такая ситуация мне напоминает ремонт старой иномарки. Запчасть копеечная, но найти можно только на разборке, не новую, да еще и за бешеные бабки. Оно Вам надо? Понятно, что с новой машиной проблемы сходные, но только там все новое: и машина, и запчасти. Это другое качество.
В общем, советую не поддерживать на плаву бесконечно долго старую аппаратуру, а все-таки переходить на новую. Ее и чинить. sm.gif
Go to the top of the page
 
+Quote Post
AALEGYR
сообщение Feb 13 2011, 13:34
Сообщение #14


Участник
*

Группа: Участник
Сообщений: 32
Регистрация: 25-11-08
Пользователь №: 41 965



Цитата(vitan @ Feb 13 2011, 12:24) *
Это Вы намекаете, что уже и исходников не найти даже при желании? Т.е. уже невозможна поддержка ремонтника со стороны разработчика этой техники?
Ну, тогда тем более - замена. Такая ситуация мне напоминает ремонт старой иномарки. Запчасть копеечная, но найти можно только на разборке, не новую, да еще и за бешеные бабки. Оно Вам надо?


Я уже писал, что последнее время (года два), мне не то что исходников не найти, для меня и принципиальные схемы становятся экзотикой. И это при том, что мой уровень общения позволяет обратится напрямую к фирме производителю.
"Иномарки", с которыми мне приходится иметь дело, очень часто имеют даты изготовления того же года, что указан в ремлисте на дате приема аппарата в ремонт, а некоторые даже не упевают увидеть своих покупателей. Такие аппараты ремонтируются заменой плат, и проблем с их ремонтом почти нет, ни для меня ни для потребителя, так как производитель несет все расходы, cвязанные со своими гарантийными обязятельствами. Но как только проходит 365 дей с момента продажи, или 730 дней от даты изготовления, ремонт аппарата переходит из категорию гарантийного, в категорию платный. И сразу стоимость ремонта обходится потребителю в 70-80% цены нового аппарата, к которым добавляется еще 50-100$ , которые исполнитель ремонта возмет за настройку аппарата, дабы новая плата не конфликторала с той периферией, с которой ей придется работать.
Чтобы было понятно, как это получается можете себе представить ситуацию когда вы купили системный блок компа, а через год, вам предлагается отремонтировать его заменой материнки, вместе процессором, блоком питания, и всем остальным, что находится внутри корпуса. Я не думаю, что в этой ситуации Вас устроит мой совет перейти на новую модель, и не тратить свои нервы и деньги на поддержание УЖЕ устаревшей.
Так что я речь веду не про ремонт антиквариата, а про ремонт той техники, которую еще вчера с восхищением разглядывали на выставках и в рекламных буклетах производителя.
Ну а с ремонтом "старых иномарок", мы уже давно разобрались путем цифр указанных в прайсе, ибо ремонт антиквариата в кругу профессиональных ремонтников называется реставрацией.

P.S.
Чтобы оценить уровень поддержки ремонтника со стороны производителя техники прикрепляю две картинки. Хотелось бы услышать как глядя на это можно определится с причиной неисправности , зная что собака роется именно тут, а ремонт на уровне замены платы обойдется владельцу в 70-80% цены нового аппарата (или в 30 000 рублей)?

Сообщение отредактировал des00 - Feb 13 2011, 14:48
Эскизы прикрепленных изображений
Прикрепленное изображение
Прикрепленное изображение
 
Go to the top of the page
 
+Quote Post
dvladim
сообщение Feb 13 2011, 14:06
Сообщение #15


Знающий
****

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



Цитата(AALEGYR @ Feb 13 2011, 16:34) *
Чтобы было понятно, как это получается можете себе представить ситуацию когда вы купили системный блок компа, а через год, вам предлагается отремонтировать его заменой материнки, вместе процессором, блоком питания, и почти всей хренью, которая находится внутри корпуса.

Говоря вашими же терминами: интересно чем вам поможет нетлист северного моста при ремонте материнки?
Go to the top of the page
 
+Quote Post

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

 


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


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