Protected app crashes when exception is thrown in catch-block
Posted: Mon May 21, 2018 2:33 pm
Добрый день.
Имеется код, в котором бросается исключение в catch-блоке, окружающем защищенный код. После защиты (только виртуализация) программа падает.
Вот простейший код, на котором проблема воспроизводится:
Соответственно без защиты всё отрабатывает корректно.
Прикладываю тестовый sample (требуется vs2017) и собранные бинари (защищенный и исходный).
Версия компилятора:
Версия протектора:
Имеется код, в котором бросается исключение в catch-блоке, окружающем защищенный код. После защиты (только виртуализация) программа падает.
Вот простейший код, на котором проблема воспроизводится:
Code: Select all
#include <stdio.h>
#include <exception>
#include "VMProtectSDK.h"
void test()
{
try
{
VMProtectBeginVirtualization( "" );
throw std::exception();
VMProtectEnd();
}
catch( const std::exception& )
{
printf( "OK - catch( std::exception ) exception correctly!\n" );
throw std::exception();
}
}
int main()
{
printf( "Test started\n" );
try
{
test();
}
catch( const std::exception& )
{
printf( "OK - catch( std::exception ) exception correctly!\n" );
}
printf( "Test finished\n" );
return 0;
}
Прикладываю тестовый sample (требуется vs2017) и собранные бинари (защищенный и исходный).
Версия компилятора:
Code: Select all
Microsoft (R) C/C++ Optimizing Compiler Version 19.12.25835 for x64
Code: Select all
VMProtect Professional v 3.2.0 (build 976) Copyright 2003-2018 VMProtect Software