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