Page 1 of 1

protecting needed areas using .map file and ALL strings

Posted: Fri Sep 14, 2018 7:07 pm
by cdmn
Hi! Im trying to add protection to all string in my app using map file, but I can't get if I can do it and if yes, then how? Due to performance issues I cann not just protect some logical functions with wmp, but I really need to add string protection everywhere as almost each string within the app is sensitive.

Re: protecting needed areas using .map file and ALL strings

Posted: Sat Sep 15, 2018 4:46 am
by Admin
For string protection you have to use VMProtectDecryptStringA/W in your application. There is no other way to do it.

Re: protecting needed areas using .map file and ALL strings

Posted: Fri Sep 28, 2018 12:32 pm
by Mecanik
If you use a ".map" file, the VMProtect software will be able to read it and will list all your functions inside the application. This way you can just select which function you want to protect/exclude and what method.

This has nothing to do with strings, but you can of course select each string from there as well.

The normal way of protecting strings is by using VMProtectDecryptStringA/W inside your application for every string(s). Examples:

Unprotected (ANSI):

Code: Select all

printf("Hello console");
Protected (ANSI):

Code: Select all

printf(VMProtectDecryptStringA("Hello console"));
Unprotected (UNICODE):

Code: Select all

wprintf(L"Hello console");
Protected (UNICODE):

Code: Select all

wprintf(VMProtectDecryptStringW(L"Hello console"));
TIP: Create your "own" function to use VMProtectDecryptStringA/W within. This will make life harder for reverse engineers and automated scripts to decrypt it.