Метки кода и оптимизиция
Posted: Wed Dec 12, 2012 10:45 am
Добрый день.
Мы рассматриваем ваш продукт как возможный вариант для защиты нашего ПО.
Нас интересует более тонкая и плотная интеграция нашего ПО с вашей защитой, поэтому мы пробуем использовать метки кода для выделения критических блоков кода.
Как и указано в документации и примерах, мы используем пары: VMProtectBegin(имя) + VMProtectEnd.
В Debug-сборке все в порядке, все помеченные блоки отлично определяются и обрабатываются защитой.
Однако в Release-сборке возникают проблемы с определением границ выделенных блоков кода. Мы уверены, что это связано с оптимизацией, так как в ваших примерах используются конструкции #pragma optimize("g", off) для отключения оптимизации.
Скажите пожалуйста, есть ли возможность "победить" компилятор MSVC в том плане, чтобы он не искажал границы блоков кода при включенной оптимизации? Нам бы очень не хотелось принудительно отключать оптимизацию ради этого.
Мы рассматриваем ваш продукт как возможный вариант для защиты нашего ПО.
Нас интересует более тонкая и плотная интеграция нашего ПО с вашей защитой, поэтому мы пробуем использовать метки кода для выделения критических блоков кода.
Как и указано в документации и примерах, мы используем пары: VMProtectBegin(имя) + VMProtectEnd.
В Debug-сборке все в порядке, все помеченные блоки отлично определяются и обрабатываются защитой.
Однако в Release-сборке возникают проблемы с определением границ выделенных блоков кода. Мы уверены, что это связано с оптимизацией, так как в ваших примерах используются конструкции #pragma optimize("g", off) для отключения оптимизации.
Скажите пожалуйста, есть ли возможность "победить" компилятор MSVC в том плане, чтобы он не искажал границы блоков кода при включенной оптимизации? Нам бы очень не хотелось принудительно отключать оптимизацию ради этого.