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

Issues related to VMProtect
Post Reply
accucteht
Posts: 5
Joined: Thu Mar 10, 2022 6:58 am

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

Post by accucteht »

Добрый день!
Пытаюсь разобраться с примером генератора ключей на дельфи.
В примере используется библиотека под 32-ю платформу KeyGen32.dll, при этом
функция генерации (VMProtectGenerateSerialNumber) возвращает результат 0, все ок.

Но при попытке пересобрать приложение под 64-ю платформу, используя соответственно KeyGen64.dll
функция VMProtectGenerateSerialNumber возвращает код ошибки 2 (UNSUPPORTED_NUMBER_OF_BITS).
Хотя данные что для 32 что для 64 битных сборок одни и те же, в примере 2048 бит.
Почему так?
Admin
Site Admin
Posts: 2566
Joined: Mon Aug 21, 2006 8:19 pm
Location: Russia, E-burg
Contact:

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

Post by Admin »

Можете прислать исходники и собранный проект в виде EXE и DLL?
accucteht
Posts: 5
Joined: Thu Mar 10, 2022 6:58 am

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

Post by accucteht »

Да конечно. Во вложении.
Last edited by accucteht on Thu Mar 10, 2022 11:13 am, edited 1 time in total.
Admin
Site Admin
Posts: 2566
Joined: Mon Aug 21, 2006 8:19 pm
Location: Russia, E-burg
Contact:

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

Post 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 тоже надо переделать
accucteht
Posts: 5
Joined: Thu Mar 10, 2022 6:58 am

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

Post by accucteht »

спасибо, сейчас попробую

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