Page 1 of 1

Serial Data bug

Posted: Sun Apr 14, 2019 5:24 pm
by Ratel
Hi,

Here is the bug/problem.
VMProtectSetSerialNumber() returned: 32
VMProtectGetSerialNumberData() returned: True
Despite it return True, serial number data is empty when state is other than 0
How to get serial data with state <>0 ?
It's useful for many porposes.

Re: Serial Data bug

Posted: Mon Apr 15, 2019 5:09 am
by Admin
VMProtectGetSerialNumberData(VMProtectSerialNumberData *data, int size) returns FALSE in two cases:
1. if (data == NULL) return FALSE;
2. if (size < sizeof(VMProtectSerialNumberData)) return FALSE;
In other cases VMProtectGetSerialNumberData returns TRUE. Anyway, VMProtectGetSerialNumberData returns the current state of you serial number in VMProtectSerialNumberData.nState, so you can check it before usage of VMProtectSerialNumberData like this:

Code: Select all

VMProtectSerialNumberData data;
...
if (VMProtectGetSerialNumberData(&data, sizeof(data)) && data.nState == SERIAL_STATE_SUCCESS) {
  // your serial number is valid and "data" isn't empty
}