Как смешать "предел количества записей" в логике программы для пробной версии

Есть ли у вас какие-либо идеи по внедрению ограничения на количество записей для пробной версии программного обеспечения?

  1. Предположим, что это программа управления задачами;
  2. Пробная версия и полная версия являются отдельными загрузками;
  3. в пробной версии я хочу ограничить макс. количество заданий, разрешенных для пользователей.

Мой вопрос: покажите, как применить этот "предел количества задач" в логике основной программы, чтобы его нельзя было легко обойти? Например, очевидно, что следующий код можно легко обойти:

if (varTotalTaskCount > 20)
{
  ShowMessage("This is a trial version and you can create up to 20 tasks only");
  return false;
}

Есть идеи? Спасибо!

2 ответа

Решение

Я был бы злым и сделал бы что-то вроде этого:

В полной версии используйте массив / список / и т.д. без ограничений.
В пробной версии используйте статический массив / список / и т. Д. Указанного размера и не проверяйте границы. Также в пробную версию добавьте предложенный вами код, который легко обойти.

Это будет означать, что он не потерпит крах, если присутствует проверка максимального лимита, но потерпит крах, если взломщики уберут проверку. Труднее исправить код, когда он содержит много ошибок.

Наконец, я не рекомендую кодировать таким образом, но если бы я хотел сделать его как можно более сложным для взломщиков, не прибегая к типу защиты клиент-сервер, то это то, что я бы сделал.

Ну определись "легко";)

Если это написано на интерпретируемом языке (например, PHP), тогда вам лучше всего будет запутывать код.

Скомпилированные программы позволяют лучше скрыть эту логику (например, с помощью самоизменяющегося кода или выполнения различных вычислений для расчета предела задачи), но в конце концов вам все равно придется принять решение "пробный или нет".

В конце концов, если кто-то захочет взломать вашу программу, он это сделает.

Другие вопросы по тегам