Форум » » Trial-период системы » Ответить

Trial-период системы

votya4ok: Подскажите, как можно реализовать следующее: Нужно организовать некий trial-период работы системы, т.е. чтобы после истечения определенного времени, например, пары месяцев, контроллер перестал управлять компонентами системы. Если использовать Long Delay, то по наступлению времени срабатывания задержки достаточно же будет перезагрузить контроллер и таймер снова начнет отсчет? Нужно сделать так, чтобы вернуть систему в работоспособное состояние можно было лишь залив в контроллер программу, в которой нет "trial-периода". Спасибо.

Ответов - 25, стр: 1 2 All

Kaveckiy: votya4ok используйте Analog RAM + Analog Ramp + Feadback. И где-то пропишите возможность отключения триала по паролю (или продление на неделю-две-месяц).

Вячеслав: Если на SIMPL+ то можно по календарю контролировать через функцию DATE(2) с некоторой периодичностью. А чтоб дату не переводили проверять что текущая больше стартовой. Хотя функционал SIMPL+ для работы с временем и датой довольно убогий и рассчитать разницу между 2-мя точками времени с помощью него, надо будет немного потрудиться. Хотя, если NVRAM почистить можно опять будет продлить, поэтому trial интервал нельзя делать слишком большим, дабы гимор с перезагрузками и чистками NVRAM превышал стоимость неоплаченной работы. Можно защититься и от очистки NVRAM, проверяя записанную в нее не нулевую переменную с помощью специально подготовленного для этой цели аналогового джоина в режиме отладчика, если программу вы заливаете сами. Самое надежное через интернет активацию продлевать, но надо будет придумать алгоритм шифрования таких сообщений, да и вариант имеет ограничения, если контроллер без доступа к интернет. Хотя опять таки, все это от "честных людей" защита.

Kaveckiy: Вячеслав пишет: Хотя опять таки, все это от "честных людей" защита. Это защита от "недорогих пионеров". Которые готовы подбирать проблемные объекты. Как правило с квалификацией у них не очень. Видел библиотеки для работы Crestron с БД - можно написать код который будет конектится к БД и проверять записнную в нее переменную.


Igor: О, оказывается я - недорогой пионер :)

Kaveckiy: Igor я имел в виду что грамотный специалист защиту снимет, но он высоко ценит свои навыки и "за три копейки" не полезет снимать блокировку в чужой симтеме. У нас в последнее время появились "пионеры", которые где-то скачали курс essentials и возомнили себя гуру но с демпиногвыми ценами. Это как раз тот психотип, которые легко полезут в чудой проект "собрать крошки со стола". И которые могут не иметь должных навыков чтобы обойти подобного рода защиту.

votya4ok: Спасибо всем откликнувшимся. Я не скажу, что я "недорогой пионер", но это мой первый проект. Летом я проходил курс в московском крестроне, думаю, вы знаете содержание. Поэтому в специфических вещах требуется помощь гуру. В нашем кишлаке нет даже "недорогих пионеров", поэтому примитивной защиты вполне достаточно. Kaveckiy, могли бы вы немного подробнее описать этот способ? Возможность ввода пароля и продления триала не нужна, достаточно, чтобы система потеряла работоспособность через N дней.

Ale4ko: Раскроите пожалуйста бизнес модель продажи триальной системы. Как можно продать клиенту демо?

Kaveckiy: Ale4ko думаю имеется в виду защита программиста от не оплаты по окончании работ по программированию и закрытия доступа на объект. votya4ok да в целом все просто, скажем, раз в час (когда минуты в декодере времени будут равны нулю) вы увеличиваете значение Аналог Рамп на единицу. Значение храним в Аналог Рам чтобы не лечилось перегрузкой питания. Когда досчитает до критического значения (проверяем символом сравнения) - блокируем работу буферов, котопые пропускают через себя сигналы управления на исполнительные устройства. Могу наваять небольшой кусочек программы, но немного позже, сейчас очень загружен.

Igor: Бизнес-модель

votya4ok: Да, это защита от неоплаты. К сожалению, есть к этому предпосылки. Kaveckiy, буду очень признателен за небольшой кусочек программы)

Вячеслав:

p.vladi: На англоязычных форумах это обсуждали, пришли к выводу что самый лучший метод против кидания. (тут тоже кидать любят) самое главное что в контракте спрятать слова что типа что програма является демо до полной оплаты счётов

Chikalov: ... а потом за 3 копейки затираем NVRAM и ставим дату на 1 января 2007 года...

Igor: Chikalov, хочется верить, что никому из участников дискуссии ни на минуту не приходила в голову идея привязываться к бортовому времени контроллера.

Chikalov: Практика показывает, что чаще оставляют убитую версию проекта заказчику вместо залитого на проц.

Вячеслав: Почему бы и не к бортовому. Ведь доступа к интернету может и не быть. Просто поставил защиту от отката времени. Можно легко и NVRAM защитить, как писал выше. Но автор сказал там колхоз и до очистки NVRAM никто не догадается.

Igor: Вячеслав, если защита от отката времени не внутри Вашего модуля, содержимое которого, понятное дело, есть ноу-хау, то как Вы ее организуете?

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

DmitriiP: Chikalov пишет: ... а потом за 3 копейки затираем NVRAM а в чём проблемма сделать NON VOLATILE S+ модуль с Analog или Serial IN KEY в купе с такимже PARAMETER (который сверяет их) и на выходе DIGITAL_OUTPUT NVRAM_protected забиваета в пареметр ключ, после заливки, через debuger вставляете тотже ключ в Serial IN который потом какраз в NVRAM и хранится. При очистке NVRAM ключ слетает ну и .... простенький trial (как я вижу) выгядет следующим образом 1) защита от очистки NVRAM выше 2) защита от сброса времени (переводите дату куда угодно): бональный NVRAM счётчик (+1) дней предложения как это обойти?

Chikalov: 1) Делаем резервную копию NVRAM. 2) Очищать NVRAM выборочно. Методом тыка находим ключ. Очищаем все кроме ключа в NVRAM. 3) Переводим дату... и т.д.

DmitriiP: а кто мешает объяденить ключ от стирания и таймер, в один NVRAM с бональным генеририрование этого ключа (через битовое кодирование по вкусу) каждый день. будете каждый день стирать NVRAM и востанавливать? ну найдёте вы этот ключ когда система уже вышла из триал, дальше что? сотрёте нихрена не работает, по какой логике сбросить таймер в этом наборе хлама тоже непонятно я идею предложил, а как её развить ....

Chikalov: "Ave novie-nostra ales". Если один человек построил - другой завсегда разобрать может...

DmitriiP: Ну если комуто будет интересно на это тратить своё время, не смотря на то что это заведомо бесплатно :) то почему бы и нет... Варианты развития ситуации: 0) "недорогой пионер" хрен разберётся в этой каше (не все хакеры со стажем) 1) "недорогой пионер" полный альтруист , тратит время и объясняет как заказчику самому раз n период сбрасывать систему (бесплатно) 2) "недорогой пионер", но постоянный, обслуживает систему и всё время сбрасывает таймеры (пока какуюто из сторон это не зае....) 3) "недорогой пионер" потратит своё время, его также кинут и подумают о "а не заплатить ли всётаки тому кто сделал?" P.S. для большего веселья суёте таких 9 модулей с разыми ключами и один с чуть другим кодированием.... пусть разбирают :))) P.S.2 и капельку жестокости, пускаете процессор в ребут через 5 мин при старте программы если ключи сброшены или некоректны

Вячеслав: Разве можно NVRAM выборочно очищать?

Chikalov: Вячеслав пишет: Разве можно NVRAM выборочно очищать? Очистить нет, а вот слить, изменить и залить обратно можно.



полная версия страницы