protecting needed areas using .map file and ALL strings

Issues related to VMProtect
cdmn
Posts: 1
Joined: Fri Sep 14, 2018 7:03 pm

protecting needed areas using .map file and ALL strings

Postby cdmn » Fri Sep 14, 2018 7:07 pm

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.

Admin
Site Admin
Posts: 1483
Joined: Mon Aug 21, 2006 8:19 pm
Location: Russia, E-burg
Contact:

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

Postby Admin » Sat Sep 15, 2018 4:46 am

For string protection you have to use VMProtectDecryptStringA/W in your application. There is no other way to do it.

Mecanik
Posts: 2
Joined: Fri Sep 28, 2018 11:59 am

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

Postby Mecanik » Fri Sep 28, 2018 12:32 pm

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.