Page 1 of 1

VMProtect + VS2012 performance regression

Posted: Mon Feb 03, 2014 6:08 pm
by rbxYZ
Hello,

We recently upgraded our project from VS2008 to VS2012, and VMProtect from 2.10 to 2.13. What we see is the application start time (before entering "main" function) is noticeably longer with the protected executable. This behavior was not reproducible in VS2008 build of our project.

The only VMProject functions we call in our code are VMProtectBeginMutation/VMProtectEnd and VMProtectIsDebuggerPresent. Our .vmp file looks something like this:

Code: Select all

<?xml version="1.0" encoding="UTF-8"?>
<Document>
	<Protection
		InputFileName="AppNameRaw.exe"
		Options="65544"
		CheckKernelDebugger="true"
		OutputFileName="AppName.exe"
		>
		<Messages
		/>
		<Folders
		/>
		<Procedures>
		</Procedures>
	</Protection>
	<Script
	/>
</Document>
What can we do to debug the slow start up time? Thanks.

Re: VMProtect + VS2012 performance regression

Posted: Thu Feb 20, 2014 10:27 pm
by rbxYZ
Found the culprit: VMProtectIsValidImageCRC

Removing that call gets rid of the slow down during start up. Why is this happening?

Re: VMProtect + VS2012 performance regression

Posted: Fri Feb 21, 2014 12:40 am
by rbxYZ
Turns out every call to VMProtectIsValidImageCRC takes about 5 seconds!

Our executable is around 14MB, protected executable size is around 17MB. Again, the slow down did not happen in VS2008 build.

Re: VMProtect + VS2012 performance regression

Posted: Tue Feb 25, 2014 3:33 am
by Admin
Could you sent us original executables after VS2008 and VS2012 build?

Re: VMProtect + VS2012 performance regression

Posted: Thu Mar 06, 2014 10:54 pm
by rbxYZ
I've sent the requested files to info@vmpsoft.com about a week ago. Have not heard any acknowledgment. Please let me know whether you guys received the files and any progress made. Thanks.

Re: VMProtect + VS2012 performance regression

Posted: Wed Mar 19, 2014 9:51 am
by Admin
2012.exe - 17Mb
2008.exe - 12Mb

2012.exe more than 2008 on 5Mb (30%), so all operations (unpacking, CRC checking, etc.) in 2012.exe are slower on 30%.