Macros

<< Click to Display Table of Contents >>

Navigation:  Themida > FAQ >

Macros

 

I have a function with a VM_START/END. Inside the START - END macro markers, I call an external function, called "Function2()". Is that external "Function2()" also virtualized?

 

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?

 

I have a few Portuguese strings in my STR_ENCRYPT macro but some of them are not recognize when I click on the STR_ENCRYPT macro in the "Protection Macros" panel. What's wrong?

 

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

 

In the "custom_vms" folder I can see the name of the available virtual machines. Can I change the internal settings inside each ".vm" file?

 

Can I raise an exception inside a VM macro?

 

I have seen that insertion of VM macros in try-except clauses are a bit tricky. What about try-finally clauses?

 

Can Themida macros protect switch statements and try-except clauses?

 

If I protect the following code with a macro: VM_START InitializeCounters(i); VM_END. Will the InitializeCounters() function code also virtualized?

 

I have included several VM macros inside my application. I have made sure that I have not nested any macros, but when I load my application in Themida user interface, I get a nested macros message. What's wrong?

 

We tried to adopt Themida VM macro option. But, our particular problem was performance of the game. It was very critical issue. We hope to know how we improve performance of my game.

 

Can VM macros protect switch statements? We are now having an issue with VM macros crashing the application.

 

Where are the ENCODE/CLEAR macros that were available in version 2.x?

 

When I compile my Delphi application in 64-bit, the compiler says that the "asm instruction is not valid" in my VM macros

 

I'm using a VM macro but it fails when using it on my Delphi application. I get an exception. Can you fix it?

 

What does it mean that my encrypted string are not removed from the original location?

 

In VS2017 and VS2019 the debugger is not tracing correctly my function that uses a VM_START/END marker

 

When enabling optimizations, my VM_END marker is not found

 

I'm using the STR_ENCRYPT but sometimes, when my string contains specific German characters the string is not recognized

 

When I load my exe I get an error because I have inserted an ENCODE macro

 

I add different VMs in Virtual Machine panel and save the project. When I save the project and load it, most of the VMs are gone. Why?

 

I don’t have a MAP file or the source code to set the protection macros. Can I specific the start/address of functions to virtualize?