I got the machine code by the following code, but when i reinstall the operate system, i ran the program again, the HWID outputed is not the same result. Why?
int _tmain(int argc, _TCHAR* argv[])
{
VMProtectBegin("_tmail");
char *buf = NULL;
int nSize = VMProtectGetCurrentHWID( NULL , 0 );
if ( nSize )
{
buf = new char[nSize];
VMProtectGetCurrentHWID( buf, nSize );
printf("HWID: %s\n", buf);
Id2File(buf, buf);
delete [] buf;
}
system( "pause" );
VMProtectEnd();
return 0;
}
why HWID is changed???
Re: why HWID is changed???
Hardware ID depends on lots of parameters and two identifiers don't have to match byte-by-byte to be "equal". Reinstalling OS may change HWID, but it should still be accepted by VMProtect if nothing else has been changed.