Перейти к содержанию
    

криптование исходников в квартусе

Приветствую,

понадобилось мне закрыть свои исходники от чтения, лицами к проекту не причастными . Проект в квартусе 18.0.  Хотелось бы конечно закриптовать по стандарту IEEE 1735, но не совсем понял есть ли такая возможность в Quartus Standart Edition 18.0.

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

Заранее благодарен.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

ИМХО, достаточно удалить все комментарии, и не только чужой кто, но и сам через пару-тройку лет не поймёшь, что там понаписал и хотел сказать этим кодом.

Если мне приходится отлаживать свой проект на другом предприятии, работаю или с флешки, или в конце командировки удаляю проект, оставляю только скомпилированную прошивку.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

А для Xilinx такой же технологией никто не владеет? Когда-то пробовал найти, но по документации ничего у них не обнаружилось.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

5 hours ago, MrGalaxy said:

ИМХО, достаточно удалить все комментарии, и не только чужой кто, но и сам через пару-тройку лет не поймёшь, что там понаписал и хотел сказать этим кодом.

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Приветствую!

11 minutes ago, des00 said:

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

В  RTL коде  даже с обфускатором  решается,  сложнее но решается.  

Если не стоит задача именно RTL передавать то лучше смотреть  на вариант с нетлистом. Это значительно сложно чем обфусцированный RTL

 

Удачи!  Rob.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

1 minute ago, RobFPGA said:

В  RTL коде  даже с обфускатором  решается,  сложнее но решается.  

ну расставите пробелы, отступы и прочее, но что делать с именами на 64 символа нулей и единиц? даже автозамена на а,б,с,д не особо поможет. мелкий модуль можно раскидать, да, а что-то крупное, сомневаюсь. а у нетлиста слабое место платформозависимость. 

самое просто, взять сложную корку в Альтере и посмотреть обфусцированную идеалку для моделирования. По ней восстановить функциональность) Я пробовал. то еще занятие)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Приветствую!

16 minutes ago, des00 said:

ну расставите пробелы, отступы и прочее, но что делать с именами на 64 символа нулей и единиц? даже автозамена на а,б,с,д не особо поможет. мелкий модуль можно раскидать, да, а что-то крупное, сомневаюсь. а у нетлиста слабое место платформозависимость. 

У меня  был опыт ковыряния  обфуцированого VHDL  RTL, ~20 MB исходников. Причем часть исходников генерированные автоматом из BD и GUI для дизайна FSM. Все модули и пакеты  в одном файле без  всякого форматирования и именами как раз в виде hash. :wacko2::shok:
Сначала страшно было -  а потом написал несколько хелперов  для SublimeText и потихоньку (с помощью  ModelSim и  какой то матери :wink2:) расковырял все, разобрался  что по чем, нашел и поправил то что мне нужно было. Естественно  были как некая исходная инфа так и хорошая мотивация для всего этого безобразия :biggrin:

 

Удачи! Rob.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

14 hours ago, RobFPGA said:

Приветствую!

У меня  был опыт ковыряния  обфуцированого VHDL  RTL, ~20 MB исходников. Причем часть исходников генерированные автоматом из BD и GUI для дизайна FSM. Все модули и пакеты  в одном файле без  всякого форматирования и именами как раз в виде hash. :wacko2::shok:
Сначала страшно было -  а потом написал несколько хелперов  для SublimeText и потихоньку (с помощью  ModelSim и  какой то матери :wink2:) расковырял все, разобрался  что по чем, нашел и поправил то что мне нужно было. Естественно  были как некая исходная инфа так и хорошая мотивация для всего этого безобразия :biggrin:

ну значит ваше реверсинжениринговое кунфу круче моего

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

По нетлисту очень сложно восстанавливать комбинационную логику, особенно если это неведомая стейтмашина или функция большой разрядности, или какойнибудь умножитель, сделанный не по классической схеме. Для восстановления надо все время сверяться с LEC тулом, а потом еще и пытаться понять, для чего этот код.

А хуже нетлиста может быть только нетлист с флатованой иерархией

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

3 hours ago, Aleх said:

Для восстановления надо все время сверяться с LEC тулом, а потом еще и пытаться понять, для чего этот код.

Эм... А LEC тут каким боком? Я понимаю что инструмент сильный, но с чем сравнивать, если есть только нетлист?

3 hours ago, Aleх said:

А хуже нетлиста может быть только нетлист с флатованой иерархией

Это да, это я видел. Испугался и удалил)))

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

36 minutes ago, Nick_K said:

Эм... А LEC тут каким боком? Я понимаю что инструмент сильный, но с чем сравнивать, если есть только нетлист?

Нетлист сравнивается с восстановленным RTL. Доверяй, но проверяй, как говорится.

Это кстати совершенно рядовая задача когда нужно на spare-cells сделать маск-патч для эсика (если обнаружена ошибка, а часть пластин лежит без BEOL на хранении): находится нужный кусок нетлиста, переводится в читаемый вид, изготавливается rtl-патч, синтезируется на spare-cells, патчится исходный нетлист, потом отдается в топологию, где переразводят металлы.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

12 minutes ago, Aleх said:

Нетлист сравнивается с восстановленным RTL. Доверяй, но проверяй, как говорится.

А - это понятно. Я не понял в контексте данного треда, с чем сравнивать, если только один шифрованный файл.

А ещё мне кто-то говорил, что через LEC можно проверить констрейны. Но видно или я был невнимателен, либо слишком пьян)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

21 час назад, RobFPGA сказал:

Если не стоит задача именно RTL передавать то лучше смотреть  на вариант с нетлистом. Это значительно сложно чем обфусцированный RTL

Вариант с нетлистом подразумевает привязку к конкретному семейству ПЛИС (для которого нетлист синтезировался)?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

4 hours ago, Aleх said:

По нетлисту очень сложно восстанавливать комбинационную логику, особенно если это неведомая стейтмашина или функция большой разрядности, или какойнибудь умножитель, сделанный не по классической схеме. Для восстановления надо все время сверяться с LEC тулом, а потом еще и пытаться понять, для чего этот код.

А хуже нетлиста может быть только нетлист с флатованой иерархией

кстати, а разве обфускатор не должен при обфускации делать плоскую модель модуля верхнего уровня? Ведь, как отметил @RobFPGA, наличие структуры, знаний о функциональности и симулятора, значительно упрощяет реверс-инженеринг.

В моей системе ценностей обфускатор не только заменяет все имена, удаляет пробелы, но и раскрывает функции/таски, но и вытаскивает все в файл верхнего уровня. Этакий псевдосинтез)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

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

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...