Can I use one protection macro (VM macro) inside another macro (VM macro)?

<< Click to Display Table of Contents >>

Navigation:  Themida > FAQ > Macros >

Can I use one protection macro (VM macro) inside another macro (VM macro)?

You cannot nest VM macros. The following is incorrect:

 

void MyFunction()

{

  VM_START

 

   // your code

 

   VM_START    // <-- NESTED!!!!

   

     // your code

 

   VM_END

 

 VM_END

}

 

There is an exception for nested macros inside VM macros. You can put STR_ENCRYPT_START/END macros inside VM macros and you can also include "single marker" macros inside VM macros (like CHECK_CODE_INTEGRITY, CHECK_PROTECTION, ....)