vitus_strom 0 16 ноября, 2020 Опубликовано 16 ноября, 2020 · Жалоба Приветствую, понадобилось мне закрыть свои исходники от чтения, лицами к проекту не причастными . Проект в квартусе 18.0. Хотелось бы конечно закриптовать по стандарту IEEE 1735, но не совсем понял есть ли такая возможность в Quartus Standart Edition 18.0. На данном решении не настаиваю, если есть другие методы буду рад если посоветуете что то. Если кто то сталкивался тоже буду рад совету. Заранее благодарен. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
StewartLittle 41 16 ноября, 2020 Опубликовано 16 ноября, 2020 · Жалоба Ответил в личку. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
MrGalaxy 9 18 ноября, 2020 Опубликовано 18 ноября, 2020 · Жалоба ИМХО, достаточно удалить все комментарии, и не только чужой кто, но и сам через пару-тройку лет не поймёшь, что там понаписал и хотел сказать этим кодом. Если мне приходится отлаживать свой проект на другом предприятии, работаю или с флешки, или в конце командировки удаляю проект, оставляю только скомпилированную прошивку. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
alexadmin 0 18 ноября, 2020 Опубликовано 18 ноября, 2020 · Жалоба А для Xilinx такой же технологией никто не владеет? Когда-то пробовал найти, но по документации ничего у них не обнаружилось. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
des00 25 18 ноября, 2020 Опубликовано 18 ноября, 2020 · Жалоба 5 hours ago, MrGalaxy said: ИМХО, достаточно удалить все комментарии, и не только чужой кто, но и сам через пару-тройку лет не поймёшь, что там понаписал и хотел сказать этим кодом. это если навыки реверс инженеринга слабые, а так, из кода написанного человеком, даже без комментариев, структура неплохо вытаскивается. Не быстро, но делается. А вот если код пропустить через хороший обфускатор, тогда да, задача почти не решается Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
RobFPGA 27 18 ноября, 2020 Опубликовано 18 ноября, 2020 · Жалоба Приветствую! 11 minutes ago, des00 said: это если навыки реверс инженеринга слабые, а так, из кода написанного человеком, даже без комментариев, структура неплохо вытаскивается. Не быстро, но делается. А вот если код пропустить через хороший обфускатор, тогда да, задача почти не решается В RTL коде даже с обфускатором решается, сложнее но решается. Если не стоит задача именно RTL передавать то лучше смотреть на вариант с нетлистом. Это значительно сложно чем обфусцированный RTL Удачи! Rob. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
des00 25 18 ноября, 2020 Опубликовано 18 ноября, 2020 · Жалоба 1 minute ago, RobFPGA said: В RTL коде даже с обфускатором решается, сложнее но решается. ну расставите пробелы, отступы и прочее, но что делать с именами на 64 символа нулей и единиц? даже автозамена на а,б,с,д не особо поможет. мелкий модуль можно раскидать, да, а что-то крупное, сомневаюсь. а у нетлиста слабое место платформозависимость. самое просто, взять сложную корку в Альтере и посмотреть обфусцированную идеалку для моделирования. По ней восстановить функциональность) Я пробовал. то еще занятие) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
RobFPGA 27 18 ноября, 2020 Опубликовано 18 ноября, 2020 · Жалоба Приветствую! 16 minutes ago, des00 said: ну расставите пробелы, отступы и прочее, но что делать с именами на 64 символа нулей и единиц? даже автозамена на а,б,с,д не особо поможет. мелкий модуль можно раскидать, да, а что-то крупное, сомневаюсь. а у нетлиста слабое место платформозависимость. У меня был опыт ковыряния обфуцированого VHDL RTL, ~20 MB исходников. Причем часть исходников генерированные автоматом из BD и GUI для дизайна FSM. Все модули и пакеты в одном файле без всякого форматирования и именами как раз в виде hash. Сначала страшно было - а потом написал несколько хелперов для SublimeText и потихоньку (с помощью ModelSim и какой то матери ) расковырял все, разобрался что по чем, нашел и поправил то что мне нужно было. Естественно были как некая исходная инфа так и хорошая мотивация для всего этого безобразия Удачи! Rob. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
des00 25 19 ноября, 2020 Опубликовано 19 ноября, 2020 · Жалоба 14 hours ago, RobFPGA said: Приветствую! У меня был опыт ковыряния обфуцированого VHDL RTL, ~20 MB исходников. Причем часть исходников генерированные автоматом из BD и GUI для дизайна FSM. Все модули и пакеты в одном файле без всякого форматирования и именами как раз в виде hash. Сначала страшно было - а потом написал несколько хелперов для SublimeText и потихоньку (с помощью ModelSim и какой то матери ) расковырял все, разобрался что по чем, нашел и поправил то что мне нужно было. Естественно были как некая исходная инфа так и хорошая мотивация для всего этого безобразия ну значит ваше реверсинжениринговое кунфу круче моего Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Avex 1 19 ноября, 2020 Опубликовано 19 ноября, 2020 · Жалоба По нетлисту очень сложно восстанавливать комбинационную логику, особенно если это неведомая стейтмашина или функция большой разрядности, или какойнибудь умножитель, сделанный не по классической схеме. Для восстановления надо все время сверяться с LEC тулом, а потом еще и пытаться понять, для чего этот код. А хуже нетлиста может быть только нетлист с флатованой иерархией Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Nick_K 0 19 ноября, 2020 Опубликовано 19 ноября, 2020 · Жалоба 3 hours ago, Aleх said: Для восстановления надо все время сверяться с LEC тулом, а потом еще и пытаться понять, для чего этот код. Эм... А LEC тут каким боком? Я понимаю что инструмент сильный, но с чем сравнивать, если есть только нетлист? 3 hours ago, Aleх said: А хуже нетлиста может быть только нетлист с флатованой иерархией Это да, это я видел. Испугался и удалил))) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Avex 1 19 ноября, 2020 Опубликовано 19 ноября, 2020 · Жалоба 36 minutes ago, Nick_K said: Эм... А LEC тут каким боком? Я понимаю что инструмент сильный, но с чем сравнивать, если есть только нетлист? Нетлист сравнивается с восстановленным RTL. Доверяй, но проверяй, как говорится. Это кстати совершенно рядовая задача когда нужно на spare-cells сделать маск-патч для эсика (если обнаружена ошибка, а часть пластин лежит без BEOL на хранении): находится нужный кусок нетлиста, переводится в читаемый вид, изготавливается rtl-патч, синтезируется на spare-cells, патчится исходный нетлист, потом отдается в топологию, где переразводят металлы. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Nick_K 0 19 ноября, 2020 Опубликовано 19 ноября, 2020 · Жалоба 12 minutes ago, Aleх said: Нетлист сравнивается с восстановленным RTL. Доверяй, но проверяй, как говорится. А - это понятно. Я не понял в контексте данного треда, с чем сравнивать, если только один шифрованный файл. А ещё мне кто-то говорил, что через LEC можно проверить констрейны. Но видно или я был невнимателен, либо слишком пьян) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
StewartLittle 41 19 ноября, 2020 Опубликовано 19 ноября, 2020 · Жалоба 21 час назад, RobFPGA сказал: Если не стоит задача именно RTL передавать то лучше смотреть на вариант с нетлистом. Это значительно сложно чем обфусцированный RTL Вариант с нетлистом подразумевает привязку к конкретному семейству ПЛИС (для которого нетлист синтезировался)? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
des00 25 19 ноября, 2020 Опубликовано 19 ноября, 2020 · Жалоба 4 hours ago, Aleх said: По нетлисту очень сложно восстанавливать комбинационную логику, особенно если это неведомая стейтмашина или функция большой разрядности, или какойнибудь умножитель, сделанный не по классической схеме. Для восстановления надо все время сверяться с LEC тулом, а потом еще и пытаться понять, для чего этот код. А хуже нетлиста может быть только нетлист с флатованой иерархией кстати, а разве обфускатор не должен при обфускации делать плоскую модель модуля верхнего уровня? Ведь, как отметил @RobFPGA, наличие структуры, знаний о функциональности и симулятора, значительно упрощяет реверс-инженеринг. В моей системе ценностей обфускатор не только заменяет все имена, удаляет пробелы, но и раскрывает функции/таски, но и вытаскивает все в файл верхнего уровня. Этакий псевдосинтез) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться