Добрый день!
Пытаюсь разобраться с примером генератора ключей на дельфи.
В примере используется библиотека под 32-ю платформу KeyGen32.dll, при этом
функция генерации (VMProtectGenerateSerialNumber) возвращает результат 0, все ок.
Но при попытке пересобрать приложение под 64-ю платформу, используя соответственно KeyGen64.dll
функция VMProtectGenerateSerialNumber возвращает код ошибки 2 (UNSUPPORTED_NUMBER_OF_BITS).
Хотя данные что для 32 что для 64 битных сборок одни и те же, в примере 2048 бит.
Почему так?
Генератор ключей
Re: Генератор ключей
Можете прислать исходники и собранный проект в виде EXE и DLL?
Re: Генератор ключей
Да конечно. Во вложении.
Last edited by accucteht on Thu Mar 10, 2022 11:13 am, edited 1 time in total.
Re: Генератор ключей
Проблема в описании структуры VMProtectProductInfo.
В Сишном файле она выглядит так:
Сишный size_t - это дельфовый NativeInt, т.е. структура должна выглядеть так:
P.S. VMProtectSerialNumberInfo тоже надо переделать
В Сишном файле она выглядит так:
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;
};
Code: Select all
VMProtectProductInfo = packed record
algorithm: Longword;
nBits: NativeInt;
nPrivateSize: NativeInt;
pPrivate: PByte;
nModulusSize: NativeInt;
pModulus: PByte;
nProductCodeSize: NativeInt;
pProductCode: PByte;
end;
Re: Генератор ключей
спасибо, сейчас попробую
upd:
Да подправил структуру и все работает! Благодарю за помощь.
upd:
Да подправил структуру и все работает! Благодарю за помощь.