Allowed copies of running application hardcoded into license key

Questions, downloads, issues related to plugins for Enigma Protector
Post Reply
Enigma
Site Admin
Posts: 2939
Joined: Wed Aug 20, 2008 2:24 pm

Allowed copies of running application hardcoded into license key

Post by Enigma »

This plugins performs a check, how many executed copies of the application is allowed to run by user.
Number of copies is hardcoded into registration key, using crypted sections.

Please note:
1. Application should be registered with the license key in order to run it
2. Current sources expect that Unicode registration scheme is used (option Registration Features - Common - Unicode should be used)
3. Option Checkup - Executed Copies should be enabled, but terminate option - disabled.

To hardcode allowed copies into registration key, represent the crypted sections as a 16 bit of the number.
Convert number of allowed copies to binary form, eg, number 10 in binary form (use windows calculator - programmer style) is 1010 in binary form. So to hardcode number 10 for this plugin, you need to enable sections 2 and 4.

If number of allowed copies exceeds the number hardcoded into the key, application silently exists.

Sources and binaries are here:
scrbin_x86.zip
You do not have the required permissions to view the files attached to this post.
sunlight
Posts: 8
Joined: Sat Mar 23, 2013 10:57 pm

Re: Allowed copies of running application hardcoded into license key

Post by sunlight »

Спасибо, полезный плагин. Проверил заявленный функционал, вроде работает.
Немного не удобно с binary в crypted sections, но жить можно.

Нужно еще добавить в описение что Allow executions only if registered - обязательный пункт, насколько я понял, из этого вытекает важный для меня вопрос:
Enigma wrote: Fri Jan 28, 2022 9:51 am 1. Application should be registered with the license key in order to run it
Сейчас работает так:
EP_CheckupCopies:
- total allowed copies 2
- number of running copies 3
Без лицензии не запускается вообще, запускается с лицензией, например на 3 копии, 4тая копия не запускается.

А можно ли доработать до такого:
Запускалось например 2 копии без лицензии, любых диалогов с лицензией и тд (значение можно взять например из "allow copies"), при старте третьей и больше появлялся диалог со вводом лицензии на 3 или больше копии, при старте 4 и более появлялся диалог со вводом новой лицензии на 4 или больше копии и так далее.

Это нужно для того чтобы не распространять несколько бинарных версий одного и того же приложения для пользователей и они ничего не вводили и не запрашивали лицензию, если им нужно пользоваться например всего лишь двумя копиями.
Enigma
Site Admin
Posts: 2939
Joined: Wed Aug 20, 2008 2:24 pm

Re: Allowed copies of running application hardcoded into license key

Post by Enigma »

sunlight wrote: Fri Jan 28, 2022 12:38 pm Без лицензии не запускается вообще, запускается с лицензией, например на 3 копии, 4тая копия не запускается.
Без лицензии не запускается, потому что количество копий находится в ключе, поэтому как без ключа запустить? Какое тогда считать количество копий?
sunlight wrote: Fri Jan 28, 2022 12:38 pm Запускалось например 2 копии без лицензии, любых диалогов с лицензией и тд (значение можно взять например из "allow copies"), при старте третьей и больше появлялся диалог со вводом лицензии на 3 или больше копии, при старте 4 и более появлялся диалог со вводом новой лицензии на 4 или больше копии и так далее.
Тут
srcbin1_x86.zip
You do not have the required permissions to view the files attached to this post.
sunlight
Posts: 8
Joined: Sat Mar 23, 2013 10:57 pm

Re: Allowed copies of running application hardcoded into license key

Post by sunlight »

Enigma wrote: Fri Jan 28, 2022 2:04 pm Без лицензии не запускается, потому что количество копий находится в ключе, поэтому как без ключа запустить? Какое тогда считать количество копий?
При инициализации и запуске приложения никак количество нельзя автоматом получить чтобы запускалось нужное количество копий без окна и ввода лицензии, из "allow copies", или захардкодить в исходниках плагина, если других вариантов нету?
sunlight wrote: Fri Jan 28, 2022 12:38 pmТут

Сейчас после ввода лицензии на 3 копии, 4тая копия открывается с диалогом ввода лицензии, но если нажать "close", "try" или "register" то открывается 4я и далее копия без ввода ключа. А должно по идее производиться "silently exists" или ошибка лицензии, в зависимости от нажатой кнопки.
Enigma
Site Admin
Posts: 2939
Joined: Wed Aug 20, 2008 2:24 pm

Re: Allowed copies of running application hardcoded into license key

Post by Enigma »

Скомпилируйте, пожалуйста, исходные коды в Delphi, добавьте нужный функционал, моя задача была сделать только основу для плагина, дальше кастомизируйте в своих нуждах.
sunlight
Posts: 8
Joined: Sat Mar 23, 2013 10:57 pm

Re: Allowed copies of running application hardcoded into license key

Post by sunlight »

Enigma wrote: Fri Jan 28, 2022 2:41 pm Скомпилируйте, пожалуйста, исходные коды в Delphi, добавьте нужный функционал, моя задача была сделать только основу для плагина, дальше кастомизируйте в своих нуждах.
Я правильно понимаю, что нужно:

Обойти описанную тут ситуацию с тем что Registration Dialog feature should be enabled, otherwise the dialog will not be shown. https://enigmaprotector.com/en/help/man ... 3e967c0353 с помощью "custom registration dialog" только без галочек.

Написать полностью функционал проверки лицензии, так как у нас теперь не работает встроенный функционал проверки лицензии вместе с отключенным " allow execution only if registered" (в примере только EP_RegistrationLoadKeyW, описание его не нашел, но скорей всего это проверка что существует ли лицензия и дальше идет парсинг ключа и его секция с количеством копий), валидная ли лицензия на этот hwid, на какое время она выдана и тд, я еще в процессе понимания как нужно правильно это описать.

Сделать то что я выше писал, разрешенное количество окон для всех (if EP_CheckupCopiesCurrent <= EP_CheckupCopiesTotal).

И еще что то до чего я пока не добрался..
sunlight
Posts: 8
Joined: Sat Mar 23, 2013 10:57 pm

Re: Allowed copies of running application hardcoded into license key

Post by sunlight »

Хоть я и не программист, вроде смог на дельфи дописать плагин под свои вышеописанные нужды.
Теперь можно запустить n копий без лицензии, где n указывается в проекте в секции check-up -> Executes Copies, также идет проверка валидности лицензии.

Количество лицензируемых копий нужно по прежнему указывать в crypted sections переводом DEC в BIN, как написано у автора в первом посту.

Обязательные условия, приведены для нового чистого проекта:
  • registration features -> common -> выбрать "UNICODE Registration Scheme"
  • registration features -> Registration Dialog -> выбрать "Use custom registration dialog"
  • registration features -> Registration Dialog -> убрать "Show if.."
  • check-up -> Executes Copies -> выбрать "Use limitation of count of..." затем выбрать желаемое количество окон, которые запустятся без лицензии "Allow copies:"
  • miscellaneous-> Plugins -> выбрать "keycopies.dll"

Опционально можно включить:
  • registration features -> Registration Dialog -> выбрать "Show message if key..."
Бинарник:
keycopies.zip

Проверял на Win98SE, все корректно работает... Единственное что столкнулся - почему то после протектора последней версии перестают работать MessageDlg (на этом месте приложение падает в protection fault), но все прекрасно работает на MessageBox.
You do not have the required permissions to view the files attached to this post.
Post Reply