I have put a VM macro in my "main()" function. Inside the VM_START/END markers I'm calling several functions. Are those called functions also virtualized?

<< Click to Display Table of Contents >>

Navigation:  Themida > FAQ > Macros >

I have put a VM macro in my "main()" function. Inside the VM_START/END markers I'm calling several functions. Are those called functions also virtualized?

Suppose the following example:

 

int main(void)

{

​    VM_START​

 

   MyFunction1();

   MyFunction2();

 

​    return 0;

 

   VM_END

}

In the above example you are protecting the code inside the "main()" function but not the code inside "Function1()" and "Function2()".

 

If you want to protect/virtualize also the code inside "Function1()" and "Function2()" you need to put another VM macros inside "Function1()" and another VM macro inside "Function2()"