Мы используем VMProtect Ultimate 2.13.5. Проект собираем с помощью Visual Studio Express 2013 Update 2.
Всё работает замечательно для x86, но мы начали переход на x64 сборку и столкнулись с проблемой.
Релизная сборка, обработанная протектором, падает при запуске. Дебажная сборка работает корректно.
Мы попробовали VMProtect 3.0 beta и проблема пропала.
Соответственно вопрос - как скоро будет релиз новой версии протектора?
Нет, исключения в защищенном коде не используются. К тому же дебажная x64 сборка, обработанная протектором, работает.
Релизная x64 сборка, не обработанная протектором, также работает.
Здравствуйте.
У меня похожая проблема. Недавно мы приобрели ваш продукт VMProtect версии 3.0.9. с системой WLM. Ранее наш программный продукт оборачивался VMProtect 2.12. Также используется механизм защиты с аппаратными ключами от Guardant. Работают версии как 32-bit, так и 64-bit. Сейчас я обновляю этот программный продукт и использую VMProtect 3.0.9. Релизная 64-битная версия вылетает. Я выяснил, что дело в функциях защите HASP от Guardant (grddongle.h). Мы хотим использовать в нашем программном продукте текущую систему активации, включая HASP от Guardant совместно с вашей системой WLM. Я ранее ознакомился с данной темой: http://www.vmpsoft.com/forumhttps://forum.vmpsoft.com/viewtopic.php?t=162, и предполагаю, что одним из решений является отказ от использования Guardant, точнее отдельная от WLM его сборка старой версией VMProtect.
Скажите, какие решения могут быть в данной ситуации, может быть в следующей версии VMProtect как-то можно будет реализовать данную совместимость? Спасибо.
Судя по тому что я увидел в дизасме - это какой-то гвардантовский мутатор, который вызывает VirtualProtect а потом что-то там у себя патчит, причем никаких диагностический сообщений типа “VirtualProtect Error!” не предусмотрено в принципе. Соответственно если в VMProtect включена опция защита памяти, то протектор запрещает любые изменения данных в READONLY сегментах. Чтобы у вас заработало защищенное приложение вам нужно либо выключить опцию “Защита памяти”, либо исключить сегмент “.text”:
Да, ваше решение сработало. Можно было добавить к моему сообщению то, что и 32-битная версия работала не всякий раз, и причина были именно в этом. Теперь обе сборки работают стабильно. Благодарю за помощь!