Hey there!
I’ve been reading nearly everything here on the site but still didn’t find out whats correct.
So you can set markers like VMProtectBegin etc. and you can use a .MAP file to select functions to protect.
So, if I have a critcal function that I want to protect, is it better to use both, or doesn’t it matter if I use VMProtectBegin or the .MAP file way? (I would prefer .MAP)
A 2nd question that’s nearly the same: If I protect a function with VMProtect, do I still have to encrypt strings with “VMProtectDecryptStringA” ? And, is that a encryptstring function at all, or what does it do?
So, if I have a critcal function that I want to protect, is it better to use both, or doesn’t it matter if I use VMProtectBegin or the .MAP file way? (I would prefer .MAP)
A 2nd question that’s nearly the same: If I protect a function with VMProtect, do I still have to encrypt strings with “VMProtectDecryptStringA” ? And, is that a encryptstring function at all, or what does it do?
VMProtectDecryptStringA function allows to decrypt ANSI string constant. You have to add this constant to a list of protected objects.
I don’t understand the sense of this function, do I actually pass a already encrypted string to the function, or do I just have to pass any string I want to be encrypted to the function?
Anyway, the key question: If the string is in a protected function already, do I still need to use “VMProtectDecryptStringA” to have the string encrypted, or does VMProtect automaticly do it?
Thanks, so I still need to encrypt the strings with “VMProtectDecryptStringA”, even if the function where the string occurs is protected by VMProtect already?