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?
VMProtect 3.9.4 build 2275 MSVC C++ Exception handling not called
Re: VMProtect 3.9.4 build 2275 MSVC C++ Exception handling not called
Could you send an example (original EXE+MAP/PDB+VMP files) that shows your problem?
Re: VMProtect 3.9.4 build 2275 MSVC C++ Exception handling not called
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.
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.
- Attachments
-
- JSON_ERROR_CATCH_EXAMPLE.7z
- (3.06 MiB) Downloaded 391 times
Re: VMProtect 3.9.4 build 2275 MSVC C++ Exception handling not called
Fixed in the 2359 build.