We are using a third party client-server application in a document management project. We have recently found that the client could be easily reverse engineered to bypass the server authentication and security features. Contacting the software company support made us disappointed because it is not easy for them to implement more protections at least in a short time .
Therefore, we decided to protect the client by ourselves and VMprotect seems to be a powerful candidate. We encountered technical problems when tried licensing features. May you please guide us on these questions when protecting a third party already compiled application:
- What should be the name of the license key file? Is there a default name for the serial file?
- How to get the hardware ID? Is there standalone tools for just getting the HID?
Thanks in advance
Key file name
Re: Key file name
VMProtect doesn't read/write serial numbers from files, registry, etc.- What should be the name of the license key file? Is there a default name for the serial file?
You can develop a very simple standalone application that will show a HWID:- How to get the hardware ID? Is there standalone tools for just getting the HID?
Code: Select all
#include "VMProtectSDK.h"
...
void ShowHWID()
{
int nSize = VMProtectGetCurrentHWID(NULL, 0);
char *p = new char[nSize];
VMProtectGetCurrentHWID(p, nSize);
printf("HWID: %s/n", p);
delete [] p;
}
Re: Key file name
Thank you for quick reply.
Sorry, but I did not get the point for the first question. Let me explain the situation:
- I am trying to protect notepad.exe and of course, I do not have the source code.
- It is well protected and run when the EntryPoint Function is protected and not Locked to Serial Number.
------------------------
- Then I Lock the EntryPoint Function to Serial Number.
- Now it does not run and ask for a serial number showing Serial Number Required message: "This code requires valid serial number to run. Program will be terminated."
- in vmprotect licensing section, I generate a serial number.
Now the question is: How the generated serial number should be given to the protected program (which I don't have the source)? I was thinking that it should be placed in a key file in the same path of the protected program. But your answer made me totally confused!
Sorry, but I did not get the point for the first question. Let me explain the situation:
- I am trying to protect notepad.exe and of course, I do not have the source code.
- It is well protected and run when the EntryPoint Function is protected and not Locked to Serial Number.
------------------------
- Then I Lock the EntryPoint Function to Serial Number.
- Now it does not run and ask for a serial number showing Serial Number Required message: "This code requires valid serial number to run. Program will be terminated."
- in vmprotect licensing section, I generate a serial number.
Now the question is: How the generated serial number should be given to the protected program (which I don't have the source)? I was thinking that it should be placed in a key file in the same path of the protected program. But your answer made me totally confused!
Re: Key file name
Unfortunately you can't lock a function by a serial number without usage of our SDK. In other words - you can't add the licensing features in an application without its sources.