Issues related to VMProtect
-
ssack
- Posts: 10
- Joined: Sun Jun 28, 2009 1:33 am
Post
by ssack »
my code is
void GetDa(Pak* buf)
{
VMProtectBeginUltra("VMP14");
if (NULL == buf)
{
canlock = FALSE;
GetResText = 0;
FontTable = 0;
}
else
{
canlock = TRUE;
}
VMProtectEnd();
}
after compile. VMProtectEnd() become two call.
so protected note me UnpairedVMProtectEnd
Last edited by
ssack on Sun Jun 28, 2009 2:24 am, edited 1 time in total.
-
ssack
- Posts: 10
- Joined: Sun Jun 28, 2009 1:33 am
Post
by ssack »
void GetDa(Pak* buf)
{
VMProtectBeginUltra
if (NULL == buf)
{
canlock = FALSE;
GetResText = 0;
FontTable = 0;
}
else
{
canlock = TRUE;
}
VMProtectEnd
}
use MACRO marker no problem
-
Admin
- Site Admin
- Posts: 2586
- Joined: Mon Aug 21, 2006 8:19 pm
- Location: Russia, E-burg
-
Contact:
Post
by Admin »
The reason of this situation in optiomization:
VMProtectBeginUltra
...
VMProtectEnd
...
VMProtectEnd
Try to disable the optimization for this block of code.
-
ssack
- Posts: 10
- Joined: Sun Jun 28, 2009 1:33 am
Post
by ssack »
i konw The reason is optiomization:
but use MACRO Marker is OK
so i hope continue use MACRO.
-
ssack
- Posts: 10
- Joined: Sun Jun 28, 2009 1:33 am
Post
by ssack »
Admin wrote:The reason of this situation in optiomization:
VMProtectBeginUltra
...
VMProtectEnd
...
VMProtectEnd
Try to disable the optimization for this block of code.
how to disable the optimization for one block?
-
gnjp
- Posts: 2
- Joined: Thu Jan 28, 2010 9:47 am
Post
by gnjp »
in MSVC++
#pragma optimize( "g", off )
// code
#pragma optimize( "g", on )