Page 1 of 1

Не работают ексепшены в 64-битном приложении после мутации

Posted: Tue Dec 10, 2019 2:22 pm
by Cyber
Здравствуйте,

Столкнулись с проблемой когда 64-битное приложение вылетает при throw или catch внутри мутированного кода. При этом такое же 32-битное приложение отрабатывает нормально.

Отключены все опции защиты кроме мутации.
Тестовый проект, exe и vmp файлы в аттаче.

Re: Не работают ексепшены в 64-битном приложении после мутации

Posted: Tue Dec 10, 2019 2:48 pm
by Admin
У вас проект пустой. Где у вас мутация включена?

Re: Не работают ексепшены в 64-битном приложении после мутации

Posted: Tue Dec 10, 2019 2:55 pm
by Cyber
В исходниках. Для упаковки используем консольную версию VMProtect (VMProtect_Con.exe <input file> <output file> -pf <vmp file>)

Code: Select all

...
VMProtectBeginMutation("main-1");
...

Re: Не работают ексепшены в 64-битном приложении после мутации

Posted: Tue Dec 10, 2019 3:26 pm
by Cyber
Похоже что поведение программы зависит от билда. Вот в этом варианте (см. бинарник Debug\vmprotect_test.exe) она зацикливается и бесконечно выдает такое:

Code: Select all

...

testing catch inside protected block...
throwing now
catch 2

testing catch inside protected block...
throwing now
catch 2

testing catch inside protected block...
throwing now
catch 2

...
После перекомпиляции поведение меняется. Может вылететь на первой части теста, может на второй, также был момент когда вторая часть теста не выпонялась совсем, буд-то ее не существует.

Re: Не работают ексепшены в 64-битном приложении после мутации

Posted: Tue Dec 10, 2019 4:39 pm
by Cyber
При использовании режима Ultra (VMProtectBeginUltra), консольная версия вылетает c access violation в конце процесса упаковки. Crash dump прилагаю.
UPD: GUI версия тоже

Re: Не работают ексепшены в 64-битном приложении после мутации

Posted: Thu Jan 16, 2020 1:29 pm
by Cyber
Скажите можно ли ожидать каких то обновлений по этому вопросу? или хотя бы сроки когда возможно решение.
Спасибо.