WebLM и продукты

Добрый день

  1. в сервере лицензии при создании нового продукта есть выбор режима генератора
    подскажите в чем отличие
    и что такое дополнительные активации
    искал в документации на сайте ничего подобного не нашел

  2. привязка к id компьютера - перестановка системы без изменения конфигурации компьютера меняется ли id?
    нужен ли при этом конечному пользователю другой лицензионный ключ?

  1. в сервере лицензии при создании нового продукта есть выбор режима генератора
    подскажите в чем отличие

Режим генератора задает что будет генерировать кейген - или серийные номера или коды активации.

и что такое дополнительные активации

Дополнительные активации используются при генерации кода активации. Общее количество активации в коде = (1 + EXTRA_ACTIVATIONS) * QUANTITY

  1. привязка к id компьютера - перестановка системы без изменения конфигурации компьютера меняется ли id?

Скорее всего нет.

нужен ли при этом конечному пользователю другой лицензионный ключ?

Если внутри HWID изменится 2 идентификатора и больше, то нужен новый ключ.

К примеру, пользователь установил ПО, защищеное VMProtect и запросил у меня код активации. Я через WebLM этот код создаю и сообщаю его пользователю. А как программа узнает что этот код валидный? Что он зарегестрирован на Василия Ивановича Пупкина с е-майлом pupkin@mail.ru?

Я через WebLM этот код создаю и сообщаю его пользователю. А как программа узнает что этот код валидный?

VMProtectActivateLicense + VMProtectSetSerialNumber

Что он зарегестрирован на Василия Ивановича Пупкина с е-майлом > pupkin@mail.ru> ?

VMProtectGetSerialNumberData

Настроил WebLM, теперь запрос к ней по формату

http://weblm.test.ru/keygen.php?productid=2&customeremail=<CUSTOMER_EMAIL>&customername=<CUSTOMER_NAME>&companyname=<COMPANY_NAME>&quantity=<QUANTITY>&orderref=<ORDER_ID>

создает на сайте в базе коды активации, но при попытке активировать такой код в приложении и получить серийник функция VMProtectActivateLicense выдает ошибку 6, т.е. ACTIVATION_BAD_CODE, хотя код активации введен без каких-либо ошибок, в опциях проекта VMProtect сервер активации указан тот же, что используется при генерации кода (http://weblm.test.ru).

И почему-то в поле Name кода активации попадает реквизит запроса <COMPANY_NAME>, а не <CUSTOMER_NAME>. Так и должно быть?

Причина ACTIVATION_BAD_CODE в том, что вы в своем приложении используете продукт, который отличается от продукта из кода активации (разные параметры лицензирования). Вам нужно либо экспортировать продукт из вашего VMP в WebLM и затем создать код активации для этого продукта, либо обратно импортировать нужный продукт из WebLM и использовать полученный VMP в качестве параметров лицензирования в VMProtect.

Про <COMPANY_NAME> не понял вопроса.

Я правильно понимаю что для этого нужно экспортировать ключ для keygen.php

и вставить его в файл keygen.php в WebLM?





В коде запроса из приложения customername=Bubba Smith

а при генереции кода активации в WebLM в поле Name попадает companyname:

Я правильно понимаю что для этого нужно экспортировать ключ для keygen.php

Нет. Речь идет про штатный функционал WebLM:
http://weblm.vmpsoft.com/help/importingexporting_a_product.htm

Еще вот тут почитайте:

и вставить его в файл keygen.php в WebLM?

Забудьте про keygen.php - это рыба для вашего собственного кейгена.

P.S. Шаблоны типа “PayPro / Plimus” заточены под самые популярные платежные системы - платежная система при покупке сама заполняет параметры типа <CUSTOMER_NAME>, <COMPANY_NAME> и затем дергает заполненный URL. Если у вас на стороне платежной системы будет что-то свое, то должны будете сами заполнить все значения полей в шаблоне.

Спасибо, почитал, вроде понял. Взял файл .vmp из тестового проекта и в WebLM в секции “Продукты” сделал Импорт Продукта из этого файла. Появился новый продукт Product #3, правда вместо кода активации запрос к keygen.php стал выдавать серийные номера, но в WebLM зашел в редактирование продукта и поменял “Режим генератора” на “Коды активации”, keygen.php стал выдавать коды активации нужного формата, но их активация функцией VMProtectActivateLicense все равно приводит к ошибке 6.

Что-то я не вижу никакого “Product#3” на нашем тестовом сервере.

Я делаю на своем сервере. Сейчас закину на ваш.

Вы уже приобретали WebLM?

Да, конечно.

Импортировался Product #2984

И что у вас не получается?

Сгенерировал код активации из ПО - 4V7J-WHZZ-JAPY.
Пытаюсь тепрь его активировать, получить серийный номер, а выскакивает ошибка ‘Activation error: 6’. Может я чего-то недопонимаю, но ожидаю что в WebLM появится серийник для активируемой копии ПО, я его получу и выведу в edSerialNumber.Text

procedure TForm1.btActivateClick(Sender: TObject);
var
	Buf:		array [0..1023] of AnsiChar;
	State:	Integer;
begin
	if Trim(edActivationCode.Text) = '' then Exit;

	State := VMProtectActivateLicense(PAnsiChar(Trim(edActivationCode.Text)), Buf, SizeOf(Buf));
  
  if State=0 then
		edSerialNumber.Text := Buf
	else
		MessageDlg(Format('Activation error: %d',[State]),mtError,[mbOk],0);
    
end;

Сгенерировал код активации из ПО - 4V7J-WHZZ-JAPY.
Пытаюсь тепрь его активировать, получить серийный номер, а выскакивает ошибка ‘Activation error: 6’. Может я чего-то недопонимаю, но ожидаю что в WebLM появится серийник для активируемой копии ПО, я его получу и выведу в edSerialNumber.Text

Теперь обработайте программу VMProtect-ом и запустите.

Я и так в уже обработаной все манипуляции делаю.

State := VMProtectActivateLicense(PAnsiChar(Trim(edActivationCode.Text)), Buf, SizeOf(Buf));

Преобразование к AnsiString забыли: AnsiString(edActivationCode.Text)

Точно. Только подумал что проблема в преобразованиях типов и на сервер приходит не то, что ожидается. Спасибо!

Возник следующий вопрос - возможно ли получить из WebLM информацию по коду активации:

  1. Сколько активаций доступно.
  2. На каких рабочих местах осуществлены активации - имя компьютера и дата активации.

Эти сведения надо отображать в личном кабинете пользователя, т.е. обработать и вывести данные не проблема, достаточно получить их в любом удобоваримом формате подобным запросом

http://weblm.test.ru/ keyinfo.php?key=<ACTIVATION_CODE>