Upgraded to VMProtect Ultimate 3.5.1 from Ultimate 3.1.1, now app doesn't work under WINE

Issues related to VMProtect
sbvmp581
Posts: 14
Joined: Thu Feb 25, 2016 4:28 am

Upgraded to VMProtect Ultimate 3.5.1 from Ultimate 3.1.1, now app doesn't work under WINE

Postby sbvmp581 » Sun Dec 05, 2021 4:39 pm

Probably NOT a VMProtect issue, but we noticed that our application doesn't run under WINE anymore when compiled with VMProtect Ultimate 3.5.1. It works fine with Ultimate 3.1.1.

Blocking of virtualization tools is turned off in the compilation options.

Any thoughts?

Admin
Site Admin
Posts: 2201
Joined: Mon Aug 21, 2006 8:19 pm
Location: Russia, E-burg
Contact:

Re: Upgraded to VMProtect Ultimate 3.5.1 from Ultimate 3.1.1, now app doesn't work under WINE

Postby Admin » Mon Dec 06, 2021 6:45 am

Does it show something?

sbvmp581
Posts: 14
Joined: Thu Feb 25, 2016 4:28 am

Re: Upgraded to VMProtect Ultimate 3.5.1 from Ultimate 3.1.1, now app doesn't work under WINE

Postby sbvmp581 » Mon Dec 06, 2021 5:19 pm

It legit does absolutely nothing. No error code. Nothing.

We are utilizing VMProtect through a DLL. This DLL is loaded at the program startup, but the program will exit with no error when loading the VMProtected DLL.

I put some debug stuff into the DLL to see what it's doing, step by step, logging to a file, but the program doesn't even reach the DllMain entry point.

Again, works fine on Windows, though. But WINE, no go with 3.5.1 VMProtect. Works no problem with 3.1.1, however.

sbvmp581
Posts: 14
Joined: Thu Feb 25, 2016 4:28 am

Re: Upgraded to VMProtect Ultimate 3.5.1 from Ultimate 3.1.1, now app doesn't work under WINE

Postby sbvmp581 » Mon Dec 06, 2021 5:25 pm

Actually, I have just solved this, it looks like.

VMProtect Ultimate 3.5.1's "Pack the Output File" does not work with WINE now, for some reason. Changing from yes to no allows the DLL to work properly in WINE.

If I use Pack the Output File to Yes with 3.1.1, it's also fine. So, yeah, something's strange with VMProtect 3.5.1's Pack the Output File as far as WINE is concerned.

sbvmp581
Posts: 14
Joined: Thu Feb 25, 2016 4:28 am

Re: Upgraded to VMProtect Ultimate 3.5.1 from Ultimate 3.1.1, now app doesn't work under WINE

Postby sbvmp581 » Mon Dec 06, 2021 6:38 pm

Actually, no, that didn't fix it. It did at least attempt to load the DLL but the DLL's entry point still wasn't executed. It just failed the DLL load and the program still proceeded.

Damn, not sure what 3.5.1 is doing.

sbvmp581
Posts: 14
Joined: Thu Feb 25, 2016 4:28 am

Re: Upgraded to VMProtect Ultimate 3.5.1 from Ultimate 3.1.1, now app doesn't work under WINE

Postby sbvmp581 » Mon Dec 06, 2021 6:44 pm

OK, after playing with more VMProtect options, it seems it's the Debugger detection.

Anything other than "No" doesn't work with WINE on 3.5.1.

I can set everything else to yes, including packing the output file. But if you set "User Mode" or "User Mode + Kernel" for the debugger detection, the resulting DLL won't work in WINE.

I'd love to be able to compile my code using the latest version of VMProtect, but it seems that it probably incorrectly detects WINE as a debugger. Is there a way, as a paid subscriber, to be able to download older versions of VMProtect?

I see that in 3.2 and 3.5, there was improvements made to the antidebug. I'm guessing one of these knocked out WINE compatibility. I'd love to be able to see which exact version did it and upgrade to the version just below that as my only other saved version of 3.1.1 is pretty old.

Admin
Site Admin
Posts: 2201
Joined: Mon Aug 21, 2006 8:19 pm
Location: Russia, E-burg
Contact:

Re: Upgraded to VMProtect Ultimate 3.5.1 from Ultimate 3.1.1, now app doesn't work under WINE

Postby Admin » Wed Dec 08, 2021 7:18 am

Do you try to execute x32 or x64 application? We just tested a simple application with the "Debugger detection" option on Ubuntu 18.04 + Wine 3.0 and it works fine.

sbvmp581
Posts: 14
Joined: Thu Feb 25, 2016 4:28 am

Re: Upgraded to VMProtect Ultimate 3.5.1 from Ultimate 3.1.1, now app doesn't work under WINE

Postby sbvmp581 » Wed Dec 08, 2021 1:59 pm

I don't think people are using Wine 3.0 anymore as that's very old.

I know my own personal test, VMProtect would not let my application start using Ubuntu 21.10 with Wine 6.0.2 stable.

Another user of my software was using it with Wine 6.16 and 6.23... also failed.

A different user tried "lutris-fshack-6.14-4, lutris-6.10-7, lutris-6.0, lutris-5.7-11", all failed.

The application we are using is a x32 application which loads a VMProtected DLL.

Please try it this way and do use a more modern version of WINE. It WILL fail and the only workaround, at least in my experience, was to disable VMProtect 3.5.1's debugger detection and write my own debugger detection.

I'm still utilizing VMProtect's virtualization, so it's still useful in that regard.

Admin
Site Admin
Posts: 2201
Joined: Mon Aug 21, 2006 8:19 pm
Location: Russia, E-burg
Contact:

Re: Upgraded to VMProtect Ultimate 3.5.1 from Ultimate 3.1.1, now app doesn't work under WINE

Postby Admin » Thu Dec 09, 2021 6:21 am

The application we are using is a x32 application which loads a VMProtected DLL.

Fixed in the 1377 build.

sbvmp581
Posts: 14
Joined: Thu Feb 25, 2016 4:28 am

Re: Upgraded to VMProtect Ultimate 3.5.1 from Ultimate 3.1.1, now app doesn't work under WINE

Postby sbvmp581 » Thu Dec 09, 2021 3:20 pm

Nice! Looking forward to it's release! :-)