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:
Allowed copies of running application hardcoded into license key
Allowed copies of running application hardcoded into license key
You do not have the required permissions to view the files attached to this post.
Re: Allowed copies of running application hardcoded into license key
Спасибо, полезный плагин. Проверил заявленный функционал, вроде работает.
Немного не удобно с binary в crypted sections, но жить можно.
Нужно еще добавить в описение что Allow executions only if registered - обязательный пункт, насколько я понял, из этого вытекает важный для меня вопрос:
EP_CheckupCopies:
- total allowed copies 2
- number of running copies 3
Без лицензии не запускается вообще, запускается с лицензией, например на 3 копии, 4тая копия не запускается.
А можно ли доработать до такого:
Запускалось например 2 копии без лицензии, любых диалогов с лицензией и тд (значение можно взять например из "allow copies"), при старте третьей и больше появлялся диалог со вводом лицензии на 3 или больше копии, при старте 4 и более появлялся диалог со вводом новой лицензии на 4 или больше копии и так далее.
Это нужно для того чтобы не распространять несколько бинарных версий одного и того же приложения для пользователей и они ничего не вводили и не запрашивали лицензию, если им нужно пользоваться например всего лишь двумя копиями.
Немного не удобно с binary в crypted sections, но жить можно.
Нужно еще добавить в описение что Allow executions only if registered - обязательный пункт, насколько я понял, из этого вытекает важный для меня вопрос:
Сейчас работает так:
EP_CheckupCopies:
- total allowed copies 2
- number of running copies 3
Без лицензии не запускается вообще, запускается с лицензией, например на 3 копии, 4тая копия не запускается.
А можно ли доработать до такого:
Запускалось например 2 копии без лицензии, любых диалогов с лицензией и тд (значение можно взять например из "allow copies"), при старте третьей и больше появлялся диалог со вводом лицензии на 3 или больше копии, при старте 4 и более появлялся диалог со вводом новой лицензии на 4 или больше копии и так далее.
Это нужно для того чтобы не распространять несколько бинарных версий одного и того же приложения для пользователей и они ничего не вводили и не запрашивали лицензию, если им нужно пользоваться например всего лишь двумя копиями.
Re: Allowed copies of running application hardcoded into license key
Без лицензии не запускается, потому что количество копий находится в ключе, поэтому как без ключа запустить? Какое тогда считать количество копий?
Тутsunlight wrote: ↑Fri Jan 28, 2022 12:38 pm Запускалось например 2 копии без лицензии, любых диалогов с лицензией и тд (значение можно взять например из "allow copies"), при старте третьей и больше появлялся диалог со вводом лицензии на 3 или больше копии, при старте 4 и более появлялся диалог со вводом новой лицензии на 4 или больше копии и так далее.
You do not have the required permissions to view the files attached to this post.
Re: Allowed copies of running application hardcoded into license key
При инициализации и запуске приложения никак количество нельзя автоматом получить чтобы запускалось нужное количество копий без окна и ввода лицензии, из "allow copies", или захардкодить в исходниках плагина, если других вариантов нету?
Сейчас после ввода лицензии на 3 копии, 4тая копия открывается с диалогом ввода лицензии, но если нажать "close", "try" или "register" то открывается 4я и далее копия без ввода ключа. А должно по идее производиться "silently exists" или ошибка лицензии, в зависимости от нажатой кнопки.
Re: Allowed copies of running application hardcoded into license key
Скомпилируйте, пожалуйста, исходные коды в Delphi, добавьте нужный функционал, моя задача была сделать только основу для плагина, дальше кастомизируйте в своих нуждах.
Re: Allowed copies of running application hardcoded into license key
Я правильно понимаю, что нужно:
Обойти описанную тут ситуацию с тем что 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).
И еще что то до чего я пока не добрался..
Re: Allowed copies of running application hardcoded into license key
Хоть я и не программист, вроде смог на дельфи дописать плагин под свои вышеописанные нужды.
Теперь можно запустить n копий без лицензии, где n указывается в проекте в секции check-up -> Executes Copies, также идет проверка валидности лицензии.
Количество лицензируемых копий нужно по прежнему указывать в crypted sections переводом DEC в BIN, как написано у автора в первом посту.
Обязательные условия, приведены для нового чистого проекта:
Опционально можно включить:
Проверял на Win98SE, все корректно работает... Единственное что столкнулся - почему то после протектора последней версии перестают работать MessageDlg (на этом месте приложение падает в protection fault), но все прекрасно работает на MessageBox.
Теперь можно запустить 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..."
Проверял на Win98SE, все корректно работает... Единственное что столкнулся - почему то после протектора последней версии перестают работать MessageDlg (на этом месте приложение падает в protection fault), но все прекрасно работает на MessageBox.
You do not have the required permissions to view the files attached to this post.