VMProtect fails to load EXE when using std::async
Posted: Fri Feb 26, 2021 4:26 pm
I've been developing a C++ application on Windows and recently VMProtect v.3.4.0 and v3.5.0 stopped loading my EXE successfully and might even crash/close itself. When I try to load my EXE, it will say 0% progress and simply stop there and keep the VMProtect window empty. No error message or anything is generated. I spent the time to track down the issue and it happens to be related to using std::async with a lambra expression as follows:
If I have this in my code, VMProtect will not be able to load the EXE. Strange. This happens in Debug and Release mode. Any comments on this? 
Also further testing showed that this bug only happens on Windows. On Linux, it will work regardless.
Code: Select all
auto my_future = std::async([&] { return "123"; });

Also further testing showed that this bug only happens on Windows. On Linux, it will work regardless.