Serial Data bug

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.

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:
VMProtectSerialNumberData data;
...
if (VMProtectGetSerialNumberData(&data, sizeof(data)) && data.nState == SERIAL_STATE_SUCCESS) {
  // your serial number is valid and "data" isn't empty
}