Есть проект, написанный на C++ с использованием MFC и не содержащий managed кода. Есть желание продать одну из версий данного проекта без раскрытия исходников. Ценность исходников не в конкретной реализации на C++, а в алгоритме расчетов, который заложен в программе. Алгоритм весьма нетривиальный (нелинейное преобразование массивов). Соответственно, именно алгоритм хочется сохранить в тайне. Я не знаком с реверс-инжинирингом, дизассемблированием и декомпиляцией, поэтому слабо представляю их возможности. В связи с этим несколько вопросов:
1) Имея только .exe файл насколько успешно из него можно выделить алгоритм расчетов?
2) С точки зрения вопроса 1) есть ли принципиальная разница между Debug build и Release build в VS 2005?
3) Есть ли в настройках проекта в VS 2005 какие-то опции усложняющие процесс декомпиляции?
4) Какие есть способы защиты программы от декомпилирования и где о них можно почитать?