In a VMProtected dll on VMProtect 3.9.4 build 2275 and MSVC C++, exception handlers are not called (in either SEH or SEH+CPP mode). I am trying to catch json parse errors in the nlohmann json library and the parse errors crash my program when vmprotected, but are completely fine otherwise. For reference the DLL is also being loaded normally with LoadLibrary.
As far as I can tell, exception handling should be supported in all forms on VMProtect, so is this a bug perhaps?
Could you send an example (original EXE+MAP/PDB+VMP files) that shows your problem?
It would seem that his issue is resolved when I use 3.9.4 build 2329.
Here attached is the minimal example for the exception catching in a dll that I created to demonstrate the problem for the older build:
When functioning correctly it should output an exception message to the console and then prompt you to press enter to exit. When not functioning it will crash with an unhandled exception.
JSON_ERROR_CATCH_EXAMPLE.7z (3.06 MB)
Fixed in the 2359 build.