Добрый день.
Уже давно пишу небольшие утилитки для работы и интереса, которые сейчас позволяют мне значительно экономить время и выполнять расчеты для других организаций.
Все эти расчеты и много других можно сделать в больших инженерных пакетах (стоимостью от $50k), которые стоят у нас на работе,
но на подготовку исходных данных требуются часы, а мои программы как калькулятор — решают всего одну задачу, но быстро.
Коллеги из другой организации хотят купить эти программы "для себя", т.к начальство экономия времени не интересует.
В программировании немного разбираюсь, а вот в информационной безопасности и продаже софта нет.
1. Чем лучше защитить программу.
2. Программы написаны на делфи и содержат интересные формулы и алгоритмы. Если я просто скомпилирую проект, легко ли его декомпилировать или как-то вырезать из него эти алгоритмы или что-то подобное, чего стоит опасаться? Или это паранойя?)
3. Дайте какие-нибудь советы или хорошие ссылки.
Здравствуйте, Kubyshev Andrey, Вы писали:
KA>Я думаю если ты чтото скомпилишь на дельфи, то алгоритм будет легче "вырезать из книжки" чем декомпилировать.
Не совсем понял. Компиляции будет достаточно? Не нужны никакие обертки?
Дело в том, что в книгах этой специализации общие слова и старье, а на практике много эмпирики, которая нарабатывается для каждого случая отдельно и годами.
S>Не совсем понял. Компиляции будет достаточно? Не нужны никакие обертки? S>Дело в том, что в книгах этой специализации общие слова и старье, а на практике много эмпирики, которая нарабатывается для каждого случая отдельно и годами.
Откуда нам знать упорность тех кто будет это декомпилять. К тому же ты говорил что это инициатива коллег твоих неоплачиваема.
Воосстановить математический алгоритм из скомпиленого это не просто. На это тоже требуется опыт.
Если будет обертка то будет конечно лучше.
Может быть так , что проще будет найти и сломать софтину которая делает тоже самое.
Здравствуйте, Kubyshev Andrey, Вы писали:
KA>Я думаю если ты чтото скомпилишь на дельфи, то алгоритм будет легче "вырезать из книжки" чем декомпилировать.
Так было, я за современными дельфями уже почти не слежу, но емнип у них появилась интересная привычка по умаолчанию чуть ли не всю символьную информацию пихать в экзешник.
Здравствуйте, шароварный желудь, Вы писали:
ШЖ>ладно если бы еще дотнет был, а с делфей я бы даже заморачиваться не стал.
Не согласен, вполне можно реверс сделать.
С включенной оптимизацией сложнее (лично для меня), а так, вполне читаемый код.
Можно раздербанить алгоритм. Даже если код на делфевом-асме, разобрать по косточкам не сильно сложно.
Делфи еще дает очень много "подсказок" и чем старше компилятор, тем больше.
Зайди к Вано (VMProtect), посмотри решения + на сенселок глянь.
Как простой (относительно) вариант, алгоритм расшифровывать в определенную область и после использования затирать.
Хранить в эксешнике как данные, но не в ресурсах, а в коде.
Но простых знаний Delphi, для реализации этой фичи, тут будет мало.
Лично я плюнул на свои защиты и использую VMProtect из кароПки. Но правда на тех участках где скорость не важна.
To Vano:
Кстати Иван, а можешь сделать эту фичу для функций и процедур, те взять метод из кода, зашифровать-скрыть, а потом динамически создать, опционально. + можно очередью писать в одну и туже область эти распакованные методы без мутации и виртуализации? А то виртуализация с мутацией довольно тормознутая штукенция и где нужна скорость (а для многих алгоритмов она очень важна), там ну просто "сливай воду". Мне бы пригодилось эта фича, а самому писать каждый раз тупо лень. Хотя и не сильно сложно.
Здравствуйте, AWSVladimir, Вы писали:
AWS>Лично я плюнул на свои защиты и использую VMProtect из кароПки. Но правда на тех участках где скорость не важна.
Скорость для меня очень важна (большие циклы, матрицы и тд). А есть данные на сколько % падает скорость при виртуализации с мутацией?
Здравствуйте, AWSVladimir, Вы писали:
ШЖ>>ладно если бы еще дотнет был, а с делфей я бы даже заморачиваться не стал.
AWS>Не согласен, вполне можно реверс сделать. AWS>Можно раздербанить алгоритм. Даже если код на делфевом-асме, разобрать по косточкам не сильно сложно.
га-га-га! плачу 1к зелени — сделай для Guitar Rig хотя бы!
Здравствуйте, spinach, Вы писали:
S>Здравствуйте, AWSVladimir, Вы писали:
AWS>>Лично я плюнул на свои защиты и использую VMProtect из кароПки. Но правда на тех участках где скорость не важна.
S>Скорость для меня очень важна (большие циклы, матрицы и тд). А есть данные на сколько % падает скорость при виртуализации с мутацией?
не парься! имею опыт выснения алгоритма из явы (даже не асм) алгоритм двольно навороченный,
в конце концов плюнул, засел за матан и за месяц написал заново..
Имхо для алгоритмов средней сложности де-алгоритмизация абсолютно невозможна за разумные
деньги за разумное время.
Здравствуйте, spinach, Вы писали:
S>Добрый день. S>Уже давно пишу небольшие утилитки для работы и интереса, которые сейчас позволяют мне значительно экономить время и выполнять расчеты для других организаций. S>Все эти расчеты и много других можно сделать в больших инженерных пакетах (стоимостью от $50k), которые стоят у нас на работе, S>но на подготовку исходных данных требуются часы, а мои программы как калькулятор — решают всего одну задачу, но быстро. S>Коллеги из другой организации хотят купить эти программы "для себя", т.к начальство экономия времени не интересует. S>В программировании немного разбираюсь, а вот в информационной безопасности и продаже софта нет.
S>1. Чем лучше защитить программу. S>2. Программы написаны на делфи и содержат интересные формулы и алгоритмы. Если я просто скомпилирую проект, легко ли его декомпилировать или как-то вырезать из него эти алгоритмы или что-то подобное, чего стоит опасаться? Или это паранойя?) S>3. Дайте какие-нибудь советы или хорошие ссылки.
S>Спасибо.
Я бы посоветовал для создания действительно надежной защиты воспользоваться профильным продуктом, например аппаратным или программным ключом HASP. В составе комплекта разработчика есть утилита Envelope, которая автоматически "привяжет" Вашу программ к ключу(программному или аппаратному) буквально за пару минут, при этому сделает дополнительно и обфускацию и борьбу с отладчиками и прочие плюшки. Вот тут видеоролики есть, которые демонстрируют как это работает на практике: http://www.safenet-sentinel.ru/demo-zone/
Здравствуйте, m.chukhlomin, Вы писали:
MC>Я бы посоветовал для создания действительно надежной защиты воспользоваться профильным продуктом, например аппаратным или программным ключом HASP. В составе комплекта разработчика есть утилита Envelope, которая автоматически "привяжет" Вашу программ к ключу(программному или аппаратному) буквально за пару минут, при этому сделает дополнительно и обфускацию и борьбу с отладчиками и прочие плюшки. Вот тут видеоролики есть, которые демонстрируют как это работает на практике:
Маркетолог в действии: Чесать форумы, вставлять ссылки. Читать исходные сообщения не обязательно.
Здравствуйте, spinach, Вы писали:
S>Скорость для меня очень важна (большие циклы, матрицы и тд). А есть данные на сколько % падает скорость при виртуализации с мутацией?
Очень сильно падает скорость при наличии циклов (в 10...500 раз).