生成机器码:
int nSize = VMProtectGetCurrentHWID(NULL, 0);
char* buf = new char[nSize];
VMProtectGetCurrentHWID(buf, nSize);
生成序列号:
VMProtectErrors __stdcall VMProtectGenerateSerialNumber( VMProtectProductInfo * pProductInfo, VMProtectSerialNumberInfo * pSerialInfo, char ** pSerialNumber );
加密秘钥选项
加密用户选项
pSerialInfo
struct VMProtectSerialNumberInfo { INT flags; wchar_t * pUserName; wchar_t * pEMail; DWORD dwExpDate; DWORD dwMaxBuildDate; BYTE nRunningTimeLimit; char * pHardwareID; size_t nUserDataLength; BYTE * pUserData; };
pHardwareID=硬件ID
然后用int res = VMProtectSetSerialNumber(serial);验证
老是出现 RES=2的错误,RES=0是正确的。