Вопрос по правильной организации защиты
Posted: Mon Jun 29, 2020 11:08 pm
Привет всем.
Мы разрабатываем научное приложение, которые читает входные файлы со скриптами lua (которые запакованы в свой формат), затем этими скриптами обрабатывает некоторые данные.
Сами скрипты пишем и упаковываем в некоторый кастомный бинарный формат мы сами. Далее мы поставляем наше приложение клиентам и они покупают лицензию на некоторое количество скриптов. Часть скриптов идет бесплатно.
Т.е. у нас есть 5 бинарных файлов со скриптами lua:
расчет_1.bin - бесплатный
расчет_2.bin - платный
расчет_3.bin - бесплатный
расчет_4.bin - платный
расчет_5.bin - бесплатный
Сейчас у нас в приложении есть одинаковые части для бесплатной и платной версии:
1. чтение файла со скриптами *.bin - 300 строк кода на плюсах
2. выполнение самого скрипта - 2000 строк кода на плюсах
Напомню важный момент, мы хотим чтобы часть скриптов была бесплатна.
Я вижу 2 варианта защиты:
Вариант 1.
Защитить блок чтения файла и выполнения самого скрипта, но при этом для бесплатных продуктов нам тоже нужно будет активировать серийный номер, что вносит ощутимые сложности. Нам нужно формировать ключ все время даже для бесплатных продуктов. Если пользователь пользуется бесплатной часть, а потом хочет платной, то нам нужно будет выгружать бесплатный ключ, а затем загружать платный.
Вариант 2.
Сделать ощутимо различный формат хранения бесплатных и платных скриптов и защитить только блок чтения платных скриптов. В этом случае бесплатные продукты будут работать без ключей, а в платных будет защищена секция чтения.
Как вы считаете, достаточно ли будет защищено приложение если реализовать Вариант 2?
P.S. Защищать сами скрипты необходимости нет, нужно только защитить работу с бинарными файлами, которые хранят сами скрипты.
P.S.S. Если что-то описал недостаточно понятно, задавайте вопросы, постараюсь дать больше деталей.
Мы разрабатываем научное приложение, которые читает входные файлы со скриптами lua (которые запакованы в свой формат), затем этими скриптами обрабатывает некоторые данные.
Сами скрипты пишем и упаковываем в некоторый кастомный бинарный формат мы сами. Далее мы поставляем наше приложение клиентам и они покупают лицензию на некоторое количество скриптов. Часть скриптов идет бесплатно.
Т.е. у нас есть 5 бинарных файлов со скриптами lua:
расчет_1.bin - бесплатный
расчет_2.bin - платный
расчет_3.bin - бесплатный
расчет_4.bin - платный
расчет_5.bin - бесплатный
Сейчас у нас в приложении есть одинаковые части для бесплатной и платной версии:
1. чтение файла со скриптами *.bin - 300 строк кода на плюсах
2. выполнение самого скрипта - 2000 строк кода на плюсах
Напомню важный момент, мы хотим чтобы часть скриптов была бесплатна.
Я вижу 2 варианта защиты:
Вариант 1.
Защитить блок чтения файла и выполнения самого скрипта, но при этом для бесплатных продуктов нам тоже нужно будет активировать серийный номер, что вносит ощутимые сложности. Нам нужно формировать ключ все время даже для бесплатных продуктов. Если пользователь пользуется бесплатной часть, а потом хочет платной, то нам нужно будет выгружать бесплатный ключ, а затем загружать платный.
Вариант 2.
Сделать ощутимо различный формат хранения бесплатных и платных скриптов и защитить только блок чтения платных скриптов. В этом случае бесплатные продукты будут работать без ключей, а в платных будет защищена секция чтения.
Как вы считаете, достаточно ли будет защищено приложение если реализовать Вариант 2?
P.S. Защищать сами скрипты необходимости нет, нужно только защитить работу с бинарными файлами, которые хранят сами скрипты.
P.S.S. Если что-то описал недостаточно понятно, задавайте вопросы, постараюсь дать больше деталей.