Serial Data bug

Issues related to VMProtect
Post Reply
Ratel
Posts: 1
Joined: Sun Apr 14, 2019 5:07 pm

Serial Data bug

Post 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.
Admin
Site Admin
Posts: 2566
Joined: Mon Aug 21, 2006 8:19 pm
Location: Russia, E-burg
Contact:

Re: Serial Data bug

Post 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
}
Post Reply