Page 1 of 1

Генератор ключей

Posted: Thu Mar 10, 2022 7:12 am
by accucteht
Добрый день!
Пытаюсь разобраться с примером генератора ключей на дельфи.
В примере используется библиотека под 32-ю платформу KeyGen32.dll, при этом
функция генерации (VMProtectGenerateSerialNumber) возвращает результат 0, все ок.

Но при попытке пересобрать приложение под 64-ю платформу, используя соответственно KeyGen64.dll
функция VMProtectGenerateSerialNumber возвращает код ошибки 2 (UNSUPPORTED_NUMBER_OF_BITS).
Хотя данные что для 32 что для 64 битных сборок одни и те же, в примере 2048 бит.
Почему так?

Re: Генератор ключей

Posted: Thu Mar 10, 2022 8:37 am
by Admin
Можете прислать исходники и собранный проект в виде EXE и DLL?

Re: Генератор ключей

Posted: Thu Mar 10, 2022 8:42 am
by accucteht
Да конечно. Во вложении.

Re: Генератор ключей

Posted: Thu Mar 10, 2022 9:17 am
by Admin
Проблема в описании структуры VMProtectProductInfo.

В Сишном файле она выглядит так:

Code: Select all

struct VMProtectProductInfo
{
	VMProtectAlgorithms	algorithm;
	size_t		nBits;
	size_t		nPrivateSize;
	byte		*pPrivate;
	size_t		nModulusSize;
	byte		*pModulus;
	size_t		nProductCodeSize;
	byte		*pProductCode;
};
Сишный size_t - это дельфовый NativeInt, т.е. структура должна выглядеть так:

Code: Select all

  VMProtectProductInfo = packed record
    algorithm: Longword;
    nBits: NativeInt;
    nPrivateSize: NativeInt;
    pPrivate: PByte;
    nModulusSize: NativeInt;
    pModulus: PByte;
    nProductCodeSize: NativeInt;
    pProductCode: PByte;
  end;
P.S. VMProtectSerialNumberInfo тоже надо переделать

Re: Генератор ключей

Posted: Thu Mar 10, 2022 9:45 am
by accucteht
спасибо, сейчас попробую

upd:
Да подправил структуру и все работает! Благодарю за помощь.